UNPKG

164 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.esm.js","sources":["../../../dist-es5/wrap/src/generateProxyingResolvers.js","../../../dist-es5/wrap/src/wrapSchema.js","../../../dist-es5/wrap/src/transforms/RenameTypes.js","../../../dist-es5/wrap/src/transforms/FilterTypes.js","../../../dist-es5/wrap/src/transforms/RenameRootTypes.js","../../../dist-es5/wrap/src/transforms/TransformCompositeFields.js","../../../dist-es5/wrap/src/transforms/TransformObjectFields.js","../../../dist-es5/wrap/src/transforms/TransformRootFields.js","../../../dist-es5/wrap/src/transforms/RenameRootFields.js","../../../dist-es5/wrap/src/transforms/FilterRootFields.js","../../../dist-es5/wrap/src/transforms/RenameObjectFields.js","../../../dist-es5/wrap/src/transforms/FilterObjectFields.js","../../../dist-es5/wrap/src/transforms/TransformInterfaceFields.js","../../../dist-es5/wrap/src/transforms/RenameInterfaceFields.js","../../../dist-es5/wrap/src/transforms/FilterInterfaceFields.js","../../../dist-es5/wrap/src/transforms/TransformInputObjectFields.js","../../../dist-es5/wrap/src/transforms/RenameInputObjectFields.js","../../../dist-es5/wrap/src/transforms/FilterInputObjectFields.js","../../../dist-es5/wrap/src/transforms/MapLeafValues.js","../../../dist-es5/wrap/src/transforms/TransformEnumValues.js","../../../dist-es5/wrap/src/transforms/TransformQuery.js","../../../dist-es5/wrap/src/transforms/FilterObjectFieldDirectives.js","../../../dist-es5/wrap/src/transforms/RemoveObjectFieldDirectives.js","../../../dist-es5/wrap/src/transforms/RemoveObjectFieldsWithDirective.js","../../../dist-es5/wrap/src/transforms/RemoveObjectFieldDeprecations.js","../../../dist-es5/wrap/src/transforms/RemoveObjectFieldsWithDeprecation.js","../../../dist-es5/wrap/src/transforms/MapFields.js","../../../dist-es5/wrap/src/transforms/ExtendSchema.js","../../../dist-es5/wrap/src/transforms/PruneSchema.js","../../../dist-es5/wrap/src/transforms/WrapFields.js","../../../dist-es5/wrap/src/transforms/WrapType.js","../../../dist-es5/wrap/src/transforms/HoistField.js","../../../dist-es5/wrap/src/transforms/WrapQuery.js","../../../dist-es5/wrap/src/transforms/ExtractField.js","../../../dist-es5/wrap/src/makeRemoteExecutableSchema.js","../../../node_modules/@ardatan/aggregate-error/index.esm.js","../../../dist-es5/wrap/src/introspect.js"],"sourcesContent":["import { getResponseKeyFromInfo, getErrors, applySchemaTransforms } from '@graphql-tools/utils';\nimport { delegateToSchema, getSubschema, handleResult, isSubschemaConfig, } from '@graphql-tools/delegate';\nexport function generateProxyingResolvers(subschemaOrSubschemaConfig, transforms) {\n var _a;\n var targetSchema;\n var schemaTransforms = [];\n var createProxyingResolver;\n if (isSubschemaConfig(subschemaOrSubschemaConfig)) {\n targetSchema = subschemaOrSubschemaConfig.schema;\n createProxyingResolver = (_a = subschemaOrSubschemaConfig.createProxyingResolver) !== null && _a !== void 0 ? _a : defaultCreateProxyingResolver;\n if (subschemaOrSubschemaConfig.transforms != null) {\n schemaTransforms = schemaTransforms.concat(subschemaOrSubschemaConfig.transforms);\n }\n }\n else {\n targetSchema = subschemaOrSubschemaConfig;\n createProxyingResolver = defaultCreateProxyingResolver;\n }\n if (transforms != null) {\n schemaTransforms = schemaTransforms.concat(transforms);\n }\n var transformedSchema = applySchemaTransforms(targetSchema, schemaTransforms);\n var operationTypes = {\n query: targetSchema.getQueryType(),\n mutation: targetSchema.getMutationType(),\n subscription: targetSchema.getSubscriptionType(),\n };\n var resolvers = {};\n Object.keys(operationTypes).forEach(function (operation) {\n var rootType = operationTypes[operation];\n if (rootType != null) {\n var typeName_1 = rootType.name;\n var fields = rootType.getFields();\n resolvers[typeName_1] = {};\n Object.keys(fields).forEach(function (fieldName) {\n var proxyingResolver = createProxyingResolver({\n schema: subschemaOrSubschemaConfig,\n transforms: transforms,\n transformedSchema: transformedSchema,\n operation: operation,\n fieldName: fieldName,\n });\n var finalResolver = createPossiblyNestedProxyingResolver(subschemaOrSubschemaConfig, proxyingResolver);\n if (operation === 'subscription') {\n resolvers[typeName_1][fieldName] = {\n subscribe: finalResolver,\n resolve: function (payload, _, __, _a) {\n var targetFieldName = _a.fieldName;\n return payload[targetFieldName];\n },\n };\n }\n else {\n resolvers[typeName_1][fieldName] = {\n resolve: finalResolver,\n };\n }\n });\n }\n });\n return resolvers;\n}\nfunction createPossiblyNestedProxyingResolver(subschemaOrSubschemaConfig, proxyingResolver) {\n return function (parent, args, context, info) {\n if (parent != null) {\n var responseKey = getResponseKeyFromInfo(info);\n var errors = getErrors(parent, responseKey);\n // Check to see if the parent contains a proxied result\n if (errors != null) {\n var subschema = getSubschema(parent, responseKey);\n // If there is a proxied result from this subschema, return it\n // This can happen even for a root field when the root type ia\n // also nested as a field within a different type.\n if (subschemaOrSubschemaConfig === subschema && parent[responseKey] !== undefined) {\n return handleResult(parent[responseKey], errors, subschema, context, info);\n }\n }\n }\n return proxyingResolver(parent, args, context, info);\n };\n}\nexport function defaultCreateProxyingResolver(_a) {\n var schema = _a.schema, operation = _a.operation, transforms = _a.transforms, transformedSchema = _a.transformedSchema;\n return function (_parent, _args, context, info) {\n return delegateToSchema({\n schema: schema,\n operation: operation,\n context: context,\n info: info,\n transforms: transforms,\n transformedSchema: transformedSchema,\n });\n };\n}\n//# sourceMappingURL=generateProxyingResolvers.js.map","import { __assign } from \"tslib\";\nimport { GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, } from 'graphql';\nimport { MapperKind, mapSchema, applySchemaTransforms } from '@graphql-tools/utils';\nimport { isSubschemaConfig, defaultMergedResolver } from '@graphql-tools/delegate';\nimport { generateProxyingResolvers } from './generateProxyingResolvers';\nexport function wrapSchema(subschemaOrSubschemaConfig, transforms) {\n var targetSchema;\n var schemaTransforms = [];\n if (isSubschemaConfig(subschemaOrSubschemaConfig)) {\n targetSchema = subschemaOrSubschemaConfig.schema;\n if (subschemaOrSubschemaConfig.transforms != null) {\n schemaTransforms = schemaTransforms.concat(subschemaOrSubschemaConfig.transforms);\n }\n }\n else {\n targetSchema = subschemaOrSubschemaConfig;\n }\n if (transforms != null) {\n schemaTransforms = schemaTransforms.concat(transforms);\n }\n var proxyingResolvers = generateProxyingResolvers(subschemaOrSubschemaConfig, transforms);\n var schema = createWrappingSchema(targetSchema, proxyingResolvers);\n return applySchemaTransforms(schema, schemaTransforms);\n}\nfunction createWrappingSchema(schema, proxyingResolvers) {\n var _a;\n return mapSchema(schema, (_a = {},\n _a[MapperKind.ROOT_OBJECT] = function (type) {\n var config = type.toConfig();\n var fieldConfigMap = config.fields;\n Object.keys(fieldConfigMap).forEach(function (fieldName) {\n fieldConfigMap[fieldName] = __assign(__assign({}, fieldConfigMap[fieldName]), proxyingResolvers[type.name][fieldName]);\n });\n return new GraphQLObjectType(config);\n },\n _a[MapperKind.OBJECT_TYPE] = function (type) {\n var config = type.toConfig();\n config.isTypeOf = undefined;\n Object.keys(config.fields).forEach(function (fieldName) {\n config.fields[fieldName].resolve = defaultMergedResolver;\n config.fields[fieldName].subscribe = null;\n });\n return new GraphQLObjectType(config);\n },\n _a[MapperKind.INTERFACE_TYPE] = function (type) {\n var config = type.toConfig();\n delete config.resolveType;\n return new GraphQLInterfaceType(config);\n },\n _a[MapperKind.UNION_TYPE] = function (type) {\n var config = type.toConfig();\n delete config.resolveType;\n return new GraphQLUnionType(config);\n },\n _a));\n}\n//# sourceMappingURL=wrapSchema.js.map","import { __assign } from \"tslib\";\nimport { Kind, isScalarType, isSpecifiedScalarType, visit, } from 'graphql';\nimport { MapperKind, mapSchema, visitData, renameType, } from '@graphql-tools/utils';\nvar RenameTypes = /** @class */ (function () {\n function RenameTypes(renamer, options) {\n this.renamer = renamer;\n this.map = Object.create(null);\n this.reverseMap = Object.create(null);\n var _a = options != null ? options : {}, _b = _a.renameBuiltins, renameBuiltins = _b === void 0 ? false : _b, _c = _a.renameScalars, renameScalars = _c === void 0 ? true : _c;\n this.renameBuiltins = renameBuiltins;\n this.renameScalars = renameScalars;\n }\n RenameTypes.prototype.transformSchema = function (originalSchema) {\n var _a;\n var _this = this;\n return mapSchema(originalSchema, (_a = {},\n _a[MapperKind.TYPE] = function (type) {\n if (isSpecifiedScalarType(type) && !_this.renameBuiltins) {\n return undefined;\n }\n if (isScalarType(type) && !_this.renameScalars) {\n return undefined;\n }\n var oldName = type.name;\n var newName = _this.renamer(oldName);\n if (newName !== undefined && newName !== oldName) {\n _this.map[oldName] = newName;\n _this.reverseMap[newName] = oldName;\n return renameType(type, newName);\n }\n },\n _a[MapperKind.ROOT_OBJECT] = function () {\n return undefined;\n },\n _a));\n };\n RenameTypes.prototype.transformRequest = function (originalRequest) {\n var _a;\n var _this = this;\n var document = visit(originalRequest.document, (_a = {},\n _a[Kind.NAMED_TYPE] = function (node) {\n var name = node.name.value;\n if (name in _this.reverseMap) {\n return __assign(__assign({}, node), { name: {\n kind: Kind.NAME,\n value: _this.reverseMap[name],\n } });\n }\n },\n _a));\n return __assign(__assign({}, originalRequest), { document: document });\n };\n RenameTypes.prototype.transformResult = function (result) {\n var _this = this;\n return __assign(__assign({}, result), { data: visitData(result.data, function (object) {\n var typeName = object === null || object === void 0 ? void 0 : object.__typename;\n if (typeName != null && typeName in _this.map) {\n object.__typename = _this.map[typeName];\n }\n return object;\n }) });\n };\n return RenameTypes;\n}());\nexport default RenameTypes;\n//# sourceMappingURL=RenameTypes.js.map","import { mapSchema, MapperKind } from '@graphql-tools/utils';\nvar FilterTypes = /** @class */ (function () {\n function FilterTypes(filter) {\n this.filter = filter;\n }\n FilterTypes.prototype.transformSchema = function (schema) {\n var _a;\n var _this = this;\n return mapSchema(schema, (_a = {},\n _a[MapperKind.TYPE] = function (type) {\n if (_this.filter(type)) {\n return undefined;\n }\n return null;\n },\n _a));\n };\n return FilterTypes;\n}());\nexport default FilterTypes;\n//# sourceMappingURL=FilterTypes.js.map","import { __assign } from \"tslib\";\nimport { visit, Kind } from 'graphql';\nimport { MapperKind, mapSchema, renameType, visitData, } from '@graphql-tools/utils';\nvar RenameRootTypes = /** @class */ (function () {\n function RenameRootTypes(renamer) {\n this.renamer = renamer;\n this.map = Object.create(null);\n this.reverseMap = Object.create(null);\n }\n RenameRootTypes.prototype.transformSchema = function (originalSchema) {\n var _a;\n var _this = this;\n return mapSchema(originalSchema, (_a = {},\n _a[MapperKind.ROOT_OBJECT] = function (type) {\n var oldName = type.name;\n var newName = _this.renamer(oldName);\n if (newName !== undefined && newName !== oldName) {\n _this.map[oldName] = newName;\n _this.reverseMap[newName] = oldName;\n return renameType(type, newName);\n }\n },\n _a));\n };\n RenameRootTypes.prototype.transformRequest = function (originalRequest) {\n var _a;\n var _this = this;\n var document = visit(originalRequest.document, (_a = {},\n _a[Kind.NAMED_TYPE] = function (node) {\n var name = node.name.value;\n if (name in _this.reverseMap) {\n return __assign(__assign({}, node), { name: {\n kind: Kind.NAME,\n value: _this.reverseMap[name],\n } });\n }\n },\n _a));\n return __assign(__assign({}, originalRequest), { document: document });\n };\n RenameRootTypes.prototype.transformResult = function (result) {\n var _this = this;\n return __assign(__assign({}, result), { data: visitData(result.data, function (object) {\n var typeName = object === null || object === void 0 ? void 0 : object.__typename;\n if (typeName != null && typeName in _this.map) {\n object.__typename = _this.map[typeName];\n }\n return object;\n }) });\n };\n return RenameRootTypes;\n}());\nexport default RenameRootTypes;\n//# sourceMappingURL=RenameRootTypes.js.map","import { __assign } from \"tslib\";\nimport { TypeInfo, visit, visitWithTypeInfo, Kind, } from 'graphql';\nimport { MapperKind, mapSchema, visitData } from '@graphql-tools/utils';\nvar TransformCompositeFields = /** @class */ (function () {\n function TransformCompositeFields(fieldTransformer, fieldNodeTransformer, dataTransformer, errorsTransformer) {\n this.fieldTransformer = fieldTransformer;\n this.fieldNodeTransformer = fieldNodeTransformer;\n this.dataTransformer = dataTransformer;\n this.errorsTransformer = errorsTransformer;\n this.mapping = {};\n }\n TransformCompositeFields.prototype.transformSchema = function (originalSchema) {\n var _a;\n var _this = this;\n this.transformedSchema = mapSchema(originalSchema, (_a = {},\n _a[MapperKind.COMPOSITE_FIELD] = function (fieldConfig, fieldName, typeName) {\n var transformedField = _this.fieldTransformer(typeName, fieldName, fieldConfig);\n if (Array.isArray(transformedField)) {\n var newFieldName = transformedField[0];\n if (newFieldName !== fieldName) {\n if (!(typeName in _this.mapping)) {\n _this.mapping[typeName] = {};\n }\n _this.mapping[typeName][newFieldName] = fieldName;\n }\n }\n return transformedField;\n },\n _a));\n this.typeInfo = new TypeInfo(this.transformedSchema);\n return this.transformedSchema;\n };\n TransformCompositeFields.prototype.transformRequest = function (originalRequest, _delegationContext, transformationContext) {\n var document = originalRequest.document;\n var fragments = Object.create(null);\n document.definitions.forEach(function (def) {\n if (def.kind === Kind.FRAGMENT_DEFINITION) {\n fragments[def.name.value] = def;\n }\n });\n return __assign(__assign({}, originalRequest), { document: this.transformDocument(document, fragments, transformationContext) });\n };\n TransformCompositeFields.prototype.transformResult = function (result, _delegationContext, transformationContext) {\n var _this = this;\n if (this.dataTransformer != null) {\n result.data = visitData(result.data, function (value) { return _this.dataTransformer(value, transformationContext); });\n }\n if (this.errorsTransformer != null) {\n result.errors = this.errorsTransformer(result.errors, transformationContext);\n }\n return result;\n };\n TransformCompositeFields.prototype.transformDocument = function (document, fragments, transformationContext) {\n var _a;\n var _this = this;\n return visit(document, visitWithTypeInfo(this.typeInfo, {\n leave: (_a = {},\n _a[Kind.SELECTION_SET] = function (node) {\n return _this.transformSelectionSet(node, _this.typeInfo, fragments, transformationContext);\n },\n _a),\n }));\n };\n TransformCompositeFields.prototype.transformSelectionSet = function (node, typeInfo, fragments, transformationContext) {\n var _this = this;\n var parentType = typeInfo.getParentType();\n if (parentType == null) {\n return undefined;\n }\n var parentTypeName = parentType.name;\n var newSelections = [];\n node.selections.forEach(function (selection) {\n var _a, _b;\n if (selection.kind !== Kind.FIELD) {\n newSelections.push(selection);\n return;\n }\n var newName = selection.name.value;\n if (_this.dataTransformer != null || _this.errorsTransformer != null) {\n newSelections.push({\n kind: Kind.FIELD,\n name: {\n kind: Kind.NAME,\n value: '__typename',\n },\n });\n }\n var transformedSelection;\n if (_this.fieldNodeTransformer == null) {\n transformedSelection = selection;\n }\n else {\n transformedSelection = _this.fieldNodeTransformer(parentTypeName, newName, selection, fragments, transformationContext);\n transformedSelection = transformedSelection === undefined ? selection : transformedSelection;\n }\n if (Array.isArray(transformedSelection)) {\n newSelections = newSelections.concat(transformedSelection);\n return;\n }\n if (transformedSelection.kind !== Kind.FIELD) {\n newSelections.push(transformedSelection);\n return;\n }\n var typeMapping = _this.mapping[parentTypeName];\n if (typeMapping == null) {\n newSelections.push(transformedSelection);\n return;\n }\n var oldName = _this.mapping[parentTypeName][newName];\n if (oldName == null) {\n newSelections.push(transformedSelection);\n return;\n }\n newSelections.push(__assign(__assign({}, transformedSelection), { name: {\n kind: Kind.NAME,\n value: oldName,\n }, alias: {\n kind: Kind.NAME,\n value: (_b = (_a = transformedSelection.alias) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : newName,\n } }));\n });\n return __assign(__assign({}, node), { selections: newSelections });\n };\n return TransformCompositeFields;\n}());\nexport default TransformCompositeFields;\n//# sourceMappingURL=TransformCompositeFields.js.map","import { isObjectType } from 'graphql';\nimport TransformCompositeFields from './TransformCompositeFields';\nvar TransformObjectFields = /** @class */ (function () {\n function TransformObjectFields(objectFieldTransformer, fieldNodeTransformer) {\n this.objectFieldTransformer = objectFieldTransformer;\n this.fieldNodeTransformer = fieldNodeTransformer;\n }\n TransformObjectFields.prototype.transformSchema = function (originalSchema) {\n var _this = this;\n var compositeToObjectFieldTransformer = function (typeName, fieldName, fieldConfig) {\n if (isObjectType(originalSchema.getType(typeName))) {\n return _this.objectFieldTransformer(typeName, fieldName, fieldConfig);\n }\n return undefined;\n };\n this.transformer = new TransformCompositeFields(compositeToObjectFieldTransformer, this.fieldNodeTransformer);\n return this.transformer.transformSchema(originalSchema);\n };\n TransformObjectFields.prototype.transformRequest = function (originalRequest, delegationContext, transformationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext, transformationContext);\n };\n TransformObjectFields.prototype.transformResult = function (originalResult, delegationContext, transformationContext) {\n return this.transformer.transformResult(originalResult, delegationContext, transformationContext);\n };\n return TransformObjectFields;\n}());\nexport default TransformObjectFields;\n//# sourceMappingURL=TransformObjectFields.js.map","import TransformObjectFields from './TransformObjectFields';\nvar TransformRootFields = /** @class */ (function () {\n function TransformRootFields(rootFieldTransformer, fieldNodeTransformer) {\n this.rootFieldTransformer = rootFieldTransformer;\n this.fieldNodeTransformer = fieldNodeTransformer;\n }\n TransformRootFields.prototype.transformSchema = function (originalSchema) {\n var _this = this;\n var _a, _b, _c;\n var queryTypeName = (_a = originalSchema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name;\n var mutationTypeName = (_b = originalSchema.getMutationType()) === null || _b === void 0 ? void 0 : _b.name;\n var subscriptionTypeName = (_c = originalSchema.getSubscriptionType()) === null || _c === void 0 ? void 0 : _c.name;\n var rootToObjectFieldTransformer = function (typeName, fieldName, fieldConfig) {\n if (typeName === queryTypeName) {\n return _this.rootFieldTransformer('Query', fieldName, fieldConfig);\n }\n if (typeName === mutationTypeName) {\n return _this.rootFieldTransformer('Mutation', fieldName, fieldConfig);\n }\n if (typeName === subscriptionTypeName) {\n return _this.rootFieldTransformer('Subscription', fieldName, fieldConfig);\n }\n return undefined;\n };\n this.transformer = new TransformObjectFields(rootToObjectFieldTransformer, this.fieldNodeTransformer);\n return this.transformer.transformSchema(originalSchema);\n };\n TransformRootFields.prototype.transformRequest = function (originalRequest, delegationContext, transformationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext, transformationContext);\n };\n TransformRootFields.prototype.transformResult = function (originalResult, delegationContext, transformationContext) {\n return this.transformer.transformResult(originalResult, delegationContext, transformationContext);\n };\n return TransformRootFields;\n}());\nexport default TransformRootFields;\n//# sourceMappingURL=TransformRootFields.js.map","import TransformRootFields from './TransformRootFields';\nvar RenameRootFields = /** @class */ (function () {\n function RenameRootFields(renamer) {\n this.transformer = new TransformRootFields(function (operation, fieldName, fieldConfig) { return [renamer(operation, fieldName, fieldConfig), fieldConfig]; });\n }\n RenameRootFields.prototype.transformSchema = function (originalSchema) {\n return this.transformer.transformSchema(originalSchema);\n };\n RenameRootFields.prototype.transformRequest = function (originalRequest) {\n return this.transformer.transformRequest(originalRequest);\n };\n return RenameRootFields;\n}());\nexport default RenameRootFields;\n//# sourceMappingURL=RenameRootFields.js.map","import TransformRootFields from './TransformRootFields';\nvar FilterRootFields = /** @class */ (function () {\n function FilterRootFields(filter) {\n this.transformer = new TransformRootFields(function (operation, fieldName, fieldConfig) {\n if (filter(operation, fieldName, fieldConfig)) {\n return undefined;\n }\n return null;\n });\n }\n FilterRootFields.prototype.transformSchema = function (originalSchema) {\n return this.transformer.transformSchema(originalSchema);\n };\n return FilterRootFields;\n}());\nexport default FilterRootFields;\n//# sourceMappingURL=FilterRootFields.js.map","import TransformObjectFields from './TransformObjectFields';\nvar RenameObjectFields = /** @class */ (function () {\n function RenameObjectFields(renamer) {\n this.transformer = new TransformObjectFields(function (typeName, fieldName, fieldConfig) { return [\n renamer(typeName, fieldName, fieldConfig),\n fieldConfig,\n ]; });\n }\n RenameObjectFields.prototype.transformSchema = function (originalSchema) {\n return this.transformer.transformSchema(originalSchema);\n };\n RenameObjectFields.prototype.transformRequest = function (originalRequest) {\n return this.transformer.transformRequest(originalRequest);\n };\n return RenameObjectFields;\n}());\nexport default RenameObjectFields;\n//# sourceMappingURL=RenameObjectFields.js.map","import TransformObjectFields from './TransformObjectFields';\nvar FilterObjectFields = /** @class */ (function () {\n function FilterObjectFields(filter) {\n this.transformer = new TransformObjectFields(function (typeName, fieldName, fieldConfig) {\n return filter(typeName, fieldName, fieldConfig) ? undefined : null;\n });\n }\n FilterObjectFields.prototype.transformSchema = function (originalSchema) {\n return this.transformer.transformSchema(originalSchema);\n };\n return FilterObjectFields;\n}());\nexport default FilterObjectFields;\n//# sourceMappingURL=FilterObjectFields.js.map","import { isInterfaceType } from 'graphql';\nimport TransformCompositeFields from './TransformCompositeFields';\nvar TransformInterfaceFields = /** @class */ (function () {\n function TransformInterfaceFields(interfaceFieldTransformer, fieldNodeTransformer) {\n this.interfaceFieldTransformer = interfaceFieldTransformer;\n this.fieldNodeTransformer = fieldNodeTransformer;\n }\n TransformInterfaceFields.prototype.transformSchema = function (originalSchema) {\n var _this = this;\n var compositeToObjectFieldTransformer = function (typeName, fieldName, fieldConfig) {\n if (isInterfaceType(originalSchema.getType(typeName))) {\n return _this.interfaceFieldTransformer(typeName, fieldName, fieldConfig);\n }\n return undefined;\n };\n this.transformer = new TransformCompositeFields(compositeToObjectFieldTransformer, this.fieldNodeTransformer);\n return this.transformer.transformSchema(originalSchema);\n };\n TransformInterfaceFields.prototype.transformRequest = function (originalRequest, delegationContext, transformationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext, transformationContext);\n };\n TransformInterfaceFields.prototype.transformResult = function (originalResult, delegationContext, transformationContext) {\n return this.transformer.transformResult(originalResult, delegationContext, transformationContext);\n };\n return TransformInterfaceFields;\n}());\nexport default TransformInterfaceFields;\n//# sourceMappingURL=TransformInterfaceFields.js.map","import TransformInterfaceFields from './TransformInterfaceFields';\nvar RenameInterfaceFields = /** @class */ (function () {\n function RenameInterfaceFields(renamer) {\n this.transformer = new TransformInterfaceFields(function (typeName, fieldName, fieldConfig) { return [\n renamer(typeName, fieldName, fieldConfig),\n fieldConfig,\n ]; });\n }\n RenameInterfaceFields.prototype.transformSchema = function (originalSchema) {\n return this.transformer.transformSchema(originalSchema);\n };\n RenameInterfaceFields.prototype.transformRequest = function (originalRequest) {\n return this.transformer.transformRequest(originalRequest);\n };\n return RenameInterfaceFields;\n}());\nexport default RenameInterfaceFields;\n//# sourceMappingURL=RenameInterfaceFields.js.map","import TransformInterfaceFields from './TransformInterfaceFields';\nvar FilterInterfaceFields = /** @class */ (function () {\n function FilterInterfaceFields(filter) {\n this.transformer = new TransformInterfaceFields(function (typeName, fieldName, fieldConfig) {\n return filter(typeName, fieldName, fieldConfig) ? undefined : null;\n });\n }\n FilterInterfaceFields.prototype.transformSchema = function (originalSchema) {\n return this.transformer.transformSchema(originalSchema);\n };\n return FilterInterfaceFields;\n}());\nexport default FilterInterfaceFields;\n//# sourceMappingURL=FilterInterfaceFields.js.map","import { __assign } from \"tslib\";\nimport { TypeInfo, visit, visitWithTypeInfo, Kind, } from 'graphql';\nimport { MapperKind, mapSchema } from '@graphql-tools/utils';\nvar TransformInputObjectFields = /** @class */ (function () {\n function TransformInputObjectFields(inputFieldTransformer, inputFieldNodeTransformer, inputObjectNodeTransformer) {\n this.inputFieldTransformer = inputFieldTransformer;\n this.inputFieldNodeTransformer = inputFieldNodeTransformer;\n this.inputObjectNodeTransformer = inputObjectNodeTransformer;\n this.mapping = {};\n }\n TransformInputObjectFields.prototype.transformSchema = function (originalSchema) {\n var _a;\n var _this = this;\n this.transformedSchema = mapSchema(originalSchema, (_a = {},\n _a[MapperKind.INPUT_OBJECT_FIELD] = function (inputFieldConfig, fieldName, typeName) {\n var transformedInputField = _this.inputFieldTransformer(typeName, fieldName, inputFieldConfig);\n if (Array.isArray(transformedInputField)) {\n var newFieldName = transformedInputField[0];\n if (newFieldName !== fieldName) {\n if (!(typeName in _this.mapping)) {\n _this.mapping[typeName] = {};\n }\n _this.mapping[typeName][newFieldName] = fieldName;\n }\n }\n return transformedInputField;\n },\n _a));\n return this.transformedSchema;\n };\n TransformInputObjectFields.prototype.transformRequest = function (originalRequest, delegationContext) {\n var fragments = Object.create(null);\n originalRequest.document.definitions\n .filter(function (def) { return def.kind === Kind.FRAGMENT_DEFINITION; })\n .forEach(function (def) {\n fragments[def.name.value] = def;\n });\n var document = this.transformDocument(originalRequest.document, this.mapping, this.inputFieldNodeTransformer, this.inputObjectNodeTransformer, originalRequest, \n // cast to DelegationContext as workaround to avoid breaking change in types until next major version\n delegationContext);\n return __assign(__assign({}, originalRequest), { document: document });\n };\n TransformInputObjectFields.prototype.transformDocument = function (document, mapping, inputFieldNodeTransformer, inputObjectNodeTransformer, request, delegationContext) {\n var _a;\n var typeInfo = new TypeInfo(this.transformedSchema);\n var newDocument = visit(document, visitWithTypeInfo(typeInfo, {\n leave: (_a = {},\n _a[Kind.OBJECT] = function (node) {\n var parentType = typeInfo.getInputType();\n if (parentType != null) {\n var parentTypeName_1 = parentType.name;\n var newInputFields_1 = [];\n node.fields.forEach(function (inputField) {\n var newName = inputField.name.value;\n var transformedInputField = inputFieldNodeTransformer != null\n ? inputFieldNodeTransformer(parentTypeName_1, newName, inputField, request, delegationContext)\n : inputField;\n if (Array.isArray(transformedInputField)) {\n transformedInputField.forEach(function (individualTransformedInputField) {\n var typeMapping = mapping[parentTypeName_1];\n if (typeMapping == null) {\n newInputFields_1.push(individualTransformedInputField);\n return;\n }\n var oldName = typeMapping[newName];\n if (oldName == null) {\n newInputFields_1.push(individualTransformedInputField);\n return;\n }\n newInputFields_1.push(__assign(__assign({}, individualTransformedInputField), { name: __assign(__assign({}, individualTransformedInputField.name), { value: oldName }) }));\n });\n return;\n }\n var typeMapping = mapping[parentTypeName_1];\n if (typeMapping == null) {\n newInputFields_1.push(transformedInputField);\n return;\n }\n var oldName = typeMapping[newName];\n if (oldName == null) {\n newInputFields_1.push(transformedInputField);\n return;\n }\n newInputFields_1.push(__assign(__assign({}, transformedInputField), { name: __assign(__assign({}, transformedInputField.name), { value: oldName }) }));\n });\n var newNode = __assign(__assign({}, node), { fields: newInputFields_1 });\n return inputObjectNodeTransformer != null\n ? inputObjectNodeTransformer(parentTypeName_1, newNode, request, delegationContext)\n : newNode;\n }\n },\n _a),\n }));\n return newDocument;\n };\n return TransformInputObjectFields;\n}());\nexport default TransformInputObjectFields;\n//# sourceMappingURL=TransformInputObjectFields.js.map","import { __assign } from \"tslib\";\nimport { mapSchema, MapperKind } from '@graphql-tools/utils';\nimport TransformInputObjectFields from './TransformInputObjectFields';\nvar RenameInputObjectFields = /** @class */ (function () {\n function RenameInputObjectFields(renamer) {\n var _this = this;\n this.renamer = renamer;\n this.transformer = new TransformInputObjectFields(function (typeName, inputFieldName, inputFieldConfig) {\n var newName = renamer(typeName, inputFieldName, inputFieldConfig);\n if (newName !== undefined && newName !== inputFieldName) {\n return [renamer(typeName, inputFieldName, inputFieldConfig), inputFieldConfig];\n }\n }, function (typeName, inputFieldName, inputFieldNode) {\n if (!(typeName in _this.reverseMap)) {\n return inputFieldNode;\n }\n var inputFieldNameMap = _this.reverseMap[typeName];\n if (!(inputFieldName in inputFieldNameMap)) {\n return inputFieldNode;\n }\n return __assign(__assign({}, inputFieldNode), { name: __assign(__assign({}, inputFieldNode.name), { value: inputFieldNameMap[inputFieldName] }) });\n });\n this.reverseMap = Object.create(null);\n }\n RenameInputObjectFields.prototype.transformSchema = function (originalSchema) {\n var _a;\n var _this = this;\n mapSchema(originalSchema, (_a = {},\n _a[MapperKind.INPUT_OBJECT_FIELD] = function (inputFieldConfig, fieldName, typeName) {\n var newName = _this.renamer(typeName, fieldName, inputFieldConfig);\n if (newName !== undefined && newName !== fieldName) {\n if (_this.reverseMap[typeName] == null) {\n _this.reverseMap[typeName] = Object.create(null);\n }\n _this.reverseMap[typeName][newName] = fieldName;\n }\n return undefined;\n },\n _a[MapperKind.ROOT_OBJECT] = function () {\n return undefined;\n },\n _a));\n return this.transformer.transformSchema(originalSchema);\n };\n RenameInputObjectFields.prototype.transformRequest = function (originalRequest, delegationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext);\n };\n return RenameInputObjectFields;\n}());\nexport default RenameInputObjectFields;\n//# sourceMappingURL=RenameInputObjectFields.js.map","import TransformInputObjectFields from './TransformInputObjectFields';\nvar FilterInputObjectFields = /** @class */ (function () {\n function FilterInputObjectFields(filter, inputObjectNodeTransformer) {\n this.transformer = new TransformInputObjectFields(function (typeName, fieldName, inputFieldConfig) {\n return filter(typeName, fieldName, inputFieldConfig) ? undefined : null;\n }, undefined, inputObjectNodeTransformer);\n }\n FilterInputObjectFields.prototype.transformSchema = function (originalSchema) {\n return this.transformer.transformSchema(originalSchema);\n };\n FilterInputObjectFields.prototype.transformRequest = function (originalRequest, delegationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext);\n };\n return FilterInputObjectFields;\n}());\nexport default FilterInputObjectFields;\n//# sourceMappingURL=FilterInputObjectFields.js.map","import { __assign, __read, __spread } from \"tslib\";\nimport { visit, Kind, TypeInfo, visitWithTypeInfo, valueFromAST, isLeafType, } from 'graphql';\nimport { visitResult, updateArgument, transformInputValue, } from '@graphql-tools/utils';\nvar MapLeafValues = /** @class */ (function () {\n function MapLeafValues(inputValueTransformer, outputValueTransformer) {\n this.inputValueTransformer = inputValueTransformer;\n this.outputValueTransformer = outputValueTransformer;\n this.resultVisitorMap = Object.create(null);\n }\n MapLeafValues.prototype.transformSchema = function (originalSchema) {\n var _this = this;\n this.originalSchema = originalSchema;\n var typeMap = originalSchema.getTypeMap();\n Object.keys(typeMap).forEach(function (typeName) {\n var type = typeMap[typeName];\n if (!typeName.startsWith('__')) {\n if (isLeafType(type)) {\n _this.resultVisitorMap[typeName] = function (value) { return _this.outputValueTransformer(typeName, value); };\n }\n }\n });\n this.typeInfo = new TypeInfo(originalSchema);\n return originalSchema;\n };\n MapLeafValues.prototype.transformRequest = function (originalRequest, _delegationContext, transformationContext) {\n var document = originalRequest.document;\n var variableValues = originalRequest.variables;\n var operations = document.definitions.filter(function (def) { return def.kind === Kind.OPERATION_DEFINITION; });\n var fragments = document.definitions.filter(function (def) { return def.kind === Kind.FRAGMENT_DEFINITION; });\n var newOperations = this.transformOperations(operations, variableValues);\n var transformedRequest = __assign(__assign({}, originalRequest), { document: __assign(__assign({}, document), { definitions: __spread(newOperations, fragments) }), variables: variableValues });\n transformationContext.transformedRequest = transformedRequest;\n return transformedRequest;\n };\n MapLeafValues.prototype.transformResult = function (originalResult, _delegationContext, transformationContext) {\n return visitResult(originalResult, transformationContext.transformedRequest, this.originalSchema, this.resultVisitorMap);\n };\n MapLeafValues.prototype.transformOperations = function (operations, variableValues) {\n var _this = this;\n return operations.map(function (operation) {\n var _a;\n var variableDefinitionMap = operation.variableDefinitions.reduce(function (prev, def) {\n var _a;\n return (__assign(__assign({}, prev), (_a = {}, _a[def.variable.name.value] = def, _a)));\n }, {});\n var newOperation = visit(operation, visitWithTypeInfo(_this.typeInfo, (_a = {},\n _a[Kind.FIELD] = function (node) { return _this.transformFieldNode(node, variableDefinitionMap, variableValues); },\n _a)));\n return __assign(__assign({}, newOperation), { variableDefinitions: Object.keys(variableDefinitionMap).map(function (varName) { return variableDefinitionMap[varName]; }) });\n });\n };\n MapLeafValues.prototype.transformFieldNode = function (field, variableDefinitionMap, variableValues) {\n var _this = this;\n var targetField = this.typeInfo.getFieldDef();\n if (!targetField.name.startsWith('__')) {\n var argumentNodes = field.arguments;\n if (argumentNodes != null) {\n var argumentNodeMap_1 = argumentNodes.reduce(function (prev, argument) {\n var _a;\n return (__assign(__assign({}, prev), (_a = {}, _a[argument.name.value] = argument, _a)));\n }, Object.create(null));\n targetField.args.forEach(function (argument) {\n var argName = argument.name;\n var argType = argument.type;\n var argumentNode = argumentNodeMap_1[argName];\n var argValue = argumentNode === null || argumentNode === void 0 ? void 0 : argumentNode.value;\n var value;\n if (argValue != null) {\n value = valueFromAST(argValue, argType, variableValues);\n }\n updateArgument(argName, argType, argumentNodeMap_1, variableDefinitionMap, variableValues, transformInputValue(argType, value, function (t, v) {\n var newValue = _this.inputValueTransformer(t.name, v);\n return newValue === undefined ? v : newValue;\n }));\n });\n return __assign(__assign({}, field), { arguments: Object.keys(argumentNodeMap_1).map(function (argName) { return argumentNodeMap_1[argName]; }) });\n }\n }\n };\n return MapLeafValues;\n}());\nexport default MapLeafValues;\n//# sourceMappingURL=MapLeafValues.js.map","import { MapperKind, mapSchema } from '@graphql-tools/utils';\nimport MapLeafValues from './MapLeafValues';\nvar TransformEnumValues = /** @class */ (function () {\n function TransformEnumValues(enumValueTransformer, inputValueTransformer, outputValueTransformer) {\n this.enumValueTransformer = enumValueTransformer;\n this.mapping = Object.create(null);\n this.reverseMapping = Object.create(null);\n this.transformer = new MapLeafValues(generateValueTransformer(inputValueTransformer, this.reverseMapping), generateValueTransformer(outputValueTransformer, this.mapping));\n }\n TransformEnumValues.prototype.transformSchema = function (originalSchema) {\n var _a;\n var _this = this;\n var transformedSchema = this.transformer.transformSchema(originalSchema);\n this.transformedSchema = mapSchema(transformedSchema, (_a = {},\n _a[MapperKind.ENUM_VALUE] = function (valueConfig, typeName, _schema, externalValue) {\n return _this.transformEnumValue(typeName, externalValue, valueConfig);\n },\n _a));\n return this.transformedSchema;\n };\n TransformEnumValues.prototype.transformRequest = function (originalRequest, delegationContext, transformationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext, transformationContext);\n };\n TransformEnumValues.prototype.transformResult = function (originalResult, delegationContext, transformationContext) {\n return this.transformer.transformResult(originalResult, delegationContext, transformationContext);\n };\n TransformEnumValues.prototype.transformEnumValue = function (typeName, externalValue, enumValueConfig) {\n var transformedEnumValue = this.enumValueTransformer(typeName, externalValue, enumValueConfig);\n if (Array.isArray(transformedEnumValue)) {\n var newExternalValue = transformedEnumValue[0];\n if (newExternalValue !== externalValue) {\n if (!(typeName in this.mapping)) {\n this.mapping[typeName] = Object.create(null);\n this.reverseMapping[typeName] = Object.create(null);\n }\n this.mapping[typeName][externalValue] = newExternalValue;\n this.reverseMapping[typeName][newExternalValue] = externalValue;\n }\n }\n return transformedEnumValue;\n };\n return TransformEnumValues;\n}());\nexport default TransformEnumValues;\nfunction mapEnumValues(typeName, value, mapping) {\n var _a;\n var newExternalValue = (_a = mapping[typeName]) === null || _a === void 0 ? void 0 : _a[value];\n return newExternalValue != null ? newExternalValue : value;\n}\nfunction generateValueTransformer(valueTransformer, mapping) {\n if (valueTransformer == null) {\n return function (typeName, value) { return mapEnumValues(typeName, value, mapping); };\n }\n else {\n return function (typeName, value) { return mapEnumValues(typeName, valueTransformer(typeName, value), mapping); };\n }\n}\n//# sourceMappingURL=TransformEnumValues.js.map","import { __assign } from \"tslib\";\nimport { visit, Kind } from 'graphql';\nimport { relocatedError } from '@graphql-tools/utils';\nvar TransformQuery = /** @class */ (function () {\n function TransformQuery(_a) {\n var path = _a.path, queryTransformer = _a.queryTransformer, _b = _a.resultTransformer, resultTransformer = _b === void 0 ? function (result) { return result; } : _b, _c = _a.errorPathTransformer, errorPathTransformer = _c === void 0 ? function (errorPath) { return [].concat(errorPath); } : _c, _d = _a.fragments, fragments = _d === void 0 ? {} : _d;\n this.path = path;\n this.queryTransformer = queryTransformer;\n this.resultTransformer = resultTransformer;\n this.errorPathTransformer = errorPathTransformer;\n this.fragments = fragments;\n }\n TransformQuery.prototype.transformRequest = function (originalRequest) {\n var _a;\n var _this = this;\n var pathLength = this.path.length;\n var index = 0;\n var document = visit(originalRequest.document, (_a = {},\n _a[Kind.FIELD] = {\n enter: function (node) {\n if (index === pathLength || node.name.value !== _this.path[index]) {\n return false;\n }\n index++;\n if (index === pathLength) {\n var selectionSet = _this.queryTransformer(node.selectionSet, _this.fragments);\n return __assign(__assign({}, node), { selectionSet: selectionSet });\n }\n },\n leave: function () {\n index--;\n },\n },\n _a));\n return __assign(__assign({}, originalRequest), { document: document });\n };\n TransformQuery.prototype.transformResult = function (originalResult) {\n var data = this.transformData(originalResult.data);\n var errors = originalResult.errors;\n return {\n data: data,\n errors: errors != null ? this.transformErrors(errors) : undefined,\n };\n };\n TransformQuery.prototype.transformData = function (data) {\n var leafIndex = this.path.length - 1;\n var index = 0;\n var newData = data;\n if (newData) {\n var next = this.path[index];\n while (index < leafIndex) {\n if (data[next]) {\n newData = newData[next];\n }\n else {\n break;\n }\n index++;\n next = this.path[index];\n }\n newData[next] = this.resultTransformer(newData[next]);\n }\n return newData;\n };\n TransformQuery.prototype.transformErrors = function (errors) {\n var _this = this;\n return errors.map(function (error) {\n var path = error.path;\n var match = true;\n var index = 0;\n while (index < _this.path.length) {\n if (path[index] !== _this.path[index]) {\n match = false;\n break;\n }\n index++;\n }\n var newPath = match ? path.slice(0, index).concat(_this.errorPathTransformer(path.slice(index))) : path;\n return relocatedError(error, newPath);\n });\n };\n return TransformQuery;\n}());\nexport default TransformQuery;\n//# sourceMappingURL=TransformQuery.js.map","import { __assign } from \"tslib\";\nimport { getArgumentValues } from '@graphql-tools/utils';\nimport TransformObjectFields from './TransformObjectFields';\nvar FilterObjectFieldDirectives = /** @class */ (function () {\n function FilterObjectFieldDirectives(filter) {\n this.filter = filter;\n }\n FilterObjectFieldDirectives.prototype.transformSchema = function (originalSchema) {\n var _this = this;\n var transformer = new TransformObjectFields(function (_typeName, _fieldName, fieldConfig) {\n var keepDirectives = fieldConfig.astNode.directives.filter(function (dir) {\n var directiveDef = originalSchema.getDirective(dir.name.value);\n var directiveValue = directiveDef ? getArgumentValues(directiveDef, dir) : undefined;\n return _this.filter(dir.name.value, directiveValue);\n });\n if (keepDirectives.length !== fieldConfig.astNode.directives.length) {\n fieldConfig = __assign(__assign({}, fieldConfig), { astNode: __assign(__assign({}, fieldConfig.astNode), { directives: keepDirectives }) });\n return fieldConfig;\n }\n });\n return transformer.transformSchema(originalSchema);\n };\n return FilterObjectFieldDirectives;\n}());\nexport default FilterObjectFieldDirectives;\n//# sourceMappingURL=FilterObjectFieldDirectives.js.map","import { valueMatchesCriteria } from '@graphql-tools/utils';\nimport FilterObjectFieldDirectives from './FilterObjectFieldDirectives';\nvar RemoveObjectFieldDirectives = /** @class */ (function () {\n function RemoveObjectFieldDirectives(directiveName, args) {\n if (args === void 0) { args = {}; }\n this.transformer = new FilterObjectFieldDirectives(function (dirName, dirValue) {\n return !(valueMatchesCriteria(dirName, directiveName) && valueMatchesCriteria(dirValue, args));\n });\n }\n RemoveObjectFieldDirectives.prototype.transformSchema = function (originalSchema) {\n return this.transformer.transformSchema(originalSchema);\n };\n return RemoveObjectFieldDirectives;\n}());\nexport default RemoveObjectFieldDirectives;\n//# sourceMappingURL=RemoveObjectFieldDirectives.js.map","import { getDirectives, valueMatchesCriteria } from '@graphql-tools/utils';\nimport FilterObjectFields from './FilterObjectFields';\nvar RemoveObjectFieldsWithDirective = /** @class */ (function () {\n function RemoveObjectFieldsWithDirective(directiveName, args) {\n if (args === void 0) { args = {}; }\n this.directiveName = directiveName;\n this.args = args;\n }\n RemoveObjectFieldsWithDirective.prototype.transformSchema = function (originalSchema) {\n var _this = this;\n var transformer = new FilterObjectFields(function (_typeName, _fieldName, fieldConfig) {\n var valueMap = getDirectives(originalSchema, fieldConfig);\n return !Object.keys(valueMap).some(function (directiveName) {\n return valueMatchesCriteria(directiveName, _this.directiveName) &&\n ((Array.isArray(valueMap[directiveName]) &&\n valueMap[directiveName].some(function (value) { return valueMatchesCriteria(value, _this.args); })) ||\n valueMatchesCriteria(valueMap[directiveName], _this.args));\n });\n });\n return transformer.transformSchema(originalSchema);\n };\n return RemoveObjectFieldsWithDirective;\n}());\nexport default RemoveObjectFieldsWithDirective;\n//# sourceMappingURL=RemoveObjectFieldsWithDirective.js.map","import { __assign } from \"tslib\";\nimport { valueMatchesCriteria } from '@graphql-tools/utils';\nimport FilterObjectFieldDirectives from './FilterObjectFieldDirectives';\nimport TransformObjectFields from './TransformObjectFields';\nvar RemoveObjectFieldDeprecations = /** @class */ (function () {\n function RemoveObjectFieldDeprecations(reason) {\n var args = { reason: reason };\n this.removeDirectives = new FilterObjectFieldDirectives(function (dirName, dirValue) {\n return !(dirName === 'deprecated' && valueMatchesCriteria(dirValue, args));\n });\n this.removeDeprecations = new TransformObjectFields(function (_typeName, _fieldName, fieldConfig) {\n if (fieldConfig.deprecationReason && valueMatchesCriteria(fieldConfig.deprecationReason, reason)) {\n fieldConfig = __assign({}, fieldConfig);\n delete fieldConfig.deprecationReason;\n }\n return fieldConfig;\n });\n }\n RemoveObjectFieldDeprecations.prototype.transformSchema = function (originalSchema) {\n return this.removeDeprecations.transformSchema(this.removeDirectives.transformSchema(originalSchema));\n };\n return RemoveObjectFieldDeprecations;\n}());\nexport default RemoveObjectFieldDeprecations;\n//# sourceMappingURL=RemoveObjectFieldDeprecations.js.map","import { valueMatchesCriteria } from '@graphql-tools/utils';\nimport FilterObjectFields from './FilterObjectFields';\nvar RemoveObjectFieldsWithDeprecation = /** @class */ (function () {\n function RemoveObjectFieldsWithDeprecation(reason) {\n this.transformer = new FilterObjectFields(function (_typeName, _fieldName, fieldConfig) {\n if (fieldConfig.deprecationReason) {\n return !valueMatchesCriteria(fieldConfig.deprecationReason, reason);\n }\n return true;\n });\n }\n RemoveObjectFieldsWithDeprecation.prototype.transformSchema = function (originalSchema) {\n return this.transformer.transformSchema(originalSchema);\n };\n return RemoveObjectFieldsWithDeprecation;\n}());\nexport default RemoveObjectFieldsWithDeprecation;\n//# sourceMappingURL=RemoveObjectFieldsWithDeprecation.js.map","import TransformCompositeFields from './TransformCompositeFields';\nvar MapFields = /** @class */ (function () {\n function MapFields(fieldNodeTransformerMap, objectValueTransformerMap, errorsTransformer) {\n this.transformer = new TransformCompositeFields(function () { return undefined; }, function (typeName, fieldName, fieldNode, fragments, transformationContext) {\n var typeTransformers = fieldNodeTransformerMap[typeName];\n if (typeTransformers == null) {\n return undefined;\n }\n var fieldNodeTransformer = typeTransformers[fieldName];\n if (fieldNodeTransformer == null) {\n return undefined;\n }\n return fieldNodeTransformer(fieldNode, fragments, transformationContext);\n }, objectValueTransformerMap != null\n ? function (data, transformationContext) {\n if (data == null) {\n return data;\n }\n var typeName = data.__typename;\n if (typeName == null) {\n return data;\n }\n var transformer = objectValueTransformerMap[typeName];\n if (transformer == null) {\n return data;\n }\n return transformer(data, transformationContext);\n }\n : undefined, errorsTransformer != null ? errorsTransformer : undefined);\n }\n MapFields.prototype.transformSchema = function (schema) {\n return this.transformer.transformSchema(schema);\n };\n MapFields.prototype.transformRequest = function (originalRequest, delegationContext, transformationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext, transformationContext);\n };\n MapFields.prototype.transformResult = function (originalResult, delegationContext, transformationContext) {\n return this.transformer.transformResult(originalResult, delegationContext, transformationContext);\n };\n return MapFields;\n}());\nexport default MapFields;\n//# sourceMappingURL=MapFields.js.map","import { extendSchema, parse } from 'graphql';\nimport { addResolversToSchema } from '@graphql-tools/schema';\nimport { defaultMergedResolver } from '@graphql-tools/delegate';\nimport MapFields from './MapFields';\nvar ExtendSchema = /** @class */ (function () {\n function ExtendSchema(_a) {\n var typeDefs = _a.typeDefs, _b = _a.resolvers, resolvers = _b === void 0 ? {} : _b, defaultFieldResolver = _a.defaultFieldResolver, fieldNodeTransformerMap = _a.fieldNodeTransformerMap, objectValueTransformerMap = _a.objectValueTransformerMap, errorsTransformer = _a.errorsTransformer;\n this.typeDefs = typeDefs;\n this.resolvers = resolvers;\n this.defaultFieldResolver = defaultFieldResolver != null ? defaultFieldResolver : defaultMergedResolver;\n this.transformer = new MapFields(fieldNodeTransformerMap != null ? fieldNodeTransformerMap : {}, objectValueTransformerMap, errorsTransformer);\n }\n ExtendSchema.prototype.transformSchema = function (schema) {\n // MapFields's transformSchema function does not actually modify the schema --\n // it saves the current schema state, to be used later to transform requests.\n this.transformer.transformSchema(schema);\n return addResolversToSchema({\n schema: this.typeDefs ? extendSchema(schema, parse(this.typeDefs)) : schema,\n resolvers: this.resolvers != null ? this.resolvers : {},\n defaultFieldResolver: this.defaultFieldResolver,\n });\n };\n ExtendSchema.prototype.transformRequest = function (originalRequest, delegationContext, transformationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext, transformationContext);\n };\n ExtendSchema.prototype.transformResult = function (originalResult, delegationContext, transformationContext) {\n return this.transformer.transformResult(originalResult, delegationContext, transformationContext);\n };\n return ExtendSchema;\n}());\nexport default ExtendSchema;\n//# sourceMappingURL=ExtendSchema.js.map","import { pruneSchema } from '@graphql-tools/utils';\nvar PruneTypes = /** @class */ (function () {\n function PruneTypes(options) {\n this.options = options;\n }\n PruneTypes.prototype.transformSchema = function (schema) {\n return pruneSchema(schema, this.options);\n };\n return PruneTypes;\n}());\nexport default PruneTypes;\n//# sourceMappingURL=PruneSchema.js.map","import { __assign, __read } from \"tslib\";\nimport { Kind, } from 'graphql';\nimport { appendObjectFields, selectObjectFields, modifyObjectFields, relocatedError, } from '@graphql-tools/utils';\nimport { defaultMergedResolver } from '@graphql-tools/delegate';\nimport MapFields from './MapFields';\nfunction defaultWrappingResolver(parent, args, context, info) {\n if (!parent) {\n return {};\n }\n return defaultMergedResolver(parent, args, context, info);\n}\nvar WrapFields = /** @class */ (function () {\n function WrapFields(outerTypeName, wrappingFieldNames, wrappingTypeNames, fieldNames, wrappingResolver, prefix) {\n var _a, _b, _c;\n if (wrappingResolver === void 0) { wrappingResolver = defaultWrappingResolver; }\n if (prefix === void 0) { prefix = 'gqtld'; }\n this.outerTypeName = outerTypeName;\n this.wrappingFieldNames = wrappingFieldNames;\n this.wrappingTypeNames = wrappingTypeNames;\n this.numWraps = wrappingFieldNames.length;\n this.fieldNames = fieldNames;\n this.wrappingResolver = wrappingResolver;\n var remainingWrappingFieldNames = this.wrappingFieldNames.slice();\n var outerMostWrappingFieldName = remainingWrappingFieldNames.shift();\n this.transformer = new MapFields((_a = {},\n _a[outerTypeName] = (_b = {},\n _b[outerMostWrappingFieldName] = function (fieldNode, fragments, transformationContext) {\n return hoistFieldNodes({\n fieldNode: fieldNode,\n path: remainingWrappingFieldNames,\n fieldNames: fieldNames,\n fragments: fragments,\n transformationContext: transformationContext,\n prefix: prefix,\n });\n },\n _b),\n _a), (_c = {},\n _c[outerTypeName] = function (value, context) { return dehoistValue(value, context); },\n _c), function (errors, context) { return dehoistErrors(errors, context); });\n }\n WrapFields.prototype.transformSchema = function (schema) {\n var _a, _b, _c;\n var _this = this;\n var targetFieldConfigMap = selectObjectFields(schema, this.outerTypeName, !this.fieldNames ? function () { return true; } : function (fieldName) { return _this.fieldNames.includes(fieldName); });\n var wrapIndex = this.numWraps - 1;\n var wrappingTypeName = this.wrappingTypeNames[wrapIndex];\n var wrappingFieldName = this.wrappingFieldNames[wrapIndex];\n var newSchema = appendObjectFields(schema, wrappingTypeName, targetFieldConfigMap);\n for (wrapIndex--; wrapIndex > -1; wrapIndex--) {\n var nextWrappingTypeName = this.wrappingTypeNames[wrapIndex];\n newSchema = appendObjectFields(newSchema, nextWrappingTypeName, (_a = {},\n _a[wrappingFieldName] = {\n type: newSchema.getType(wrappingTypeName),\n resolve: this.wrappingResolver,\n },\n _a));\n wrappingTypeName = nextWrappingTypeName;\n wrappingFieldName = this.wrappingFieldNames[wrapIndex];\n }\n var selectedFieldNames = Object.keys(targetFieldConfigMap);\n _c = __read(modifyObjectFields(newSchema, this.outerTypeName, function (fieldName) { return selectedFieldNames.includes(fieldName); }, (_b = {},\n _b[wrappingFieldName] = {\n type: newSchema.getType(wrappingTypeName),\n resolve: this.wrappingResolver,\n },\n _b)), 1), newSchema = _c[0];\n return this.transformer.transformSchema(newSchema);\n };\n WrapFields.prototype.transformRequest = function (originalRequest, delegationContext, transformationContext) {\n transformationContext.nextIndex = 0;\n transformationContext.paths = Object.create(null);\n return this.transformer.transformRequest(originalRequest, delegationContext, transformationContext);\n };\n WrapFields.prototype.transformResult = function (originalResult, delegationContext, transformationContext) {\n return this.transformer.transformResult(originalResult, delegationContext, transformationContext);\n };\n return WrapFields;\n}());\nexport default WrapFields;\nfunction collectFields(selectionSet, fragments, fields, visitedFragmentNames) {\n if (fields === void 0) { fields = []; }\n if (visitedFragmentNames === void 0) { visitedFragmentNames = {}; }\n if (selectionSet != null) {\n selectionSet.selections.forEach(function (selection) {\n switch (selection.kind) {\n case Kind.FIELD:\n fields.push(selection);\n break;\n case Kind.INLINE_FRAGMENT:\n collectFields(selection.selectionSet, fragments, fields, visitedFragmentNames);\n break;\n case Kind.FRAGMENT_SPREAD: {\n var fragmentName = selection.name.value;\n if (!visitedFragmentNames[fragmentName]) {\n visitedFragmentNames[fragmentName] = true;\n collectFields(fragments[fragmentName].selectionSet, fragments, fields, visitedFragmentNames);\n }\n break;\n }\n default:\n // unreachable\n break;\n }\n });\n }\n return fields;\n}\nfunction aliasFieldNode(fieldNode, str) {\n return __assign(__assign({}, fieldNode), { alias: {\n kind: Kind.NAME,\n value: str,\n } });\n}\nfunction hoistFieldNodes(_a) {\n var fieldNode = _a.fieldNode, fieldNames = _a.fieldNames, path = _a.path, fragments = _a.fragments, transformationContext = _a.transformationContext, prefix = _a.prefix, _b = _a.index, index = _b === void 0 ? 0 : _b, _c = _a.wrappingPath, wrappingPath = _c === void 0 ? [] : _c;\n var alias = fieldNode.alias != null ? fieldNode.alias.value : fieldNode.name.value;\n var newFieldNodes = [];\n if (index < path.length) {\n var pathSegment_1 = path[index];\n collectFields(fieldNode.selectionSet, fragments).forEach(function (possibleFieldNode) {\n if (possibleFieldNode.name.value === pathSegment_1) {\n var newWrappingPath = wrappingPath.concat([alias]);\n newFieldNodes = newFieldNodes.concat(hoistFieldNodes({\n fieldNode: possibleFieldNode,\n fieldNames: fieldNames,\n path: path,\n fragments: fragments,\n transformationContext: transformationContext,\n prefix: prefix,\n index: index + 1,\n wrappingPath: newWrappingPath,\n }));\n }\n });\n }\n else {\n collectFields(fieldNode.selectionSet, fragments).forEach(function (possibleFieldNode) {\n if (!fieldNames || fieldNames.includes(possibleFieldNode.name.value)) {\n var nextIndex = transformationContext.nextIndex;\n transformationContext.nextIndex++;\n var indexingAlias = \"__\" + prefix + nextIndex + \"__\";\n transformationContext.paths[indexingAlias] = {\n pathToField: wrappingPath.concat([alias]),\n alias: possibleFieldNode.alias != null ? possibleFieldNode.alias.value : possibleFieldNode.name.value,\n };\n newFieldNodes.push(aliasFieldNode(possibleFieldNode, indexingAlias));\n }\n });\n }\n return newFieldNodes;\n}\nexport function dehoistValue(originalValue, context) {\n if (originalValue == null) {\n return originalValue;\n }\n var newValue = Object.create(null);\n Object.keys(originalValue).forEach(function (alias) {\n var obj = newValue;\n var path = context.paths[alias];\n if (path == null) {\n newValue[alias] = originalValue[alias];\n return;\n }\n var pathToField = path.pathToField;\n var fieldAlias = path.alias;\n pathToField.forEach(function (key) {\n obj = obj[key] = obj[key] || Object.create(null);\n });\n obj[fieldAlias] = originalValue[alias];\n });\n return newValue;\n}\nfunction dehoistErrors(errors, context) {\n if (errors === undefined) {\n return undefined;\n }\n return errors.map(function (error) {\n var originalPath = error.path;\n if (originalPath == null) {\n return error;\n }\n var newPath = [];\n originalPath.forEach(function (pathSegment) {\n if (typeof pathSegment !== 'string') {\n newPath.push(pathSegment);\n return;\n }\n var path = context.paths[pathSegment];\n if (path == null) {\n newPath.push(pathSegment);\n return;\n }\n newPath = newPath.concat(path.pathToField, [path.alias]);\n });\n return relocatedError(error, newPath);\n });\n}\n//# sourceMappingURL=WrapFields.js.map","import WrapFields from './WrapFields';\nvar WrapType = /** @class */ (function () {\n function WrapType(outerTypeName, innerTypeName, fieldName) {\n this.transformer = new WrapFields(outerTypeName, [fieldName], [innerTypeName]);\n }\n WrapType.prototype.transformSchema = function (schema) {\n return this.transformer.transformSchema(schema);\n };\n WrapType.prototype.transformRequest = function (originalRequest, delegationContext, transformationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext, transformationContext);\n };\n WrapType.prototype.transformResult = function (originalResult, delegationContext, transformationContext) {\n return this.transformer.transformResult(originalResult, delegationContext, transformationContext);\n };\n return WrapType;\n}());\nexport default WrapType;\n//# sourceMappingURL=WrapType.js.map","import { __read } from \"tslib\";\nimport { getNullableType, Kind } from 'graphql';\nimport { renameFieldNode, appendObjectFields, removeObjectFields, relocatedError, } from '@graphql-tools/utils';\nimport { defaultMergedResolver } from '@graphql-tools/delegate';\nimport MapFields from './MapFields';\nvar HoistField = /** @class */ (function () {\n function HoistField(typeName, path, newFieldName, alias) {\n var _a, _b, _c;\n if (alias === void 0) { alias = '__gqtlw__'; }\n this.typeName = typeName;\n this.newFieldName = newFieldName;\n var pathToField = path.slice();\n var oldFieldName = pathToField.pop();\n this.oldFieldName = oldFieldName;\n this.pathToField = pathToField;\n this.transformer = new MapFields((_a = {},\n _a[typeName] = (_b = {},\n _b[newFieldName] = function (fieldNode) { return wrapFieldNode(renameFieldNode(fieldNode, oldFieldName), pathToField, alias); },\n _b),\n _a), (_c = {},\n _c[typeName] = function (value) { return unwrapValue(value, alias); },\n _c), function (errors) { return unwrapErrors(errors, alias); });\n }\n HoistField.prototype.transformSchema = function (schema) {\n var _a;\n var _this = this;\n var innerType = this.pathToField.reduce(function (acc, pathSegment) { return getNullableType(acc.getFields()[pathSegment].type); }, schema.getType(this.typeName));\n var _b = __read(removeObjectFields(schema, innerType.name, function (fieldName) { return fieldName === _this.oldFieldName; }), 2), newSchema = _b[0], targetFieldConfigMap = _b[1];\n var targetField = targetFieldConfigMap[this.oldFieldName];\n var targetType = targetField.type;\n newSchema = appendObjectFields(newSchema, this.typeName, (_a = {},\n _a[this.newFieldName] = {\n type: targetType,\n resolve: defaultMergedResolver,\n },\n _a));\n return this.transformer.transformSchema(newSchema);\n };\n HoistField.prototype.transformRequest = function (originalRequest, delegationContext, transformationContext) {\n return this.transformer.transformRequest(originalRequest, delegationContext, transformationContext);\n };\n HoistField.prototype.transformResult = function (originalResult, delegationContext, transformationContext) {\n return this.transformer.transformResult(originalResult, delegationContext, transformationContext);\n };\n return HoistField;\n}());\nexport default HoistField;\nexport function wrapFieldNode(fieldNode, path, alias) {\n var newFieldNode = fieldNode;\n path.forEach(function (fieldName) {\n newFieldNode = {\n kind: Kind.FIELD,\n alias: {\n kind: Kind.NAME,\n value: alias,\n },\n name: {\n kind: Kind.NAME,\n value: fieldName,\n },\n selectionSet: {\n kind: Kind.SELECTION_SET,\n selections: [fieldNode],\n },\n };\n });\n return newFieldNode;\n}\nexport function unwrapValue(originalValue, alias) {\n var newValue = originalValue;\n var object = newValue[alias];\n while (object != null) {\n newValue = object;\n object = newValue[alias];\n }\n delete originalValue[alias];\n Object.assign(originalValue, newValue);\n return originalValue;\n}\nfunction unwrapErrors(errors, alias) {\n if (errors === undefined) {\n return undefined;\n }\n return errors.map(function (error) {\n var originalPath = error.path;\n if (originalPath == null) {\n return error;\n }\n var newPath = originalPath.filter(function (pathSegment) { return pathSegment !== alias; });\n return relocatedError(error, newPath);\n });\n}\n//# sourceMappingURL=HoistField.js.map","import { __assign, __read, __spread } from \"tslib\";\nimport { visit, Kind } from 'graphql';\nvar WrapQuery = /** @class */ (function () {\n function WrapQuery(path, wrapper, extractor) {\n this.path = path;\n this.wrapper = wrapper;\n this.extractor = extractor;\n }\n WrapQuery.prototype.transformRequest = function (originalRequest) {\n var _a;\n var _this = this;\n var fieldPath = [];\n var ourPath = JSON.stringify(this.path);\n var document = visit(originalRequest.document, (_a = {},\n _a[Kind.FIELD] = {\n enter: function (node) {\n fieldPath.push(node.name.value);\n if (ourPath === JSON.stringify(fieldPath)) {\n var wrapResult = _this.wrapper(node.selectionSet);\n // Selection can be either a single selection or a selection set. If it's just one selection,\n // let's wrap it in a selection set. Otherwise, keep it as is.\n var selectionSet = wrapResult != null && wrapResult.kind === Kind.SELECTION_SET\n ? wrapResult\n : {\n kind: Kind.SELECTION_SET,\n selections: [wrapResult],\n };\n return __assign(__assign({}, node), { selectionSet: selectionSet });\n }\n },\n leave: function () {\n fieldPath.pop();\n },\n },\n _a));\n return __assign(__assign({}, originalRequest), { document: document });\n };\n WrapQuery.prototype.transformResult = function (originalResult) {\n var rootData = originalResult.data;\n if (rootData != null) {\n var data = rootData;\n var path = __spread(this.path);\n while (path.length > 1) {\n var next = path.shift();\n if (data[next]) {\n data = data[next];\n }\n }\n data[path[0]] = this.extractor(data[path[0]]);\n }\n return {\n data: rootData,\n errors: originalResult.errors,\n };\n };\n return WrapQuery;\n}());\nexport default WrapQuery;\n//# sourceMappingURL=WrapQuery.js.map","import { __assign } from \"tslib\";\nimport { visit, Kind, BREAK } from 'graphql';\nvar ExtractField = /** @class */ (function () {\n function ExtractField(_a) {\n var from = _a.from, to = _a.to;\n this.from = from;\n this.to = to;\n }\n ExtractField.prototype.transformRequest = function (originalRequest) {\n var _a, _b;\n var fromSelection;\n var ourPathFrom = JSON.stringify(this.from);\n var ourPathTo = JSON.stringify(this.to);\n var fieldPath = [];\n visit(originalRequest.document, (_a = {},\n _a[Kind.FIELD] = {\n enter: function (node) {\n fieldPath.push(node.name.value);\n if (ourPathFrom === JSON.stringify(fieldPath)) {\n fromSelection = node.selectionSet;\n return BREAK;\n }\n },\n leave: function () {\n fieldPath.pop();\n },\n },\n _a));\n fieldPath = [];\n var document = visit(originalRequest.document, (_b = {},\n _b[Kind.FIELD] = {\n enter: function (node) {\n fieldPath.push(node.name.value);\n if (ourPathTo === JSON.stringify(fieldPath) && fromSelection != null) {\n return __assign(__assign({}, node), { selectionSet: fromSelection });\n }\n },\n leave: function () {\n fieldPath.pop();\n },\n },\n _b));\n return __assign(__assign({}, originalRequest), { document: document });\n };\n return ExtractField;\n}());\nexport default ExtractField;\n//# sourceMappingURL=ExtractField.js.map","import { buildSchema } from 'graphql';\nimport { delegateToSchema } from '@graphql-tools/delegate';\nimport { wrapSchema } from './wrapSchema';\nexport function makeRemoteExecutableSchema(_a) {\n var schemaOrTypeDefs = _a.schema, executor = _a.executor, subscriber = _a.subscriber, _b = _a.createResolver, createResolver = _b === void 0 ? defaultCreateRemoteResolver : _b, buildSchemaOptions = _a.buildSchemaOptions;\n var targetSchema = typeof schemaOrTypeDefs === 'string' ? buildSchema(schemaOrTypeDefs, buildSchemaOptions) : schemaOrTypeDefs;\n return wrapSchema({\n schema: targetSchema,\n createProxyingResolver: function () { return createResolver(executor, subscriber); },\n });\n}\nexport function defaultCreateRemoteResolver(executor, subscriber) {\n return function (_parent, _args, context, info) {\n return delegateToSchema({\n schema: { schema: info.schema, executor: executor, subscriber: subscriber },\n context: context,\n info: info,\n });\n };\n}\n//# sourceMappingURL=makeRemoteExecutableSchema.js.map","import { __extends } from 'tslib';\n\nvar cleanInternalStack = function (stack) { return stack.replace(/\\s+at .*aggregate-error\\/index.js:\\d+:\\d+\\)?/g, ''); };\n\n/**\r\nEscape RegExp special characters.\r\nYou can also use this to escape a string that is inserted into the middle of a regex, for example, into a character class.\r\n@example\r\n```\r\nimport escapeStringRegexp = require('escape-string-regexp');\r\nconst escapedString = escapeStringRegexp('How much $ for a 🦄?');\r\n//=> 'How much \\\\$ for a 🦄\\\\?'\r\nnew RegExp(escapedString);\r\n```\r\n*/\r\nvar escapeStringRegexp = function (string) {\r\n if (typeof string !== 'string') {\r\n throw new TypeError('Expected a string');\r\n }\r\n // Escape characters with special meaning either inside or outside character sets.\r\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\r\n return string\r\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\r\n .replace(/-/g, '\\\\x2d');\r\n};\n\nvar extractPathRegex = /\\s+at.*[(\\s](.*)\\)?/;\r\nvar pathRegex = /^(?:(?:(?:node|(?:internal\\/[\\w/]*|.*node_modules\\/(?:babel-polyfill|pirates)\\/.*)?\\w+)\\.js:\\d+:\\d+)|native)/;\r\n/**\r\nClean up error stack traces. Removes the mostly unhelpful internal Node.js entries.\r\n@param stack - The `stack` property of an `Error`.\r\n@example\r\n```\r\nimport cleanStack = require('clean-stack');\r\nconst error = new Error('Missing unicorn');\r\nconsole.log(error.stack);\r\n// Error: Missing unicorn\r\n// at Object.<anonymous> (/Users/sindresorhus/dev/clean-stack/unicorn.js:2:15)\r\n// at Module._compile (module.js:409:26)\r\n// at Object.Module._extensions..js (module.js:416:10)\r\n// at Module.load (module.js:343:32)\r\n// at Function.Module._load (module.js:300:12)\r\n// at Function.Module.runMain (module.js:441:10)\r\n// at startup (node.js:139:18)\r\nconsole.log(cleanStack(error.stack));\r\n// Error: Missing unicorn\r\n// at Object.<anonymous> (/Users/sindresorhus/dev/clean-stack/unicorn.js:2:15)\r\n```\r\n*/\r\nvar cleanStack = function (stack, basePath) {\r\n var basePathRegex = basePath && new RegExp(\"(at | \\\\()\" + escapeStringRegexp(basePath), 'g');\r\n return stack.replace(/\\\\/g, '/')\r\n .split('\\n')\r\n .filter(function (line) {\r\n var pathMatches = line.match(extractPathRegex);\r\n if (pathMatches === null || !pathMatches[1]) {\r\n return true;\r\n }\r\n var match = pathMatches[1];\r\n // Electron\r\n if (match.includes('.app/Contents/Resources/electron.asar') ||\r\n match.includes('.app/Contents/Resources/default_app.asar')) {\r\n return false;\r\n }\r\n return !pathRegex.test(match);\r\n })\r\n .filter(function (line) { return line.trim() !== ''; })\r\n .map(function (line) {\r\n if (basePathRegex) {\r\n line = line.replace(basePathRegex, '$1');\r\n }\r\n return line;\r\n })\r\n .join('\\n');\r\n};\n\n/**\r\nIndent each line in a string.\r\n@param string - The string to indent.\r\n@param count - How many times you want `options.indent` repeated. Default: `1`.\r\n@example\r\n```\r\nimport indentString = require('indent-string');\r\nindentString('Unicorns\\nRainbows', 4);\r\n//=> ' Unicorns\\n Rainbows'\r\nindentString('Unicorns\\nRainbows', 4, {indent: '♥'});\r\n//=> '♥♥♥♥Unicorns\\n♥♥♥♥Rainbows'\r\n```\r\n*/\r\nvar indentString = function (string, count, options) {\r\n if (count === void 0) { count = 1; }\r\n options = Object.assign({\r\n indent: ' ',\r\n includeEmptyLines: false,\r\n }, options);\r\n if (typeof string !== 'string') {\r\n throw new TypeError(\"Expected `input` to be a `string`, got `\" + typeof string + \"`\");\r\n }\r\n if (typeof count !== 'number') {\r\n throw new TypeError(\"Expected `count` to be a `number`, got `\" + typeof count + \"`\");\r\n }\r\n if (count < 0) {\r\n throw new RangeError(\"Expected `count` to be at least 0, got `\" + count + \"`\");\r\n }\r\n if (typeof options.indent !== 'string') {\r\n throw new TypeError(\"Expected `options.indent` to be a `string`, got `\" + typeof options.indent + \"`\");\r\n }\r\n if (count === 0) {\r\n return string;\r\n }\r\n var regex = options.includeEmptyLines ? /^/gm : /^(?!\\s*$)/gm;\r\n return string.replace(regex, options.indent.repeat(count));\r\n};\n\nvar AggregateError = /** @class */ (function (_super) {\r\n __extends(AggregateError, _super);\r\n function AggregateError(errors) {\r\n var _this = this;\r\n if (!Array.isArray(errors)) {\r\n throw new TypeError(\"Expected input to be an Array, got \" + typeof errors);\r\n }\r\n var normalizedErrors = errors.map(function (error) {\r\n if (error instanceof Error) {\r\n return error;\r\n }\r\n if (error !== null && typeof error === 'object') {\r\n // Handle plain error objects with message property and/or possibly other metadata\r\n return Object.assign(new Error(error.message), error);\r\n }\r\n return new Error(error);\r\n });\r\n var message = normalizedErrors\r\n .map(function (error) {\r\n // The `stack` property is not standardized, so we can't assume it exists\r\n return typeof error.stack === 'string' ? cleanInternalStack(cleanStack(error.stack)) : String(error);\r\n })\r\n .join('\\n');\r\n message = '\\n' + indentString(message, 4);\r\n _this = _super.call(this, message) || this;\r\n _this.name = 'AggregateError';\r\n Object.defineProperty(_this, Symbol.iterator, {\r\n get: function () { return function () { return normalizedErrors[Symbol.iterator](); }; },\r\n });\r\n return _this;\r\n }\r\n return AggregateError;\r\n}(Error));\n\nexport default AggregateError;\n//# sourceMappingURL=index.esm.js.map\n","import { __awaiter, __generator } from \"tslib\";\nimport { getIntrospectionQuery, buildClientSchema, parse, } from 'graphql';\nimport AggregateError from '@ardatan/aggregate-error';\nfunction getSchemaFromIntrospection(introspectionResult) {\n var _a, _b;\n if ((_a = introspectionResult === null || introspectionResult === void 0 ? void 0 : introspectionResult.data) === null || _a === void 0 ? void 0 : _a.__schema) {\n return buildClientSchema(introspectionResult.data);\n }\n else if ((_b = introspectionResult === null || introspectionResult === void 0 ? void 0 : introspectionResult.errors) === null || _b === void 0 ? void 0 : _b.length) {\n if (introspectionResult.errors.length > 1) {\n var combinedError = new AggregateError(introspectionResult.errors);\n throw combinedError;\n }\n var error = introspectionResult.errors[0];\n throw error.originalError || error;\n }\n else {\n throw new Error('Could not obtain introspection result, received: ' + JSON.stringify(introspectionResult));\n }\n}\nexport function introspectSchema(executor, context, options) {\n return __awaiter(this, void 0, void 0, function () {\n var parsedIntrospectionQuery, introspectionResult;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n parsedIntrospectionQuery = parse(getIntrospectionQuery(options));\n return [4 /*yield*/, executor({\n document: parsedIntrospectionQuery,\n context: context,\n })];\n case 1:\n introspectionResult = _a.sent();\n return [2 /*return*/, getSchemaFromIntrospection(introspectionResult)];\n }\n });\n });\n}\nexport function introspectSchemaSync(executor, context, options) {\n var parsedIntrospectionQuery = parse(getIntrospectionQuery(options));\n var introspectionResult = executor({\n document: parsedIntrospectionQuery,\n context: context,\n });\n if ('then' in introspectionResult) {\n throw new Error(\"Executor cannot return promise value in introspectSchemaSync!\");\n }\n return getSchemaFromIntrospection(introspectionResult);\n}\n//# sourceMappingURL=introspect.js.map"],"names":[],"mappings":";;;;;;AAEO,SAAS,yBAAyB,CAAC,0BAA0B,EAAE,UAAU,EAAE;AAClF,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,YAAY,CAAC;AACrB,IAAI,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAC9B,IAAI,IAAI,sBAAsB,CAAC;AAC/B,IAAI,IAAI,iBAAiB,CAAC,0BAA0B,CAAC,EAAE;AACvD,QAAQ,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC;AACzD,QAAQ,sBAAsB,GAAG,CAAC,EAAE,GAAG,0BAA0B,CAAC,sBAAsB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,6BAA6B,CAAC;AACzJ,QAAQ,IAAI,0BAA0B,CAAC,UAAU,IAAI,IAAI,EAAE;AAC3D,YAAY,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;AAC9F,SAAS;AACT,KAAK;AACL,SAAS;AACT,QAAQ,YAAY,GAAG,0BAA0B,CAAC;AAClD,QAAQ,sBAAsB,GAAG,6BAA6B,CAAC;AAC/D,KAAK;AACL,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE;AAC5B,QAAQ,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC/D,KAAK;AACL,IAAI,IAAI,iBAAiB,GAAG,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAClF,IAAI,IAAI,cAAc,GAAG;AACzB,QAAQ,KAAK,EAAE,YAAY,CAAC,YAAY,EAAE;AAC1C,QAAQ,QAAQ,EAAE,YAAY,CAAC,eAAe,EAAE;AAChD,QAAQ,YAAY,EAAE,YAAY,CAAC,mBAAmB,EAAE;AACxD,KAAK,CAAC;AACN,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC;AACvB,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AAC7D,QAAQ,IAAI,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AACjD,QAAQ,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC9B,YAAY,IAAI,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC3C,YAAY,IAAI,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;AAC9C,YAAY,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AACvC,YAAY,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AAC7D,gBAAgB,IAAI,gBAAgB,GAAG,sBAAsB,CAAC;AAC9D,oBAAoB,MAAM,EAAE,0BAA0B;AACtD,oBAAoB,UAAU,EAAE,UAAU;AAC1C,oBAAoB,iBAAiB,EAAE,iBAAiB;AACxD,oBAAoB,SAAS,EAAE,SAAS;AACxC,oBAAoB,SAAS,EAAE,SAAS;AACxC,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,IAAI,aAAa,GAAG,oCAAoC,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AACvH,gBAAgB,IAAI,SAAS,KAAK,cAAc,EAAE;AAClD,oBAAoB,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG;AACvD,wBAAwB,SAAS,EAAE,aAAa;AAChD,wBAAwB,OAAO,EAAE,UAAU,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/D,4BAA4B,IAAI,eAAe,GAAG,EAAE,CAAC,SAAS,CAAC;AAC/D,4BAA4B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC;AAC5D,yBAAyB;AACzB,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG;AACvD,wBAAwB,OAAO,EAAE,aAAa;AAC9C,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,SAAS,oCAAoC,CAAC,0BAA0B,EAAE,gBAAgB,EAAE;AAC5F,IAAI,OAAO,UAAU,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;AAClD,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;AAC5B,YAAY,IAAI,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAC3D,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACxD;AACA,YAAY,IAAI,MAAM,IAAI,IAAI,EAAE;AAChC,gBAAgB,IAAI,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAClE;AACA;AACA;AACA,gBAAgB,IAAI,0BAA0B,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;AACnG,oBAAoB,OAAO,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC/F,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC7D,KAAK,CAAC;AACN,CAAC;AACM,SAAS,6BAA6B,CAAC,EAAE,EAAE;AAClD,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,CAAC;AAC3H,IAAI,OAAO,UAAU,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;AACpD,QAAQ,OAAO,gBAAgB,CAAC;AAChC,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,SAAS,EAAE,SAAS;AAChC,YAAY,OAAO,EAAE,OAAO;AAC5B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,UAAU,EAAE,UAAU;AAClC,YAAY,iBAAiB,EAAE,iBAAiB;AAChD,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN;;ACxFO,SAAS,UAAU,CAAC,0BAA0B,EAAE,UAAU,EAAE;AACnE,IAAI,IAAI,YAAY,CAAC;AACrB,IAAI,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAC9B,IAAI,IAAI,iBAAiB,CAAC,0BAA0B,CAAC,EAAE;AACvD,QAAQ,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC;AACzD,QAAQ,IAAI,0BAA0B,CAAC,UAAU,IAAI,IAAI,EAAE;AAC3D,YAAY,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;AAC9F,SAAS;AACT,KAAK;AACL,SAAS;AACT,QAAQ,YAAY,GAAG,0BAA0B,CAAC;AAClD,KAAK;AACL,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE;AAC5B,QAAQ,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC/D,KAAK;AACL,IAAI,IAAI,iBAAiB,GAAG,yBAAyB,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;AAC9F,IAAI,IAAI,MAAM,GAAG,oBAAoB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;AACvE,IAAI,OAAO,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAC3D,CAAC;AACD,SAAS,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE;AACzD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,SAAS,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE;AACrC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,IAAI,EAAE;AACrD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzC,YAAY,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;AAC/C,YAAY,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AACrE,gBAAgB,cAAc,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACvI,aAAa,CAAC,CAAC;AACf,YAAY,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACjD,SAAS;AACT,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,IAAI,EAAE;AACrD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzC,YAAY,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;AACxC,YAAY,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AACpE,gBAAgB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,qBAAqB,CAAC;AACzE,gBAAgB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1D,aAAa,CAAC,CAAC;AACf,YAAY,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACjD,SAAS;AACT,QAAQ,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,UAAU,IAAI,EAAE;AACxD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzC,YAAY,OAAO,MAAM,CAAC,WAAW,CAAC;AACtC,YAAY,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,IAAI,EAAE;AACpD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzC,YAAY,OAAO,MAAM,CAAC,WAAW,CAAC;AACtC,YAAY,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAChD,SAAS;AACT,QAAQ,EAAE,EAAE,CAAC;AACb;;ACpDA,IAAI,WAAW,kBAAkB,YAAY;AAC7C,IAAI,SAAS,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE;AAC3C,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvC,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9C,QAAQ,IAAI,EAAE,GAAG,OAAO,IAAI,IAAI,GAAG,OAAO,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,cAAc,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,aAAa,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AACvL,QAAQ,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AAC7C,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AAC3C,KAAK;AACL,IAAI,WAAW,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACtE,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,SAAS,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE;AACjD,YAAY,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,EAAE;AAClD,gBAAgB,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;AAC1E,oBAAoB,OAAO,SAAS,CAAC;AACrC,iBAAiB;AACjB,gBAAgB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;AAChE,oBAAoB,OAAO,SAAS,CAAC;AACrC,iBAAiB;AACjB,gBAAgB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;AACxC,gBAAgB,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,gBAAgB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,OAAO,EAAE;AAClE,oBAAoB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACjD,oBAAoB,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACxD,oBAAoB,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrD,iBAAiB;AACjB,aAAa;AACb,YAAY,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,YAAY;AACrD,gBAAgB,OAAO,SAAS,CAAC;AACjC,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE;AACxE,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE;AAC/D,YAAY,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,IAAI,EAAE;AAClD,gBAAgB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3C,gBAAgB,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE;AAC9C,oBAAoB,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE;AAChE,4BAA4B,IAAI,EAAE,IAAI,CAAC,IAAI;AAC3C,4BAA4B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AACzD,yBAAyB,EAAE,CAAC,CAAC;AAC7B,iBAAiB;AACjB,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AAC9D,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,MAAM,EAAE;AAC/F,gBAAgB,IAAI,QAAQ,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;AACjG,gBAAgB,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,GAAG,EAAE;AAC/D,oBAAoB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5D,iBAAiB;AACjB,gBAAgB,OAAO,MAAM,CAAC;AAC9B,aAAa,CAAC,EAAE,CAAC,CAAC;AAClB,KAAK,CAAC;AACN,IAAI,OAAO,WAAW,CAAC;AACvB,CAAC,EAAE,CAAC;;AC9DJ,IAAI,WAAW,kBAAkB,YAAY;AAC7C,IAAI,SAAS,WAAW,CAAC,MAAM,EAAE;AACjC,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,KAAK;AACL,IAAI,WAAW,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AAC9D,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,SAAS,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE;AACzC,YAAY,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,EAAE;AAClD,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACxC,oBAAoB,OAAO,SAAS,CAAC;AACrC,iBAAiB;AACjB,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,OAAO,WAAW,CAAC;AACvB,CAAC,EAAE,CAAC;;ACfJ,IAAI,eAAe,kBAAkB,YAAY;AACjD,IAAI,SAAS,eAAe,CAAC,OAAO,EAAE;AACtC,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvC,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9C,KAAK;AACL,IAAI,eAAe,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAC1E,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,SAAS,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE;AACjD,YAAY,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,IAAI,EAAE;AACzD,gBAAgB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;AACxC,gBAAgB,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,gBAAgB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,OAAO,EAAE;AAClE,oBAAoB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACjD,oBAAoB,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACxD,oBAAoB,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrD,iBAAiB;AACjB,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,eAAe,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE;AAC5E,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE;AAC/D,YAAY,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,IAAI,EAAE;AAClD,gBAAgB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3C,gBAAgB,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE;AAC9C,oBAAoB,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE;AAChE,4BAA4B,IAAI,EAAE,IAAI,CAAC,IAAI;AAC3C,4BAA4B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AACzD,yBAAyB,EAAE,CAAC,CAAC;AAC7B,iBAAiB;AACjB,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,IAAI,eAAe,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AAClE,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,MAAM,EAAE;AAC/F,gBAAgB,IAAI,QAAQ,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;AACjG,gBAAgB,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,GAAG,EAAE;AAC/D,oBAAoB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5D,iBAAiB;AACjB,gBAAgB,OAAO,MAAM,CAAC;AAC9B,aAAa,CAAC,EAAE,CAAC,CAAC;AAClB,KAAK,CAAC;AACN,IAAI,OAAO,eAAe,CAAC;AAC3B,CAAC,EAAE,CAAC;;AChDJ,IAAI,wBAAwB,kBAAkB,YAAY;AAC1D,IAAI,SAAS,wBAAwB,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE;AAClH,QAAQ,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AACjD,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AAC/C,QAAQ,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AACnD,QAAQ,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAC1B,KAAK;AACL,IAAI,wBAAwB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACnF,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE;AACnE,YAAY,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE;AACzF,gBAAgB,IAAI,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAChG,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;AACrD,oBAAoB,IAAI,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC3D,oBAAoB,IAAI,YAAY,KAAK,SAAS,EAAE;AACpD,wBAAwB,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;AAC1D,4BAA4B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AACzD,yBAAyB;AACzB,wBAAwB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;AAC1E,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAO,gBAAgB,CAAC;AACxC,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7D,QAAQ,OAAO,IAAI,CAAC,iBAAiB,CAAC;AACtC,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE;AAChI,QAAQ,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAChD,QAAQ,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5C,QAAQ,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AACpD,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB,EAAE;AACvD,gBAAgB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AAChD,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACzI,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,EAAE;AACtH,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;AAC1C,YAAY,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,KAAK,EAAE,EAAE,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;AACnI,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;AAC5C,YAAY,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AACzF,SAAS;AACT,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,QAAQ,EAAE,SAAS,EAAE,qBAAqB,EAAE;AACjH,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChE,YAAY,KAAK,GAAG,EAAE,GAAG,EAAE;AAC3B,gBAAgB,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,UAAU,IAAI,EAAE;AACzD,oBAAoB,OAAO,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAC/G,iBAAiB;AACjB,gBAAgB,EAAE,CAAC;AACnB,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,SAAS,CAAC,qBAAqB,GAAG,UAAU,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,qBAAqB,EAAE;AAC3H,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;AAClD,QAAQ,IAAI,UAAU,IAAI,IAAI,EAAE;AAChC,YAAY,OAAO,SAAS,CAAC;AAC7B,SAAS;AACT,QAAQ,IAAI,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;AAC7C,QAAQ,IAAI,aAAa,GAAG,EAAE,CAAC;AAC/B,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AACrD,YAAY,IAAI,EAAE,EAAE,EAAE,CAAC;AACvB,YAAY,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE;AAC/C,gBAAgB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9C,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,IAAI,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/C,YAAY,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,EAAE;AAClF,gBAAgB,aAAa,CAAC,IAAI,CAAC;AACnC,oBAAoB,IAAI,EAAE,IAAI,CAAC,KAAK;AACpC,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,IAAI,EAAE,IAAI,CAAC,IAAI;AACvC,wBAAwB,KAAK,EAAE,YAAY;AAC3C,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,YAAY,IAAI,oBAAoB,CAAC;AACrC,YAAY,IAAI,KAAK,CAAC,oBAAoB,IAAI,IAAI,EAAE;AACpD,gBAAgB,oBAAoB,GAAG,SAAS,CAAC;AACjD,aAAa;AACb,iBAAiB;AACjB,gBAAgB,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;AACxI,gBAAgB,oBAAoB,GAAG,oBAAoB,KAAK,SAAS,GAAG,SAAS,GAAG,oBAAoB,CAAC;AAC7G,aAAa;AACb,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;AACrD,gBAAgB,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC3E,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,IAAI,oBAAoB,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE;AAC1D,gBAAgB,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzD,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,IAAI,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5D,YAAY,IAAI,WAAW,IAAI,IAAI,EAAE;AACrC,gBAAgB,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzD,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,YAAY,IAAI,OAAO,IAAI,IAAI,EAAE;AACjC,gBAAgB,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzD,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE;AACpF,oBAAoB,IAAI,EAAE,IAAI,CAAC,IAAI;AACnC,oBAAoB,KAAK,EAAE,OAAO;AAClC,iBAAiB,EAAE,KAAK,EAAE;AAC1B,oBAAoB,IAAI,EAAE,IAAI,CAAC,IAAI;AACnC,oBAAoB,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,oBAAoB,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO;AAC1J,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACtB,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;AAC3E,KAAK,CAAC;AACN,IAAI,OAAO,wBAAwB,CAAC;AACpC,CAAC,EAAE,CAAC;;AC1HJ,IAAI,qBAAqB,kBAAkB,YAAY;AACvD,IAAI,SAAS,qBAAqB,CAAC,sBAAsB,EAAE,oBAAoB,EAAE;AACjF,QAAQ,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;AAC7D,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,KAAK;AACL,IAAI,qBAAqB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAChF,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,iCAAiC,GAAG,UAAU,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE;AAC5F,YAAY,IAAI,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;AAChE,gBAAgB,OAAO,KAAK,CAAC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACtF,aAAa;AACb,YAAY,OAAO,SAAS,CAAC;AAC7B,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAwB,CAAC,iCAAiC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACtH,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,qBAAqB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC5H,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,IAAI,qBAAqB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC1H,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC1G,KAAK,CAAC;AACN,IAAI,OAAO,qBAAqB,CAAC;AACjC,CAAC,EAAE,CAAC;;ACxBJ,IAAI,mBAAmB,kBAAkB,YAAY;AACrD,IAAI,SAAS,mBAAmB,CAAC,oBAAoB,EAAE,oBAAoB,EAAE;AAC7E,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,KAAK;AACL,IAAI,mBAAmB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAC9E,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACvB,QAAQ,IAAI,aAAa,GAAG,CAAC,EAAE,GAAG,cAAc,CAAC,YAAY,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;AAC9G,QAAQ,IAAI,gBAAgB,GAAG,CAAC,EAAE,GAAG,cAAc,CAAC,eAAe,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;AACpH,QAAQ,IAAI,oBAAoB,GAAG,CAAC,EAAE,GAAG,cAAc,CAAC,mBAAmB,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;AAC5H,QAAQ,IAAI,4BAA4B,GAAG,UAAU,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE;AACvF,YAAY,IAAI,QAAQ,KAAK,aAAa,EAAE;AAC5C,gBAAgB,OAAO,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACnF,aAAa;AACb,YAAY,IAAI,QAAQ,KAAK,gBAAgB,EAAE;AAC/C,gBAAgB,OAAO,KAAK,CAAC,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACtF,aAAa;AACb,YAAY,IAAI,QAAQ,KAAK,oBAAoB,EAAE;AACnD,gBAAgB,OAAO,KAAK,CAAC,oBAAoB,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC1F,aAAa;AACb,YAAY,OAAO,SAAS,CAAC;AAC7B,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,CAAC,4BAA4B,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC9G,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,mBAAmB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC1H,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,IAAI,mBAAmB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AACxH,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC1G,KAAK,CAAC;AACN,IAAI,OAAO,mBAAmB,CAAC;AAC/B,CAAC,EAAE,CAAC;;ACjCJ,IAAI,gBAAgB,kBAAkB,YAAY;AAClD,IAAI,SAAS,gBAAgB,CAAC,OAAO,EAAE;AACvC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,UAAU,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;AACvK,KAAK;AACL,IAAI,gBAAgB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAC3E,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE;AAC7E,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAClE,KAAK,CAAC;AACN,IAAI,OAAO,gBAAgB,CAAC;AAC5B,CAAC,EAAE,CAAC;;ACXJ,IAAI,gBAAgB,kBAAkB,YAAY;AAClD,IAAI,SAAS,gBAAgB,CAAC,MAAM,EAAE;AACtC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,UAAU,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE;AAChG,YAAY,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE;AAC3D,gBAAgB,OAAO,SAAS,CAAC;AACjC,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,gBAAgB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAC3E,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,OAAO,gBAAgB,CAAC;AAC5B,CAAC,EAAE,CAAC;;ACbJ,IAAI,kBAAkB,kBAAkB,YAAY;AACpD,IAAI,SAAS,kBAAkB,CAAC,OAAO,EAAE;AACzC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,CAAC,UAAU,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,OAAO;AAC1G,YAAY,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;AACrD,YAAY,WAAW;AACvB,SAAS,CAAC,EAAE,CAAC,CAAC;AACd,KAAK;AACL,IAAI,kBAAkB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAC7E,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE;AAC/E,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAClE,KAAK,CAAC;AACN,IAAI,OAAO,kBAAkB,CAAC;AAC9B,CAAC,EAAE,CAAC;;ACdJ,IAAI,kBAAkB,kBAAkB,YAAY;AACpD,IAAI,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACxC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,CAAC,UAAU,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE;AACjG,YAAY,OAAO,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AAC/E,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,kBAAkB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAC7E,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,OAAO,kBAAkB,CAAC;AAC9B,CAAC,EAAE,CAAC;;ACTJ,IAAI,wBAAwB,kBAAkB,YAAY;AAC1D,IAAI,SAAS,wBAAwB,CAAC,yBAAyB,EAAE,oBAAoB,EAAE;AACvF,QAAQ,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;AACnE,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,KAAK;AACL,IAAI,wBAAwB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACnF,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,iCAAiC,GAAG,UAAU,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE;AAC5F,YAAY,IAAI,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;AACnE,gBAAgB,OAAO,KAAK,CAAC,yBAAyB,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACzF,aAAa;AACb,YAAY,OAAO,SAAS,CAAC;AAC7B,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAwB,CAAC,iCAAiC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACtH,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC/H,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC7H,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC1G,KAAK,CAAC;AACN,IAAI,OAAO,wBAAwB,CAAC;AACpC,CAAC,EAAE,CAAC;;ACxBJ,IAAI,qBAAqB,kBAAkB,YAAY;AACvD,IAAI,SAAS,qBAAqB,CAAC,OAAO,EAAE;AAC5C,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAwB,CAAC,UAAU,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,OAAO;AAC7G,YAAY,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;AACrD,YAAY,WAAW;AACvB,SAAS,CAAC,EAAE,CAAC,CAAC;AACd,KAAK;AACL,IAAI,qBAAqB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAChF,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,qBAAqB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE;AAClF,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAClE,KAAK,CAAC;AACN,IAAI,OAAO,qBAAqB,CAAC;AACjC,CAAC,EAAE,CAAC;;ACdJ,IAAI,qBAAqB,kBAAkB,YAAY;AACvD,IAAI,SAAS,qBAAqB,CAAC,MAAM,EAAE;AAC3C,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAwB,CAAC,UAAU,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE;AACpG,YAAY,OAAO,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AAC/E,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,qBAAqB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAChF,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,OAAO,qBAAqB,CAAC;AACjC,CAAC,EAAE,CAAC;;ACRJ,IAAI,0BAA0B,kBAAkB,YAAY;AAC5D,IAAI,SAAS,0BAA0B,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE;AACtH,QAAQ,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;AAC3D,QAAQ,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;AACnE,QAAQ,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;AACrE,QAAQ,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAC1B,KAAK;AACL,IAAI,0BAA0B,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACrF,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE;AACnE,YAAY,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,UAAU,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE;AACjG,gBAAgB,IAAI,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAC/G,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;AAC1D,oBAAoB,IAAI,YAAY,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAChE,oBAAoB,IAAI,YAAY,KAAK,SAAS,EAAE;AACpD,wBAAwB,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;AAC1D,4BAA4B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AACzD,yBAAyB;AACzB,wBAAwB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;AAC1E,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAO,qBAAqB,CAAC;AAC7C,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,OAAO,IAAI,CAAC,iBAAiB,CAAC;AACtC,KAAK,CAAC;AACN,IAAI,0BAA0B,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE;AAC1G,QAAQ,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5C,QAAQ,eAAe,CAAC,QAAQ,CAAC,WAAW;AAC5C,aAAa,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;AACrF,aAAa,OAAO,CAAC,UAAU,GAAG,EAAE;AACpC,YAAY,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AAC5C,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,0BAA0B,EAAE,eAAe;AACtK;AACA,QAAQ,iBAAiB,CAAC,CAAC;AAC3B,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,IAAI,0BAA0B,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,QAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,OAAO,EAAE,iBAAiB,EAAE;AAC7K,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC5D,QAAQ,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE;AACtE,YAAY,KAAK,GAAG,EAAE,GAAG,EAAE;AAC3B,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,UAAU,IAAI,EAAE;AAClD,oBAAoB,IAAI,UAAU,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;AAC7D,oBAAoB,IAAI,UAAU,IAAI,IAAI,EAAE;AAC5C,wBAAwB,IAAI,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC;AAC/D,wBAAwB,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAClD,wBAAwB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,UAAU,EAAE;AAClE,4BAA4B,IAAI,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AAChE,4BAA4B,IAAI,qBAAqB,GAAG,yBAAyB,IAAI,IAAI;AACzF,kCAAkC,yBAAyB,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC;AAC9H,kCAAkC,UAAU,CAAC;AAC7C,4BAA4B,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;AACtE,gCAAgC,qBAAqB,CAAC,OAAO,CAAC,UAAU,+BAA+B,EAAE;AACzG,oCAAoC,IAAI,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAChF,oCAAoC,IAAI,WAAW,IAAI,IAAI,EAAE;AAC7D,wCAAwC,gBAAgB,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AAC/F,wCAAwC,OAAO;AAC/C,qCAAqC;AACrC,oCAAoC,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AACvE,oCAAoC,IAAI,OAAO,IAAI,IAAI,EAAE;AACzD,wCAAwC,gBAAgB,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AAC/F,wCAAwC,OAAO;AAC/C,qCAAqC;AACrC,oCAAoC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,+BAA+B,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,+BAA+B,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/M,iCAAiC,CAAC,CAAC;AACnC,gCAAgC,OAAO;AACvC,6BAA6B;AAC7B,4BAA4B,IAAI,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACxE,4BAA4B,IAAI,WAAW,IAAI,IAAI,EAAE;AACrD,gCAAgC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC7E,gCAAgC,OAAO;AACvC,6BAA6B;AAC7B,4BAA4B,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAC/D,4BAA4B,IAAI,OAAO,IAAI,IAAI,EAAE;AACjD,gCAAgC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC7E,gCAAgC,OAAO;AACvC,6BAA6B;AAC7B,4BAA4B,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACnL,yBAAyB,CAAC,CAAC;AAC3B,wBAAwB,IAAI,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACjG,wBAAwB,OAAO,0BAA0B,IAAI,IAAI;AACjE,8BAA8B,0BAA0B,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC;AAC/G,8BAA8B,OAAO,CAAC;AACtC,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,EAAE,CAAC;AACnB,SAAS,CAAC,CAAC,CAAC;AACZ,QAAQ,OAAO,WAAW,CAAC;AAC3B,KAAK,CAAC;AACN,IAAI,OAAO,0BAA0B,CAAC;AACtC,CAAC,EAAE,CAAC;;AC7FJ,IAAI,uBAAuB,kBAAkB,YAAY;AACzD,IAAI,SAAS,uBAAuB,CAAC,OAAO,EAAE;AAC9C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,0BAA0B,CAAC,UAAU,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE;AAChH,YAAY,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAC9E,YAAY,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,cAAc,EAAE;AACrE,gBAAgB,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC/F,aAAa;AACb,SAAS,EAAE,UAAU,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE;AAC/D,YAAY,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;AACjD,gBAAgB,OAAO,cAAc,CAAC;AACtC,aAAa;AACb,YAAY,IAAI,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC/D,YAAY,IAAI,EAAE,cAAc,IAAI,iBAAiB,CAAC,EAAE;AACxD,gBAAgB,OAAO,cAAc,CAAC;AACtC,aAAa;AACb,YAAY,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/J,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9C,KAAK;AACL,IAAI,uBAAuB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAClF,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,SAAS,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE;AAC1C,YAAY,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,UAAU,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE;AACjG,gBAAgB,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACnF,gBAAgB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE;AACpE,oBAAoB,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;AAC5D,wBAAwB,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzE,qBAAqB;AACrB,oBAAoB,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;AACpE,iBAAiB;AACjB,gBAAgB,OAAO,SAAS,CAAC;AACjC,aAAa;AACb,YAAY,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,YAAY;AACrD,gBAAgB,OAAO,SAAS,CAAC;AACjC,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,uBAAuB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE;AACvG,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AACrF,KAAK,CAAC;AACN,IAAI,OAAO,uBAAuB,CAAC;AACnC,CAAC,EAAE,CAAC;;AC/CJ,IAAI,uBAAuB,kBAAkB,YAAY;AACzD,IAAI,SAAS,uBAAuB,CAAC,MAAM,EAAE,0BAA0B,EAAE;AACzE,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,0BAA0B,CAAC,UAAU,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE;AAC3G,YAAY,OAAO,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AACpF,SAAS,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,uBAAuB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAClF,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,uBAAuB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE;AACvG,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AACrF,KAAK,CAAC;AACN,IAAI,OAAO,uBAAuB,CAAC;AACnC,CAAC,EAAE,CAAC;;ACXJ,IAAI,aAAa,kBAAkB,YAAY;AAC/C,IAAI,SAAS,aAAa,CAAC,qBAAqB,EAAE,sBAAsB,EAAE;AAC1E,QAAQ,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;AAC3D,QAAQ,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;AAC7D,QAAQ,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,aAAa,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACxE,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AAC7C,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AAClD,QAAQ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;AACzD,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzC,YAAY,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC5C,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACtC,oBAAoB,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,UAAU,KAAK,EAAE,EAAE,OAAO,KAAK,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;AAClI,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,OAAO,cAAc,CAAC;AAC9B,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE;AACrH,QAAQ,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAChD,QAAQ,IAAI,cAAc,GAAG,eAAe,CAAC,SAAS,CAAC;AACvD,QAAQ,IAAI,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;AACxH,QAAQ,IAAI,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;AACtH,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AACjF,QAAQ,IAAI,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;AACzM,QAAQ,qBAAqB,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AACtE,QAAQ,OAAO,kBAAkB,CAAC;AAClC,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,EAAE;AACnH,QAAQ,OAAO,WAAW,CAAC,cAAc,EAAE,qBAAqB,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjI,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,UAAU,EAAE,cAAc,EAAE;AACxF,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,UAAU,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE;AACnD,YAAY,IAAI,EAAE,CAAC;AACnB,YAAY,IAAI,qBAAqB,GAAG,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,GAAG,EAAE;AAClG,gBAAgB,IAAI,EAAE,CAAC;AACvB,gBAAgB,QAAQ,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE;AACxG,aAAa,EAAE,EAAE,CAAC,CAAC;AACnB,YAAY,IAAI,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE;AAC1F,gBAAgB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,IAAI,EAAE,EAAE,OAAO,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC,EAAE;AAClI,gBAAgB,EAAE,EAAE,CAAC,CAAC;AACtB,YAAY,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACxL,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE;AACzG,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AACtD,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAChD,YAAY,IAAI,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC;AAChD,YAAY,IAAI,aAAa,IAAI,IAAI,EAAE;AACvC,gBAAgB,IAAI,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,QAAQ,EAAE;AACvF,oBAAoB,IAAI,EAAE,CAAC;AAC3B,oBAAoB,QAAQ,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE;AAC7G,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,gBAAgB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;AAC7D,oBAAoB,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;AAChD,oBAAoB,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;AAChD,oBAAoB,IAAI,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAClE,oBAAoB,IAAI,QAAQ,GAAG,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC;AAClH,oBAAoB,IAAI,KAAK,CAAC;AAC9B,oBAAoB,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC1C,wBAAwB,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAChF,qBAAqB;AACrB,oBAAoB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE;AACnK,wBAAwB,IAAI,QAAQ,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9E,wBAAwB,OAAO,QAAQ,KAAK,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC;AACrE,qBAAqB,CAAC,CAAC,CAAC;AACxB,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnK,aAAa;AACb,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC,EAAE,CAAC;;AC9EJ,IAAI,mBAAmB,kBAAkB,YAAY;AACrD,IAAI,SAAS,mBAAmB,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE;AACtG,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3C,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClD,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,aAAa,CAAC,wBAAwB,CAAC,qBAAqB,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,wBAAwB,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACnL,KAAK;AACL,IAAI,mBAAmB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAC9E,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AACjF,QAAQ,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,GAAG,EAAE,GAAG,EAAE;AACtE,YAAY,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;AACjG,gBAAgB,OAAO,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;AACtF,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,OAAO,IAAI,CAAC,iBAAiB,CAAC;AACtC,KAAK,CAAC;AACN,IAAI,mBAAmB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC1H,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,IAAI,mBAAmB,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AACxH,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC1G,KAAK,CAAC;AACN,IAAI,mBAAmB,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE;AAC3G,QAAQ,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;AACvG,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;AACjD,YAAY,IAAI,gBAAgB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3D,YAAY,IAAI,gBAAgB,KAAK,aAAa,EAAE;AACpD,gBAAgB,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;AACjD,oBAAoB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjE,oBAAoB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxE,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC;AACzE,gBAAgB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC;AAChF,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC;AACpC,KAAK,CAAC;AACN,IAAI,OAAO,mBAAmB,CAAC;AAC/B,CAAC,EAAE,CAAC,CAAC;AAEL,SAAS,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AACjD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,gBAAgB,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACnG,IAAI,OAAO,gBAAgB,IAAI,IAAI,GAAG,gBAAgB,GAAG,KAAK,CAAC;AAC/D,CAAC;AACD,SAAS,wBAAwB,CAAC,gBAAgB,EAAE,OAAO,EAAE;AAC7D,IAAI,IAAI,gBAAgB,IAAI,IAAI,EAAE;AAClC,QAAQ,OAAO,UAAU,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;AAC9F,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,UAAU,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;AAC1H,KAAK;AACL;;ACrDA,IAAI,cAAc,kBAAkB,YAAY;AAChD,IAAI,SAAS,cAAc,CAAC,EAAE,EAAE;AAChC,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,UAAU,MAAM,EAAE,EAAE,OAAO,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,UAAU,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACtW,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AACjD,QAAQ,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AACnD,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,KAAK;AACL,IAAI,cAAc,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE;AAC3E,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1C,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;AACtB,QAAQ,IAAI,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE;AAC/D,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;AAC7B,gBAAgB,KAAK,EAAE,UAAU,IAAI,EAAE;AACvC,oBAAoB,IAAI,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACvF,wBAAwB,OAAO,KAAK,CAAC;AACrC,qBAAqB;AACrB,oBAAoB,KAAK,EAAE,CAAC;AAC5B,oBAAoB,IAAI,KAAK,KAAK,UAAU,EAAE;AAC9C,wBAAwB,IAAI,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AACtG,wBAAwB,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;AAC5F,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,KAAK,EAAE,YAAY;AACnC,oBAAoB,KAAK,EAAE,CAAC;AAC5B,iBAAiB;AACjB,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACzE,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC3D,QAAQ,IAAI,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;AAC3C,QAAQ,OAAO;AACf,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS;AAC7E,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,IAAI,EAAE;AAC7D,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7C,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;AACtB,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC;AAC3B,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,YAAY,OAAO,KAAK,GAAG,SAAS,EAAE;AACtC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;AAChC,oBAAoB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5C,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM;AAC1B,iBAAiB;AACjB,gBAAgB,KAAK,EAAE,CAAC;AACxB,gBAAgB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,aAAa;AACb,YAAY,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,SAAS;AACT,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AACjE,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;AAC3C,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAClC,YAAY,IAAI,KAAK,GAAG,IAAI,CAAC;AAC7B,YAAY,IAAI,KAAK,GAAG,CAAC,CAAC;AAC1B,YAAY,OAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;AAC9C,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACvD,oBAAoB,KAAK,GAAG,KAAK,CAAC;AAClC,oBAAoB,MAAM;AAC1B,iBAAiB;AACjB,gBAAgB,KAAK,EAAE,CAAC;AACxB,aAAa;AACb,YAAY,IAAI,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACpH,YAAY,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAClD,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,OAAO,cAAc,CAAC;AAC1B,CAAC,EAAE,CAAC;;AC/EJ,IAAI,2BAA2B,kBAAkB,YAAY;AAC7D,IAAI,SAAS,2BAA2B,CAAC,MAAM,EAAE;AACjD,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,KAAK;AACL,IAAI,2BAA2B,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACtF,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,WAAW,GAAG,IAAI,qBAAqB,CAAC,UAAU,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;AAClG,YAAY,IAAI,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AACtF,gBAAgB,IAAI,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/E,gBAAgB,IAAI,cAAc,GAAG,YAAY,GAAG,iBAAiB,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;AACrG,gBAAgB,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACpE,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,cAAc,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;AACjF,gBAAgB,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5J,gBAAgB,OAAO,WAAW,CAAC;AACnC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAC3D,KAAK,CAAC;AACN,IAAI,OAAO,2BAA2B,CAAC;AACvC,CAAC,EAAE,CAAC;;ACrBJ,IAAI,2BAA2B,kBAAkB,YAAY;AAC7D,IAAI,SAAS,2BAA2B,CAAC,aAAa,EAAE,IAAI,EAAE;AAC9D,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE;AAC3C,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,2BAA2B,CAAC,UAAU,OAAO,EAAE,QAAQ,EAAE;AACxF,YAAY,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3G,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,2BAA2B,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACtF,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,OAAO,2BAA2B,CAAC;AACvC,CAAC,EAAE,CAAC;;ACXJ,IAAI,+BAA+B,kBAAkB,YAAY;AACjE,IAAI,SAAS,+BAA+B,CAAC,aAAa,EAAE,IAAI,EAAE;AAClE,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE;AAC3C,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AAC3C,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,KAAK;AACL,IAAI,+BAA+B,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAC1F,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,WAAW,GAAG,IAAI,kBAAkB,CAAC,UAAU,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;AAC/F,YAAY,IAAI,QAAQ,GAAG,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AACtE,YAAY,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,aAAa,EAAE;AACxE,gBAAgB,OAAO,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;AAC/E,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC5D,wBAAwB,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE,OAAO,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAC1H,wBAAwB,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAC3D,KAAK,CAAC;AACN,IAAI,OAAO,+BAA+B,CAAC;AAC3C,CAAC,EAAE,CAAC;;AClBJ,IAAI,6BAA6B,kBAAkB,YAAY;AAC/D,IAAI,SAAS,6BAA6B,CAAC,MAAM,EAAE;AACnD,QAAQ,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAA2B,CAAC,UAAU,OAAO,EAAE,QAAQ,EAAE;AAC7F,YAAY,OAAO,EAAE,OAAO,KAAK,YAAY,IAAI,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACvF,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,kBAAkB,GAAG,IAAI,qBAAqB,CAAC,UAAU,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;AAC1G,YAAY,IAAI,WAAW,CAAC,iBAAiB,IAAI,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE;AAC9G,gBAAgB,WAAW,GAAG,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;AACxD,gBAAgB,OAAO,WAAW,CAAC,iBAAiB,CAAC;AACrD,aAAa;AACb,YAAY,OAAO,WAAW,CAAC;AAC/B,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,6BAA6B,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACxF,QAAQ,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;AAC9G,KAAK,CAAC;AACN,IAAI,OAAO,6BAA6B,CAAC;AACzC,CAAC,EAAE,CAAC;;ACpBJ,IAAI,iCAAiC,kBAAkB,YAAY;AACnE,IAAI,SAAS,iCAAiC,CAAC,MAAM,EAAE;AACvD,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,UAAU,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE;AAChG,YAAY,IAAI,WAAW,CAAC,iBAAiB,EAAE;AAC/C,gBAAgB,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AACpF,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,iCAAiC,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AAC5F,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,OAAO,iCAAiC,CAAC;AAC7C,CAAC,EAAE,CAAC;;ACdJ,IAAI,SAAS,kBAAkB,YAAY;AAC3C,IAAI,SAAS,SAAS,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE;AAC9F,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAwB,CAAC,YAAY,EAAE,OAAO,SAAS,CAAC,EAAE,EAAE,UAAU,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAE;AACvK,YAAY,IAAI,gBAAgB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AACrE,YAAY,IAAI,gBAAgB,IAAI,IAAI,EAAE;AAC1C,gBAAgB,OAAO,SAAS,CAAC;AACjC,aAAa;AACb,YAAY,IAAI,oBAAoB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACnE,YAAY,IAAI,oBAAoB,IAAI,IAAI,EAAE;AAC9C,gBAAgB,OAAO,SAAS,CAAC;AACjC,aAAa;AACb,YAAY,OAAO,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;AACrF,SAAS,EAAE,yBAAyB,IAAI,IAAI;AAC5C,cAAc,UAAU,IAAI,EAAE,qBAAqB,EAAE;AACrD,gBAAgB,IAAI,IAAI,IAAI,IAAI,EAAE;AAClC,oBAAoB,OAAO,IAAI,CAAC;AAChC,iBAAiB;AACjB,gBAAgB,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;AAC/C,gBAAgB,IAAI,QAAQ,IAAI,IAAI,EAAE;AACtC,oBAAoB,OAAO,IAAI,CAAC;AAChC,iBAAiB;AACjB,gBAAgB,IAAI,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AACtE,gBAAgB,IAAI,WAAW,IAAI,IAAI,EAAE;AACzC,oBAAoB,OAAO,IAAI,CAAC;AAChC,iBAAiB;AACjB,gBAAgB,OAAO,WAAW,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAChE,aAAa;AACb,cAAc,SAAS,EAAE,iBAAiB,IAAI,IAAI,GAAG,iBAAiB,GAAG,SAAS,CAAC,CAAC;AACpF,KAAK;AACL,IAAI,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AAC5D,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACxD,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAChH,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC9G,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC1G,KAAK,CAAC;AACN,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC,EAAE,CAAC;;ACpCJ,IAAI,YAAY,kBAAkB,YAAY;AAC9C,IAAI,SAAS,YAAY,CAAC,EAAE,EAAE;AAC9B,QAAQ,IAAI,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,oBAAoB,GAAG,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,GAAG,EAAE,CAAC,uBAAuB,EAAE,yBAAyB,GAAG,EAAE,CAAC,yBAAyB,EAAE,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,CAAC;AACrS,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,IAAI,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAChH,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,CAAC,uBAAuB,IAAI,IAAI,GAAG,uBAAuB,GAAG,EAAE,EAAE,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;AACvJ,KAAK;AACL,IAAI,YAAY,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AAC/D;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACjD,QAAQ,OAAO,oBAAoB,CAAC;AACpC,YAAY,MAAM,EAAE,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM;AACvF,YAAY,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE;AACnE,YAAY,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;AAC3D,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,YAAY,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AACnH,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,IAAI,YAAY,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AACjH,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC1G,KAAK,CAAC;AACN,IAAI,OAAO,YAAY,CAAC;AACxB,CAAC,EAAE,CAAC;;AC5BJ,IAAI,UAAU,kBAAkB,YAAY;AAC5C,IAAI,SAAS,UAAU,CAAC,OAAO,EAAE;AACjC,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,KAAK;AACL,IAAI,UAAU,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AAC7D,QAAQ,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACjD,KAAK,CAAC;AACN,IAAI,OAAO,UAAU,CAAC;AACtB,CAAC,EAAE,CAAC;;ACJJ,SAAS,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;AAC9D,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AACD,IAAI,UAAU,kBAAkB,YAAY;AAC5C,IAAI,SAAS,UAAU,CAAC,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE;AACpH,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACvB,QAAQ,IAAI,gBAAgB,KAAK,KAAK,CAAC,EAAE,EAAE,gBAAgB,GAAG,uBAAuB,CAAC,EAAE;AACxF,QAAQ,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE;AACpD,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AAC3C,QAAQ,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AACrD,QAAQ,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AACnD,QAAQ,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC;AAClD,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AACjD,QAAQ,IAAI,2BAA2B,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC1E,QAAQ,IAAI,0BAA0B,GAAG,2BAA2B,CAAC,KAAK,EAAE,CAAC;AAC7E,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,EAAE,EAAE,GAAG,EAAE;AACjD,YAAY,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE;AACxC,gBAAgB,EAAE,CAAC,0BAA0B,CAAC,GAAG,UAAU,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAE;AACxG,oBAAoB,OAAO,eAAe,CAAC;AAC3C,wBAAwB,SAAS,EAAE,SAAS;AAC5C,wBAAwB,IAAI,EAAE,2BAA2B;AACzD,wBAAwB,UAAU,EAAE,UAAU;AAC9C,wBAAwB,SAAS,EAAE,SAAS;AAC5C,wBAAwB,qBAAqB,EAAE,qBAAqB;AACpE,wBAAwB,MAAM,EAAE,MAAM;AACtC,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,gBAAgB,EAAE,CAAC;AACnB,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE;AACzB,YAAY,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE;AAClG,YAAY,EAAE,GAAG,UAAU,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AACxF,KAAK;AACL,IAAI,UAAU,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AAC7D,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACvB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,GAAG,UAAU,SAAS,EAAE,EAAE,OAAO,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3M,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC1C,QAAQ,IAAI,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACjE,QAAQ,IAAI,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACnE,QAAQ,IAAI,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;AAC3F,QAAQ,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE;AACvD,YAAY,IAAI,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACzE,YAAY,SAAS,GAAG,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,GAAG,EAAE,GAAG,EAAE;AACpF,gBAAgB,EAAE,CAAC,iBAAiB,CAAC,GAAG;AACxC,oBAAoB,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAC7D,oBAAoB,OAAO,EAAE,IAAI,CAAC,gBAAgB;AAClD,iBAAiB;AACjB,gBAAgB,EAAE,EAAE,CAAC;AACrB,YAAY,gBAAgB,GAAG,oBAAoB,CAAC;AACpD,YAAY,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACnE,SAAS;AACT,QAAQ,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACnE,QAAQ,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,SAAS,EAAE,EAAE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;AACvJ,YAAY,EAAE,CAAC,iBAAiB,CAAC,GAAG;AACpC,gBAAgB,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACzD,gBAAgB,OAAO,EAAE,IAAI,CAAC,gBAAgB;AAC9C,aAAa;AACb,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACxC,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAC3D,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AACjH,QAAQ,qBAAqB,CAAC,SAAS,GAAG,CAAC,CAAC;AAC5C,QAAQ,qBAAqB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1D,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC/G,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC1G,KAAK,CAAC;AACN,IAAI,OAAO,UAAU,CAAC;AACtB,CAAC,EAAE,CAAC,CAAC;AAEL,SAAS,aAAa,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE;AAC9E,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE;AAC3C,IAAI,IAAI,oBAAoB,KAAK,KAAK,CAAC,EAAE,EAAE,oBAAoB,GAAG,EAAE,CAAC,EAAE;AACvE,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE;AAC9B,QAAQ,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AAC7D,YAAY,QAAQ,SAAS,CAAC,IAAI;AAClC,gBAAgB,KAAK,IAAI,CAAC,KAAK;AAC/B,oBAAoB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3C,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,IAAI,CAAC,eAAe;AACzC,oBAAoB,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;AACnG,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,IAAI,CAAC,eAAe,EAAE;AAC3C,oBAAoB,IAAI,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5D,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE;AAC7D,wBAAwB,oBAAoB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AAClE,wBAAwB,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;AACrH,qBAAqB;AACrB,oBAAoB,MAAM;AAC1B,iBAAiB;AAIjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,SAAS,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE;AACxC,IAAI,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE;AACtD,YAAY,IAAI,EAAE,IAAI,CAAC,IAAI;AAC3B,YAAY,KAAK,EAAE,GAAG;AACtB,SAAS,EAAE,CAAC,CAAC;AACb,CAAC;AACD,SAAS,eAAe,CAAC,EAAE,EAAE;AAC7B,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,qBAAqB,GAAG,EAAE,CAAC,qBAAqB,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1R,IAAI,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AACvF,IAAI,IAAI,aAAa,GAAG,EAAE,CAAC;AAC3B,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7B,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,QAAQ,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,iBAAiB,EAAE;AAC9F,YAAY,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE;AAChE,gBAAgB,IAAI,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,gBAAgB,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC;AACrE,oBAAoB,SAAS,EAAE,iBAAiB;AAChD,oBAAoB,UAAU,EAAE,UAAU;AAC1C,oBAAoB,IAAI,EAAE,IAAI;AAC9B,oBAAoB,SAAS,EAAE,SAAS;AACxC,oBAAoB,qBAAqB,EAAE,qBAAqB;AAChE,oBAAoB,MAAM,EAAE,MAAM;AAClC,oBAAoB,KAAK,EAAE,KAAK,GAAG,CAAC;AACpC,oBAAoB,YAAY,EAAE,eAAe;AACjD,iBAAiB,CAAC,CAAC,CAAC;AACpB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL,SAAS;AACT,QAAQ,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,iBAAiB,EAAE;AAC9F,YAAY,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAClF,gBAAgB,IAAI,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC;AAChE,gBAAgB,qBAAqB,CAAC,SAAS,EAAE,CAAC;AAClD,gBAAgB,IAAI,aAAa,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AACrE,gBAAgB,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;AAC7D,oBAAoB,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7D,oBAAoB,KAAK,EAAE,iBAAiB,CAAC,KAAK,IAAI,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK;AACzH,iBAAiB,CAAC;AAClB,gBAAgB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;AACrF,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC;AACM,SAAS,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE;AACrD,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE;AAC/B,QAAQ,OAAO,aAAa,CAAC;AAC7B,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACxD,QAAQ,IAAI,GAAG,GAAG,QAAQ,CAAC;AAC3B,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACxC,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE;AAC1B,YAAY,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AACnD,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAC3C,QAAQ,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;AACpC,QAAQ,WAAW,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AAC3C,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAS,CAAC,CAAC;AACX,QAAQ,GAAG,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/C,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,QAAQ,CAAC;AACpB,CAAC;AACD,SAAS,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE;AACxC,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;AAC9B,QAAQ,OAAO,SAAS,CAAC;AACzB,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;AACvC,QAAQ,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;AACtC,QAAQ,IAAI,YAAY,IAAI,IAAI,EAAE;AAClC,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,IAAI,OAAO,GAAG,EAAE,CAAC;AACzB,QAAQ,YAAY,CAAC,OAAO,CAAC,UAAU,WAAW,EAAE;AACpD,YAAY,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACjD,gBAAgB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1C,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAClD,YAAY,IAAI,IAAI,IAAI,IAAI,EAAE;AAC9B,gBAAgB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1C,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC9C,KAAK,CAAC,CAAC;AACP;;ACpMA,IAAI,QAAQ,kBAAkB,YAAY;AAC1C,IAAI,SAAS,QAAQ,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE;AAC/D,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACvF,KAAK;AACL,IAAI,QAAQ,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AAC3D,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACxD,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC/G,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC7G,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC1G,KAAK,CAAC;AACN,IAAI,OAAO,QAAQ,CAAC;AACpB,CAAC,EAAE,CAAC;;ACVJ,IAAI,UAAU,kBAAkB,YAAY;AAC5C,IAAI,SAAS,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;AAC7D,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACvB,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,KAAK,GAAG,WAAW,CAAC,EAAE;AACtD,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACzC,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AACvC,QAAQ,IAAI,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAC7C,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACzC,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AACvC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,EAAE,EAAE,GAAG,EAAE;AACjD,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;AACnC,gBAAgB,EAAE,CAAC,YAAY,CAAC,GAAG,UAAU,SAAS,EAAE,EAAE,OAAO,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE;AAC/I,gBAAgB,EAAE,CAAC;AACnB,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE;AACzB,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,UAAU,KAAK,EAAE,EAAE,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;AACjF,YAAY,EAAE,GAAG,UAAU,MAAM,EAAE,EAAE,OAAO,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5E,KAAK;AACL,IAAI,UAAU,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE;AAC7D,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,WAAW,EAAE,EAAE,OAAO,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3K,QAAQ,IAAI,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,SAAS,EAAE,EAAE,OAAO,SAAS,KAAK,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3L,QAAQ,IAAI,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClE,QAAQ,IAAI,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;AAC1C,QAAQ,SAAS,GAAG,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE;AACzE,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG;AACpC,gBAAgB,IAAI,EAAE,UAAU;AAChC,gBAAgB,OAAO,EAAE,qBAAqB;AAC9C,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAC3D,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AACjH,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC5G,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAC/G,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC1G,KAAK,CAAC;AACN,IAAI,OAAO,UAAU,CAAC;AACtB,CAAC,EAAE,CAAC,CAAC;AAEE,SAAS,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;AACtD,IAAI,IAAI,YAAY,GAAG,SAAS,CAAC;AACjC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AACtC,QAAQ,YAAY,GAAG;AACvB,YAAY,IAAI,EAAE,IAAI,CAAC,KAAK;AAC5B,YAAY,KAAK,EAAE;AACnB,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;AAC/B,gBAAgB,KAAK,EAAE,KAAK;AAC5B,aAAa;AACb,YAAY,IAAI,EAAE;AAClB,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI;AAC/B,gBAAgB,KAAK,EAAE,SAAS;AAChC,aAAa;AACb,YAAY,YAAY,EAAE;AAC1B,gBAAgB,IAAI,EAAE,IAAI,CAAC,aAAa;AACxC,gBAAgB,UAAU,EAAE,CAAC,SAAS,CAAC;AACvC,aAAa;AACb,SAAS,CAAC;AACV,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,YAAY,CAAC;AACxB,CAAC;AACM,SAAS,WAAW,CAAC,aAAa,EAAE,KAAK,EAAE;AAClD,IAAI,IAAI,QAAQ,GAAG,aAAa,CAAC;AACjC,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,IAAI,OAAO,MAAM,IAAI,IAAI,EAAE;AAC3B,QAAQ,QAAQ,GAAG,MAAM,CAAC;AAC1B,QAAQ,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAChC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC;AACD,SAAS,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE;AACrC,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;AAC9B,QAAQ,OAAO,SAAS,CAAC;AACzB,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;AACvC,QAAQ,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;AACtC,QAAQ,IAAI,YAAY,IAAI,IAAI,EAAE;AAClC,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,IAAI,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,WAAW,EAAE,EAAE,OAAO,WAAW,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;AACpG,QAAQ,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC9C,KAAK,CAAC,CAAC;AACP;;ACzFA,IAAI,SAAS,kBAAkB,YAAY;AAC3C,IAAI,SAAS,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE;AACjD,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,KAAK;AACL,IAAI,SAAS,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE;AACtE,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,SAAS,GAAG,EAAE,CAAC;AAC3B,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,QAAQ,IAAI,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE;AAC/D,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;AAC7B,gBAAgB,KAAK,EAAE,UAAU,IAAI,EAAE;AACvC,oBAAoB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,oBAAoB,IAAI,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;AAC/D,wBAAwB,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC1E;AACA;AACA,wBAAwB,IAAI,YAAY,GAAG,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa;AACvG,8BAA8B,UAAU;AACxC,8BAA8B;AAC9B,gCAAgC,IAAI,EAAE,IAAI,CAAC,aAAa;AACxD,gCAAgC,UAAU,EAAE,CAAC,UAAU,CAAC;AACxD,6BAA6B,CAAC;AAC9B,wBAAwB,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;AAC5F,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,KAAK,EAAE,YAAY;AACnC,oBAAoB,SAAS,CAAC,GAAG,EAAE,CAAC;AACpC,iBAAiB;AACjB,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,cAAc,EAAE;AACpE,QAAQ,IAAI,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;AAC3C,QAAQ,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC9B,YAAY,IAAI,IAAI,GAAG,QAAQ,CAAC;AAChC,YAAY,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,YAAY,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACpC,gBAAgB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AACxC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;AAChC,oBAAoB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,iBAAiB;AACjB,aAAa;AACb,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,MAAM,EAAE,cAAc,CAAC,MAAM;AACzC,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC,EAAE,CAAC;;ACtDJ,IAAI,YAAY,kBAAkB,YAAY;AAC9C,IAAI,SAAS,YAAY,CAAC,EAAE,EAAE;AAC9B,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AACvC,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACrB,KAAK;AACL,IAAI,YAAY,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,eAAe,EAAE;AACzE,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;AACnB,QAAQ,IAAI,aAAa,CAAC;AAC1B,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,QAAQ,IAAI,SAAS,GAAG,EAAE,CAAC;AAC3B,QAAQ,KAAK,CAAC,eAAe,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE;AAChD,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;AAC7B,gBAAgB,KAAK,EAAE,UAAU,IAAI,EAAE;AACvC,oBAAoB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,oBAAoB,IAAI,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;AACnE,wBAAwB,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;AAC1D,wBAAwB,OAAO,KAAK,CAAC;AACrC,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,KAAK,EAAE,YAAY;AACnC,oBAAoB,SAAS,CAAC,GAAG,EAAE,CAAC;AACpC,iBAAiB;AACjB,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,SAAS,GAAG,EAAE,CAAC;AACvB,QAAQ,IAAI,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE;AAC/D,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;AAC7B,gBAAgB,KAAK,EAAE,UAAU,IAAI,EAAE;AACvC,oBAAoB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,oBAAoB,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,aAAa,IAAI,IAAI,EAAE;AAC1F,wBAAwB,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;AAC7F,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,KAAK,EAAE,YAAY;AACnC,oBAAoB,SAAS,CAAC,GAAG,EAAE,CAAC;AACpC,iBAAiB;AACjB,aAAa;AACb,YAAY,EAAE,EAAE,CAAC;AACjB,QAAQ,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,IAAI,OAAO,YAAY,CAAC;AACxB,CAAC,EAAE,CAAC;;AC1CG,SAAS,0BAA0B,CAAC,EAAE,EAAE;AAC/C,IAAI,IAAI,gBAAgB,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,cAAc,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,2BAA2B,GAAG,EAAE,EAAE,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAAC;AAChO,IAAI,IAAI,YAAY,GAAG,OAAO,gBAAgB,KAAK,QAAQ,GAAG,WAAW,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;AACnI,IAAI,OAAO,UAAU,CAAC;AACtB,QAAQ,MAAM,EAAE,YAAY;AAC5B,QAAQ,sBAAsB,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE;AAC5F,KAAK,CAAC,CAAC;AACP,CAAC;AACM,SAAS,2BAA2B,CAAC,QAAQ,EAAE,UAAU,EAAE;AAClE,IAAI,OAAO,UAAU,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;AACpD,QAAQ,OAAO,gBAAgB,CAAC;AAChC,YAAY,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE;AACvF,YAAY,OAAO,EAAE,OAAO;AAC5B,YAAY,IAAI,EAAE,IAAI;AACtB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN;;ACjBA,IAAI,kBAAkB,GAAG,UAAU,KAAK,EAAE,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,kBAAkB,GAAG,UAAU,MAAM,EAAE;AAC3C,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACpC,QAAQ,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;AACjD,KAAK;AACL;AACA;AACA,IAAI,OAAO,MAAM;AACjB,SAAS,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AAC/C,SAAS,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC;AACF;AACA,IAAI,gBAAgB,GAAG,qBAAqB,CAAC;AAC7C,IAAI,SAAS,GAAG,8GAA8G,CAAC;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU,GAAG,UAAU,KAAK,EAAE,QAAQ,EAAE;AAC5C,IAAI,IAAI,aAAa,GAAG,QAAQ,IAAI,IAAI,MAAM,CAAC,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;AACjG,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AACpC,SAAS,KAAK,CAAC,IAAI,CAAC;AACpB,SAAS,MAAM,CAAC,UAAU,IAAI,EAAE;AAChC,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACvD,QAAQ,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACrD,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACnC;AACA,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,uCAAuC,CAAC;AACnE,YAAY,KAAK,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE;AACxE,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,KAAK,CAAC;AACN,SAAS,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC/D,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE;AAC7B,QAAQ,IAAI,aAAa,EAAE;AAC3B,YAAY,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACrD,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY,GAAG,UAAU,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;AACrD,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE;AACxC,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AAC5B,QAAQ,MAAM,EAAE,GAAG;AACnB,QAAQ,iBAAiB,EAAE,KAAK;AAChC,KAAK,EAAE,OAAO,CAAC,CAAC;AAChB,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACpC,QAAQ,MAAM,IAAI,SAAS,CAAC,0CAA0C,GAAG,OAAO,MAAM,GAAG,GAAG,CAAC,CAAC;AAC9F,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,0CAA0C,GAAG,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC;AAC7F,KAAK;AACL,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;AACnB,QAAQ,MAAM,IAAI,UAAU,CAAC,0CAA0C,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;AACvF,KAAK;AACL,IAAI,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;AAC5C,QAAQ,MAAM,IAAI,SAAS,CAAC,mDAAmD,GAAG,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AAC/G,KAAK;AACL,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE;AACrB,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,iBAAiB,GAAG,KAAK,GAAG,aAAa,CAAC;AAClE,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC;AACF;AACA,IAAI,cAAc,kBAAkB,UAAU,MAAM,EAAE;AACtD,IAAI,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACtC,IAAI,SAAS,cAAc,CAAC,MAAM,EAAE;AACpC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,qCAAqC,GAAG,OAAO,MAAM,CAAC,CAAC;AACvF,SAAS;AACT,QAAQ,IAAI,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;AAC3D,YAAY,IAAI,KAAK,YAAY,KAAK,EAAE;AACxC,gBAAgB,OAAO,KAAK,CAAC;AAC7B,aAAa;AACb,YAAY,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7D;AACA,gBAAgB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AACtE,aAAa;AACb,YAAY,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AACpC,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,OAAO,GAAG,gBAAgB;AACtC,aAAa,GAAG,CAAC,UAAU,KAAK,EAAE;AAClC;AACA,YAAY,OAAO,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACjH,SAAS,CAAC;AACV,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,QAAQ,OAAO,GAAG,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAClD,QAAQ,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;AACnD,QAAQ,KAAK,CAAC,IAAI,GAAG,gBAAgB,CAAC;AACtC,QAAQ,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;AACtD,YAAY,GAAG,EAAE,YAAY,EAAE,OAAO,YAAY,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACpG,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC,KAAK,CAAC,CAAC;;AC/IT,SAAS,0BAA0B,CAAC,mBAAmB,EAAE;AACzD,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;AACf,IAAI,IAAI,CAAC,EAAE,GAAG,mBAAmB,KAAK,IAAI,IAAI,mBAAmB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;AACpK,QAAQ,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC3D,KAAK;AACL,SAAS,IAAI,CAAC,EAAE,GAAG,mBAAmB,KAAK,IAAI,IAAI,mBAAmB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE;AACzK,QAAQ,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACnD,YAAY,IAAI,aAAa,GAAG,IAAI,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC/E,YAAY,MAAM,aAAa,CAAC;AAChC,SAAS;AACT,QAAQ,IAAI,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,QAAQ,MAAM,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC;AAC3C,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACnH,KAAK;AACL,CAAC;AACM,SAAS,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7D,IAAI,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY;AACvD,QAAQ,IAAI,wBAAwB,EAAE,mBAAmB,CAAC;AAC1D,QAAQ,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;AAC/C,YAAY,QAAQ,EAAE,CAAC,KAAK;AAC5B,gBAAgB,KAAK,CAAC;AACtB,oBAAoB,wBAAwB,GAAG,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AACrF,oBAAoB,OAAO,CAAC,CAAC,YAAY,QAAQ,CAAC;AAClD,4BAA4B,QAAQ,EAAE,wBAAwB;AAC9D,4BAA4B,OAAO,EAAE,OAAO;AAC5C,yBAAyB,CAAC,CAAC,CAAC;AAC5B,gBAAgB,KAAK,CAAC;AACtB,oBAAoB,mBAAmB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AACpD,oBAAoB,OAAO,CAAC,CAAC,aAAa,0BAA0B,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC3F,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACM,SAAS,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;AACjE,IAAI,IAAI,wBAAwB,GAAG,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AACzE,IAAI,IAAI,mBAAmB,GAAG,QAAQ,CAAC;AACvC,QAAQ,QAAQ,EAAE,wBAAwB;AAC1C,QAAQ,OAAO,EAAE,OAAO;AACxB,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,MAAM,IAAI,mBAAmB,EAAE;AACvC,QAAQ,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;AACzF,KAAK;AACL,IAAI,OAAO,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;AAC3D;;;;"}
\No newline at end of file