@microsoft/agents-hosting 1.9.0-beta.3.gb2d23c1c44 → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/README.md +182 -4
  2. package/dist/package.json +3 -3
  3. package/dist/src/app/agentApplication.d.ts +4 -3
  4. package/dist/src/app/agentApplication.js +24 -21
  5. package/dist/src/app/agentApplication.js.map +1 -1
  6. package/dist/src/app/agentApplicationBuilder.d.ts +9 -2
  7. package/dist/src/app/agentApplicationBuilder.js +9 -0
  8. package/dist/src/app/agentApplicationBuilder.js.map +1 -1
  9. package/dist/src/app/agentApplicationOptions.d.ts +16 -4
  10. package/dist/src/app/auth/authorization.d.ts +54 -0
  11. package/dist/src/app/auth/authorization.js +63 -2
  12. package/dist/src/app/auth/authorization.js.map +1 -1
  13. package/dist/src/app/auth/authorizationManager.d.ts +0 -8
  14. package/dist/src/app/auth/authorizationManager.js +104 -178
  15. package/dist/src/app/auth/authorizationManager.js.map +1 -1
  16. package/dist/src/app/auth/handlerStorage.d.ts +5 -3
  17. package/dist/src/app/auth/handlerStorage.js +36 -10
  18. package/dist/src/app/auth/handlerStorage.js.map +1 -1
  19. package/dist/src/app/auth/types.d.ts +2 -2
  20. package/dist/src/app/index.d.ts +1 -0
  21. package/dist/src/app/proactive/proactive.js +10 -6
  22. package/dist/src/app/proactive/proactive.js.map +1 -1
  23. package/dist/src/app/proactive/proactiveOptions.d.ts +2 -2
  24. package/dist/src/app/rateLimit.d.ts +315 -0
  25. package/dist/src/app/rateLimit.js +333 -0
  26. package/dist/src/app/rateLimit.js.map +1 -0
  27. package/dist/src/app/turnState.d.ts +6 -3
  28. package/dist/src/app/turnState.js +43 -4
  29. package/dist/src/app/turnState.js.map +1 -1
  30. package/dist/src/auth/authConfiguration.d.ts +10 -3
  31. package/dist/src/auth/authConfiguration.js +292 -259
  32. package/dist/src/auth/authConfiguration.js.map +1 -1
  33. package/dist/src/auth/delegatedTokenCredential.d.ts +29 -0
  34. package/dist/src/auth/delegatedTokenCredential.js +49 -0
  35. package/dist/src/auth/delegatedTokenCredential.js.map +1 -0
  36. package/dist/src/auth/msal/msalTokenCredential.js +1 -1
  37. package/dist/src/auth/msal/msalTokenCredential.js.map +1 -1
  38. package/dist/src/auth/settings.d.ts +8 -70
  39. package/dist/src/auth/settings.js +5 -67
  40. package/dist/src/auth/settings.js.map +1 -1
  41. package/dist/src/cloudAdapter.d.ts +5 -0
  42. package/dist/src/cloudAdapter.js +13 -103
  43. package/dist/src/cloudAdapter.js.map +1 -1
  44. package/dist/src/configuration/botFrameworkEnvironmentCompatibility.d.ts +23 -0
  45. package/dist/src/configuration/botFrameworkEnvironmentCompatibility.js +183 -0
  46. package/dist/src/configuration/botFrameworkEnvironmentCompatibility.js.map +1 -0
  47. package/dist/src/configuration/configuration.d.ts +83 -0
  48. package/dist/src/configuration/configuration.js +836 -0
  49. package/dist/src/configuration/configuration.js.map +1 -0
  50. package/dist/src/configuration/configurationSource.d.ts +57 -0
  51. package/dist/src/configuration/configurationSource.js +7 -0
  52. package/dist/src/configuration/configurationSource.js.map +1 -0
  53. package/dist/src/configuration/environmentConfiguration.d.ts +14 -0
  54. package/dist/src/configuration/environmentConfiguration.js +271 -0
  55. package/dist/src/configuration/environmentConfiguration.js.map +1 -0
  56. package/dist/src/configuration/index.d.ts +7 -0
  57. package/dist/src/configuration/index.js +14 -0
  58. package/dist/src/configuration/index.js.map +1 -0
  59. package/dist/src/configuration/jsonFileConfigurationSource.d.ts +15 -0
  60. package/dist/src/configuration/jsonFileConfigurationSource.js +58 -0
  61. package/dist/src/configuration/jsonFileConfigurationSource.js.map +1 -0
  62. package/dist/src/createCloudAdapter.d.ts +30 -5
  63. package/dist/src/createCloudAdapter.js +17 -10
  64. package/dist/src/createCloudAdapter.js.map +1 -1
  65. package/dist/src/errorHelper.js +124 -5
  66. package/dist/src/errorHelper.js.map +1 -1
  67. package/dist/src/index.d.ts +1 -0
  68. package/dist/src/index.js +1 -0
  69. package/dist/src/index.js.map +1 -1
  70. package/dist/src/observability/traces.d.ts +6 -4
  71. package/dist/src/observability/traces.js +10 -9
  72. package/dist/src/observability/traces.js.map +1 -1
  73. package/dist/src/outboundHostValidator.d.ts +4 -1
  74. package/dist/src/outboundHostValidator.js +25 -48
  75. package/dist/src/outboundHostValidator.js.map +1 -1
  76. package/dist/src/state/agentState.d.ts +8 -3
  77. package/dist/src/state/agentState.js +26 -8
  78. package/dist/src/state/agentState.js.map +1 -1
  79. package/dist/src/state/conversationState.d.ts +2 -2
  80. package/dist/src/state/conversationState.js.map +1 -1
  81. package/dist/src/state/userState.d.ts +2 -2
  82. package/dist/src/state/userState.js.map +1 -1
  83. package/dist/src/statusCodes.d.ts +5 -0
  84. package/dist/src/statusCodes.js +5 -0
  85. package/dist/src/statusCodes.js.map +1 -1
  86. package/dist/src/storage/fileStorage.d.ts +83 -68
  87. package/dist/src/storage/fileStorage.js +279 -105
  88. package/dist/src/storage/fileStorage.js.map +1 -1
  89. package/dist/src/storage/index.d.ts +1 -0
  90. package/dist/src/storage/index.js +1 -0
  91. package/dist/src/storage/index.js.map +1 -1
  92. package/dist/src/storage/memoryStorage.d.ts +85 -60
  93. package/dist/src/storage/memoryStorage.js +244 -87
  94. package/dist/src/storage/memoryStorage.js.map +1 -1
  95. package/dist/src/storage/storage.d.ts +100 -2
  96. package/dist/src/storage/storage.js +25 -0
  97. package/dist/src/storage/storage.js.map +1 -1
  98. package/dist/src/storage/storageCompatibility.d.ts +17 -0
  99. package/dist/src/storage/storageCompatibility.js +157 -0
  100. package/dist/src/storage/storageCompatibility.js.map +1 -0
  101. package/dist/src/storage/storageExpiry.d.ts +6 -0
  102. package/dist/src/storage/storageExpiry.js +20 -0
  103. package/dist/src/storage/storageExpiry.js.map +1 -0
  104. package/dist/src/utils/env.d.ts +43 -0
  105. package/dist/src/utils/env.js +42 -6
  106. package/dist/src/utils/env.js.map +1 -1
  107. package/dist/src/utils.d.ts +1 -0
  108. package/dist/src/utils.js +10 -1
  109. package/dist/src/utils.js.map +1 -1
  110. package/package.json +3 -3
  111. package/src/app/agentApplication.ts +27 -14
  112. package/src/app/agentApplicationBuilder.ts +13 -2
  113. package/src/app/agentApplicationOptions.ts +18 -4
  114. package/src/app/auth/authorization.ts +67 -2
  115. package/src/app/auth/authorizationManager.ts +126 -204
  116. package/src/app/auth/handlerStorage.ts +51 -7
  117. package/src/app/auth/types.ts +2 -2
  118. package/src/app/index.ts +7 -0
  119. package/src/app/proactive/proactive.ts +19 -9
  120. package/src/app/proactive/proactiveOptions.ts +2 -2
  121. package/src/app/rateLimit.ts +659 -0
  122. package/src/app/turnState.ts +50 -7
  123. package/src/auth/authConfiguration.ts +415 -260
  124. package/src/auth/delegatedTokenCredential.ts +49 -0
  125. package/src/auth/msal/msalTokenCredential.ts +1 -1
  126. package/src/auth/settings.ts +5 -82
  127. package/src/cloudAdapter.ts +38 -113
  128. package/src/configuration/botFrameworkEnvironmentCompatibility.ts +245 -0
  129. package/src/configuration/configuration.ts +1076 -0
  130. package/src/configuration/configurationSource.ts +76 -0
  131. package/src/configuration/environmentConfiguration.ts +377 -0
  132. package/src/configuration/index.ts +19 -0
  133. package/src/configuration/jsonFileConfigurationSource.ts +74 -0
  134. package/src/createCloudAdapter.ts +52 -9
  135. package/src/errorHelper.ts +151 -5
  136. package/src/index.ts +1 -0
  137. package/src/observability/traces.ts +8 -7
  138. package/src/outboundHostValidator.ts +37 -44
  139. package/src/state/agentState.ts +39 -13
  140. package/src/state/conversationState.ts +2 -2
  141. package/src/state/userState.ts +2 -2
  142. package/src/statusCodes.ts +6 -0
  143. package/src/storage/fileStorage.ts +299 -106
  144. package/src/storage/index.ts +1 -0
  145. package/src/storage/memoryStorage.ts +268 -85
  146. package/src/storage/storage.ts +114 -2
  147. package/src/storage/storageCompatibility.ts +185 -0
  148. package/src/storage/storageExpiry.ts +21 -0
  149. package/src/utils/env.ts +63 -0
  150. package/src/utils.ts +10 -0
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ import { TokenCredential } from '@azure/core-auth';
5
6
  import { TokenResponse } from '../../oauth';
6
7
  import { TurnContext } from '../../turnContext';
7
8
  import { TurnState } from '../turnState';
@@ -9,8 +10,10 @@ import { AuthorizationManager } from './authorizationManager';
9
10
  import { AuthorizationHandlerTokenOptions } from './types';
10
11
  export interface Authorization {
11
12
  getToken(context: TurnContext, authHandlerId: string): Promise<TokenResponse>;
13
+ getTokenAsTokenCredential?(context: TurnContext, authHandlerId: string): TokenCredential;
12
14
  exchangeToken(context: TurnContext, scopes: string[], authHandlerId: string): Promise<TokenResponse>;
13
15
  exchangeToken(context: TurnContext, authHandlerId: string, options?: AuthorizationHandlerTokenOptions): Promise<TokenResponse>;
16
+ exchangeTokenAsTokenCredential?(context: TurnContext, authHandlerId: string, options?: AuthorizationHandlerTokenOptions): TokenCredential;
14
17
  signOut(context: TurnContext, state: TurnState, authHandlerId?: string): Promise<void>;
15
18
  onSignInSuccess(handler: (context: TurnContext, state: TurnState, authHandlerId?: string) => Promise<void>): void;
16
19
  onSignInFailure(handler: (context: TurnContext, state: TurnState, authHandlerId?: string, errorMessage?: string) => Promise<void>): void;
@@ -62,6 +65,28 @@ export declare class UserAuthorization implements Authorization {
62
65
  * @public
63
66
  */
64
67
  getToken(context: TurnContext, authHandlerId: string): Promise<TokenResponse>;
68
+ /**
69
+ * Creates a token credential backed by the current turn's user token.
70
+ *
71
+ * @param context - The context object for the current turn.
72
+ * @param authHandlerId - ID of the auth handler to use.
73
+ * @returns A {@link TokenCredential} that resolves to the current turn's user token.
74
+ * @throws {Error} If the auth handler is not configured.
75
+ *
76
+ * @remarks
77
+ * The returned credential is scoped to this `context` and should only be used during the
78
+ * current turn. Do not cache it or pass it to a client that outlives the turn; create a new
79
+ * credential in each turn instead.
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const credential = auth.getTokenAsTokenCredential(context, 'microsoft');
84
+ * const client = new SomeAzureClient(endpoint, credential);
85
+ * ```
86
+ *
87
+ * @public
88
+ */
89
+ getTokenAsTokenCredential(context: TurnContext, authHandlerId: string): TokenCredential;
65
90
  /**
66
91
  * @deprecated
67
92
  * Exchanges a token for a new token with different scopes.
@@ -118,6 +143,35 @@ export declare class UserAuthorization implements Authorization {
118
143
  * @public
119
144
  */
120
145
  exchangeToken(context: TurnContext, authHandlerId: string, options?: AuthorizationHandlerTokenOptions): Promise<TokenResponse>;
146
+ /**
147
+ * Creates a token credential that exchanges the user token for requested scopes during the current turn.
148
+ *
149
+ * @param context - The context object for the current turn.
150
+ * @param authHandlerId - ID of the auth handler to use.
151
+ * @param options - Optional token options. If `connection` and `scopes` are NOT provided, the auth handler's
152
+ * configured `obo` options are used. Provide `options` only to override them for a specific credential.
153
+ * @returns A {@link TokenCredential} that exchanges the current turn's user token for the requested scopes.
154
+ * @throws {Error} If the auth handler is not configured.
155
+ *
156
+ * @remarks
157
+ * The returned credential is scoped to this `context` and should only be used during the current turn.
158
+ * Do not cache it or pass it to a client that outlives the turn; create a new credential in each turn instead.
159
+ * Scopes requested from the credential (via `TokenCredential.getToken`) are combined with `options.scopes`,
160
+ * and duplicate scopes are removed.
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * const credential = auth.exchangeTokenAsTokenCredential(
165
+ * context,
166
+ * 'microsoft',
167
+ * { connection: 'oboConnection', scopes: ['https://graph.microsoft.com/.default'] }
168
+ * );
169
+ * const client = new SomeAzureClient(endpoint, credential);
170
+ * ```
171
+ *
172
+ * @public
173
+ */
174
+ exchangeTokenAsTokenCredential(context: TurnContext, authHandlerId: string, options?: AuthorizationHandlerTokenOptions): TokenCredential;
121
175
  /**
122
176
  * Signs out the current user.
123
177
  *
@@ -5,10 +5,11 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.UserAuthorization = void 0;
8
- const agents_telemetry_1 = require("@microsoft/agents-telemetry");
9
8
  const agents_activity_1 = require("@microsoft/agents-activity");
10
- const turnState_1 = require("../turnState");
9
+ const agents_telemetry_1 = require("@microsoft/agents-telemetry");
10
+ const delegatedTokenCredential_1 = require("../../auth/delegatedTokenCredential");
11
11
  const errorHelper_1 = require("../../errorHelper");
12
+ const turnState_1 = require("../turnState");
12
13
  const logger = (0, agents_telemetry_1.debug)('agents:authorization');
13
14
  /**
14
15
  * Class responsible for managing authorization and OAuth flows.
@@ -62,6 +63,30 @@ class UserAuthorization {
62
63
  const { token } = await handler.token(context);
63
64
  return { token };
64
65
  }
66
+ /**
67
+ * Creates a token credential backed by the current turn's user token.
68
+ *
69
+ * @param context - The context object for the current turn.
70
+ * @param authHandlerId - ID of the auth handler to use.
71
+ * @returns A {@link TokenCredential} that resolves to the current turn's user token.
72
+ * @throws {Error} If the auth handler is not configured.
73
+ *
74
+ * @remarks
75
+ * The returned credential is scoped to this `context` and should only be used during the
76
+ * current turn. Do not cache it or pass it to a client that outlives the turn; create a new
77
+ * credential in each turn instead.
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * const credential = auth.getTokenAsTokenCredential(context, 'microsoft');
82
+ * const client = new SomeAzureClient(endpoint, credential);
83
+ * ```
84
+ *
85
+ * @public
86
+ */
87
+ getTokenAsTokenCredential(context, authHandlerId) {
88
+ return new delegatedTokenCredential_1.DelegatedTokenCredential(async () => await this.getToken(context, authHandlerId));
89
+ }
65
90
  /**
66
91
  * @internal
67
92
  * Internal implementation of exchangeToken method.
@@ -80,6 +105,42 @@ class UserAuthorization {
80
105
  }
81
106
  throw agents_activity_1.ExceptionHelper.generateException(Error, errorHelper_1.Errors.InvalidExchangeTokenParameters);
82
107
  }
108
+ /**
109
+ * Creates a token credential that exchanges the user token for requested scopes during the current turn.
110
+ *
111
+ * @param context - The context object for the current turn.
112
+ * @param authHandlerId - ID of the auth handler to use.
113
+ * @param options - Optional token options. If `connection` and `scopes` are NOT provided, the auth handler's
114
+ * configured `obo` options are used. Provide `options` only to override them for a specific credential.
115
+ * @returns A {@link TokenCredential} that exchanges the current turn's user token for the requested scopes.
116
+ * @throws {Error} If the auth handler is not configured.
117
+ *
118
+ * @remarks
119
+ * The returned credential is scoped to this `context` and should only be used during the current turn.
120
+ * Do not cache it or pass it to a client that outlives the turn; create a new credential in each turn instead.
121
+ * Scopes requested from the credential (via `TokenCredential.getToken`) are combined with `options.scopes`,
122
+ * and duplicate scopes are removed.
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * const credential = auth.exchangeTokenAsTokenCredential(
127
+ * context,
128
+ * 'microsoft',
129
+ * { connection: 'oboConnection', scopes: ['https://graph.microsoft.com/.default'] }
130
+ * );
131
+ * const client = new SomeAzureClient(endpoint, credential);
132
+ * ```
133
+ *
134
+ * @public
135
+ */
136
+ exchangeTokenAsTokenCredential(context, authHandlerId, options) {
137
+ return new delegatedTokenCredential_1.DelegatedTokenCredential(async (scopes) => {
138
+ var _a;
139
+ const scopeSet = new Set([...scopes, ...((_a = options === null || options === void 0 ? void 0 : options.scopes) !== null && _a !== void 0 ? _a : [])]);
140
+ const mergedScopes = Array.from(scopeSet);
141
+ return await this.exchangeToken(context, authHandlerId, { connection: options === null || options === void 0 ? void 0 : options.connection, scopes: mergedScopes });
142
+ });
143
+ }
83
144
  /**
84
145
  * Signs out the current user.
85
146
  *
@@ -1 +1 @@
1
- {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../../src/app/auth/authorization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../../src/app/auth/authorization.ts"],"names":[],"mappings":"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"}
@@ -36,14 +36,6 @@ export declare class AuthorizationManager {
36
36
  private app;
37
37
  private connections;
38
38
  private _handlers;
39
- /**
40
- * Environment variable configuration for the latest format.
41
- */
42
- private _envLatest;
43
- /**
44
- * Environment variable configuration for the legacy format.
45
- */
46
- private _envLegacy;
47
39
  /**
48
40
  * Creates an instance of the AuthorizationManager.
49
41
  * @param app The agent application instance.
@@ -13,12 +13,45 @@ const handlerStorage_1 = require("./handlerStorage");
13
13
  const errorHelper_1 = require("../../errorHelper");
14
14
  const types_1 = require("./types");
15
15
  const utils_1 = require("./utils");
16
- const settings_1 = require("../../auth/settings");
17
16
  const utils_2 = require("../../utils");
17
+ const configuration_1 = require("../../configuration/configuration");
18
+ const environmentConfiguration_1 = require("../../configuration/environmentConfiguration");
19
+ const botFrameworkEnvironmentCompatibility_1 = require("../../configuration/botFrameworkEnvironmentCompatibility");
18
20
  const logger = (0, agents_telemetry_1.debug)('agents:authorization:manager');
19
21
  const AGENTIC = 'AgenticUserAuthorization';
20
22
  const AGENTIC_LEGACY = 'agentic';
21
23
  const AZURE_BOT = 'AzureBotUserAuthorization';
24
+ function redactAuthorizationString(value) {
25
+ return typeof value === 'string' ? (0, agents_telemetry_1.redactString)(value) : undefined;
26
+ }
27
+ function summarizeAuthorizationConfiguration(options) {
28
+ return (0, utils_2.prune)({
29
+ type: options.type,
30
+ azureBotOAuthConnectionName: 'azureBotOAuthConnectionName' in options
31
+ ? redactAuthorizationString(options.azureBotOAuthConnectionName)
32
+ : undefined,
33
+ invalidSignInRetryMax: 'invalidSignInRetryMax' in options && typeof options.invalidSignInRetryMax === 'number'
34
+ ? options.invalidSignInRetryMax
35
+ : undefined,
36
+ oboConnectionName: 'oboConnectionName' in options
37
+ ? redactAuthorizationString(options.oboConnectionName)
38
+ : undefined,
39
+ oboScopes: 'oboScopes' in options && Array.isArray(options.oboScopes) &&
40
+ options.oboScopes.every(scope => typeof scope === 'string')
41
+ ? (0, agents_telemetry_1.redactScopes)(options.oboScopes)
42
+ : undefined,
43
+ enableSso: 'enableSso' in options && typeof options.enableSso === 'boolean'
44
+ ? options.enableSso
45
+ : undefined,
46
+ scopes: 'scopes' in options && Array.isArray(options.scopes) &&
47
+ options.scopes.every(scope => typeof scope === 'string')
48
+ ? (0, agents_telemetry_1.redactScopes)(options.scopes)
49
+ : undefined,
50
+ altBlueprintConnectionName: 'altBlueprintConnectionName' in options
51
+ ? redactAuthorizationString(options.altBlueprintConnectionName)
52
+ : undefined
53
+ });
54
+ }
22
55
  /**
23
56
  * Manages multiple authorization handlers and their interactions.
24
57
  * Processes authorization requests and maintains handler states.
@@ -36,85 +69,6 @@ class AuthorizationManager {
36
69
  this.app = app;
37
70
  this.connections = connections;
38
71
  this._handlers = {};
39
- /**
40
- * Environment variable configuration for the latest format.
41
- */
42
- this._envLatest = {
43
- key: {
44
- prefix: 'AgentApplication__UserAuthorization__Handlers__',
45
- separator: '__Settings__',
46
- create(id, prop) {
47
- return `${this.prefix}${id}${this.separator}${prop}`;
48
- },
49
- extract(envKey) {
50
- // Substring: AgentApplication__UserAuthorization__Handlers__<id>__Settings__<prop>
51
- // position —————————————————————————————————————————> start^ ^end ^prop
52
- const start = this.prefix.length;
53
- const end = envKey.toUpperCase().indexOf(this.separator.toUpperCase());
54
- if (end === -1) {
55
- return { id: undefined, prop: undefined };
56
- }
57
- const id = envKey.substring(start, end);
58
- const prop = envKey.substring(end + this.separator.length);
59
- return { id, prop };
60
- }
61
- },
62
- parser: (0, settings_1.envParser)({
63
- // Common
64
- type: settings_1.envParserUtils.bypass,
65
- // Azure Bot
66
- azureBotOAuthConnectionName: settings_1.envParserUtils.bypass,
67
- title: settings_1.envParserUtils.bypass,
68
- text: settings_1.envParserUtils.bypass,
69
- invalidSignInRetryMessage: settings_1.envParserUtils.bypass,
70
- invalidSignInRetryMessageFormat: settings_1.envParserUtils.bypass,
71
- invalidSignInRetryMaxExceededMessage: settings_1.envParserUtils.bypass,
72
- oboConnectionName: settings_1.envParserUtils.bypass,
73
- enableSso(value) {
74
- return { value: value !== 'false' };
75
- },
76
- invalidSignInRetryMax(value) {
77
- return { value: parseInt(value) };
78
- },
79
- oboScopes(value) {
80
- return this.scopes(value);
81
- },
82
- // Agentic
83
- altBlueprintConnectionName: settings_1.envParserUtils.bypass,
84
- scopes(value) {
85
- if (value.includes(',')) {
86
- return { value: value.split(',').map(s => s.trim()).filter(Boolean) };
87
- }
88
- return { value: value.split(/\s+/).filter(Boolean) };
89
- }
90
- }),
91
- };
92
- /**
93
- * Environment variable configuration for the legacy format.
94
- */
95
- this._envLegacy = {
96
- key: {
97
- separator: '_',
98
- },
99
- parser: (0, settings_1.envParser)({
100
- // Common
101
- type: settings_1.envParserUtils.redirect(this._envLatest.parser, 'type'),
102
- // Azure Bot
103
- connectionName: settings_1.envParserUtils.redirect(this._envLatest.parser, 'azureBotOAuthConnectionName'),
104
- connectionTitle: settings_1.envParserUtils.redirect(this._envLatest.parser, 'title'),
105
- connectionText: settings_1.envParserUtils.redirect(this._envLatest.parser, 'text'),
106
- maxAttempts: settings_1.envParserUtils.redirect(this._envLatest.parser, 'invalidSignInRetryMax'),
107
- messages_invalidCode: settings_1.envParserUtils.redirect(this._envLatest.parser, 'invalidSignInRetryMessage'),
108
- messages_invalidCodeFormat: settings_1.envParserUtils.redirect(this._envLatest.parser, 'invalidSignInRetryMessageFormat'),
109
- messages_maxAttemptsExceeded: settings_1.envParserUtils.redirect(this._envLatest.parser, 'invalidSignInRetryMaxExceededMessage'),
110
- obo_connection: settings_1.envParserUtils.redirect(this._envLatest.parser, 'oboConnectionName'),
111
- obo_scopes: settings_1.envParserUtils.redirect(this._envLatest.parser, 'oboScopes'),
112
- enableSso: settings_1.envParserUtils.redirect(this._envLatest.parser, 'enableSso'),
113
- // Agentic
114
- scopes: settings_1.envParserUtils.redirect(this._envLatest.parser, 'scopes'),
115
- altBlueprintConnectionName: settings_1.envParserUtils.redirect(this._envLatest.parser, 'altBlueprintConnectionName')
116
- })
117
- };
118
72
  this.createHandlers();
119
73
  if (this.handlers.length === 0 && app.options.authorization !== undefined) {
120
74
  throw agents_activity_1.ExceptionHelper.generateException(Error, errorHelper_1.Errors.NoAuthHandlersConfigured);
@@ -256,84 +210,55 @@ class AuthorizationManager {
256
210
  * Creates authorization handlers based on the application configuration and environment variables.
257
211
  */
258
212
  createHandlers() {
259
- var _a, _b, _c, _d, _e;
260
- var _f, _g;
213
+ var _a, _b;
261
214
  let legacyMessage = '';
262
215
  const settings = { storage: this.app.options.storage, connections: this.connections };
263
216
  const runtimeOptionEntries = Object.entries((_a = this.app.options.authorization) !== null && _a !== void 0 ? _a : {});
264
- const result = { latest: {}, legacy: {} };
265
- for (const [envKey, envValue] of Object.entries(process.env)) {
266
- if (!(envValue === null || envValue === void 0 ? void 0 : envValue.trim())) {
267
- continue;
268
- }
269
- const upperEnvKey = envKey.toUpperCase();
270
- // Legacy: extract handler ID, handler options key and its value, and assign it to the correct runtime handler ID.
271
- if (!upperEnvKey.startsWith(this._envLatest.key.prefix.toUpperCase())) {
272
- const [id] = (_b = runtimeOptionEntries.find(([id]) => upperEnvKey.startsWith(`${id.toUpperCase()}${this._envLegacy.key.separator}`))) !== null && _b !== void 0 ? _b : [];
273
- if (!id) {
274
- continue;
275
- }
276
- const prop = envKey.substring(id.length + this._envLegacy.key.separator.length);
277
- if (!prop) {
278
- continue;
279
- }
280
- const { key, value } = this._envLegacy.parser.parse(prop, envValue);
281
- if (!key) {
282
- continue;
283
- }
284
- legacyMessage += ` ${envKey}= # Use ${this._envLatest.key.create(id, key)} instead.\n`;
285
- (_c = (_f = result.legacy)[id]) !== null && _c !== void 0 ? _c : (_f[id] = {});
286
- result.legacy[id][key] = value;
287
- continue;
288
- }
289
- // Latest: extract handler ID, handler options key and its value, and assign it to the correct latest handler ID.
290
- const { id, prop } = this._envLatest.key.extract(envKey);
291
- if (!id || !prop) {
292
- continue;
293
- }
294
- const { key, value } = this._envLatest.parser.parse(prop, envValue);
295
- if (!key) {
296
- continue;
297
- }
298
- // Find existing handler ID case-insensitively to avoid duplicates, but keep the original casing for later processing.
299
- // This allows users to specify environment variables in a case-insensitive way, while ensuring that the handler IDs are treated in a case-sensitive way internally, to avoid issues when referencing them later.
300
- // For example, if the user specifies AGENTAPPLICATION__USERAUTHORIZATION__HANDLERS__GRAPH__SETTINGS__AZUREBOTOAUTHCONNECTIONNAME and agentapplication__userauthorization__handlers__graph__settings__azurebotoauthconnectionname, we want to treat them as the same handler ID "graph", and not create two separate handlers "GRAPH" and "graph".
301
- // Note: the first environment variable that is processed will determine the casing of the handler ID, and any subsequent environment variable that matches the same handler ID case-insensitively will be treated as referring to the same handler, regardless of its casing.
302
- const existingId = id in result.latest ? id : Object.keys(result.latest).find(e => e.toLowerCase() === id.toLowerCase());
303
- const realId = existingId !== null && existingId !== void 0 ? existingId : id;
304
- (_d = (_g = result.latest)[realId]) !== null && _d !== void 0 ? _d : (_g[realId] = {});
305
- result.latest[realId][key] = value;
217
+ const result = {
218
+ latest: {},
219
+ legacy: {}
220
+ };
221
+ const external = (0, configuration_1.getConfigurationSnapshot)(this.app.options.configurationContext);
222
+ const externalOptionEntries = [
223
+ ...[...external.fallback.agentApplication.userAuthorization.handlers.values()].map(handler => [handler.id, handler.settings]),
224
+ ...[...external.overrideEnvironment.agentApplication.userAuthorization.handlers.values()].map(handler => [handler.id, handler.settings]),
225
+ ...[...external.enforce.agentApplication.userAuthorization.handlers.values()].map(handler => [handler.id, handler.settings])
226
+ ];
227
+ const modernHandlers = (0, environmentConfiguration_1.loadModernEnvironmentConfiguration)()
228
+ .agentApplication.userAuthorization.handlers;
229
+ for (const handler of modernHandlers.values()) {
230
+ result.latest[handler.id] = { ...handler.settings };
231
+ }
232
+ const compatibility = (0, botFrameworkEnvironmentCompatibility_1.loadBotFrameworkAuthorizationEnvironmentConfiguration)([...runtimeOptionEntries, ...externalOptionEntries].map(([id]) => id));
233
+ for (const handler of compatibility.layer.agentApplication.userAuthorization.handlers.values()) {
234
+ result.legacy[handler.id] = { ...handler.settings };
235
+ }
236
+ for (const replacement of compatibility.replacements) {
237
+ legacyMessage += ` ${replacement.legacyKey}= # Use ${replacement.modernKey} instead.\n`;
306
238
  }
307
239
  if (legacyMessage.length > 0) {
308
240
  logger.warn('Deprecated environment variables detected, update to the latest format: (case-insensitive)', `[\n${legacyMessage}]`);
309
241
  }
310
- // Fix types
311
- const fixTypes = (entries) => entries
312
- .map(([id, options]) => [id, { ...options, type: this.fixType(id, options === null || options === void 0 ? void 0 : options.type) }]);
313
- const runtimeEntries = fixTypes(runtimeOptionEntries);
314
- const latestEntries = fixTypes(Object.entries(result.latest));
315
- const legacyEntries = fixTypes(Object.entries(result.legacy));
316
242
  const registeredHandlers = new Set();
317
- for (const [id] of [...runtimeEntries, ...latestEntries]) {
243
+ const handlerEntries = [
244
+ ...runtimeOptionEntries,
245
+ ...Object.entries(result.latest),
246
+ ...Object.entries(result.legacy),
247
+ ...externalOptionEntries
248
+ ];
249
+ for (const [id] of handlerEntries) {
318
250
  if (registeredHandlers.has(id.toLowerCase())) {
319
251
  continue;
320
252
  }
321
- const { options, format } = this.resolveHandlerConfiguration(id, runtimeEntries, latestEntries, legacyEntries);
253
+ const { options, format } = this.resolveHandlerConfiguration(id, runtimeOptionEntries, Object.entries(result.latest), Object.entries(result.legacy), external);
322
254
  if (options.type === AZURE_BOT) {
323
255
  // Set default values if not provided
324
256
  options.title || (options.title = 'Sign-in');
325
257
  options.text || (options.text = 'Please sign-in to continue');
326
- (_e = options.oboScopes) !== null && _e !== void 0 ? _e : (options.oboScopes = []);
258
+ (_b = options.oboScopes) !== null && _b !== void 0 ? _b : (options.oboScopes = []);
327
259
  options.enableSso = options.enableSso !== false; // default value is true if undefined.
328
260
  }
329
- const maskedOptions = {};
330
- if ('oboScopes' in options && options.oboScopes && options.oboScopes.length > 0) {
331
- maskedOptions.oboScopes = (0, agents_telemetry_1.redactScopes)(options.oboScopes);
332
- }
333
- if ('scopes' in options && options.scopes && options.scopes.length > 0) {
334
- maskedOptions.scopes = (0, agents_telemetry_1.redactScopes)(options.scopes);
335
- }
336
- logger.info(this.prefix(id, 'settings loaded from \'%s\''), format, { ...options, ...maskedOptions });
261
+ logger.info(this.prefix(id, 'settings loaded from \'%s\''), format, summarizeAuthorizationConfiguration(options));
337
262
  if (!settings.storage) {
338
263
  throw agents_activity_1.ExceptionHelper.generateException(Error, errorHelper_1.Errors.StorageRequiredForAuthorization);
339
264
  }
@@ -368,50 +293,51 @@ class AuthorizationManager {
368
293
  /**
369
294
  * Resolves the effective handler configuration for a given handler ID.
370
295
  */
371
- resolveHandlerConfiguration(id, runtimeEntries, latestEntries, legacyEntries) {
296
+ resolveHandlerConfiguration(id, runtimeEntries, latestEntries, legacyEntries, external) {
372
297
  var _a, _b, _c, _d, _e;
373
- var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
298
+ var _f, _g, _h, _j, _k, _l, _m;
374
299
  const matchesId = ([_id]) => _id.toLowerCase() === id.toLowerCase();
375
- // Find entries case-insensitively for later processing
376
- const [, runtime] = (_f = runtimeEntries.find(matchesId)) !== null && _f !== void 0 ? _f : [];
377
- const [, latest] = (_g = latestEntries.find(matchesId)) !== null && _g !== void 0 ? _g : [];
378
- const [, legacy] = (_h = legacyEntries.find(matchesId)) !== null && _h !== void 0 ? _h : [];
300
+ const find = (entries) => { var _a; return (_a = entries.find(matchesId)) === null || _a === void 0 ? void 0 : _a[1]; };
301
+ const findExternal = (entries) => { var _a; return (_a = [...entries.values()].find(handler => handler.id.toLowerCase() === id.toLowerCase())) === null || _a === void 0 ? void 0 : _a.settings; };
302
+ const runtime = find(runtimeEntries);
303
+ const latest = find(latestEntries);
304
+ const legacy = find(legacyEntries);
379
305
  if (runtime !== undefined && latest !== undefined) {
380
306
  logger.warn(this.prefix(id, 'Both runtime options and latest environment variable configurations detected. Runtime configuration will take precedence over latest environment variables.'));
381
307
  }
308
+ const runtimeOptions = runtime === undefined ? undefined : { ...runtime };
382
309
  const runtimeLegacyKeys = ['name', 'maxAttempts', 'messages', 'obo'];
383
- const isRuntimeLegacy = runtime !== undefined && Object.keys(runtime).some(key => runtimeLegacyKeys.includes(key));
384
- let runtimeLegacyFormat = '';
385
- if (isRuntimeLegacy && runtime.type === AZURE_BOT) {
386
- (_j = runtime.azureBotOAuthConnectionName) !== null && _j !== void 0 ? _j : (runtime.azureBotOAuthConnectionName = runtime.name);
387
- (_k = runtime.invalidSignInRetryMax) !== null && _k !== void 0 ? _k : (runtime.invalidSignInRetryMax = runtime.maxAttempts);
388
- (_l = runtime.invalidSignInRetryMessage) !== null && _l !== void 0 ? _l : (runtime.invalidSignInRetryMessage = (_a = runtime.messages) === null || _a === void 0 ? void 0 : _a.invalidCode);
389
- (_m = runtime.invalidSignInRetryMessageFormat) !== null && _m !== void 0 ? _m : (runtime.invalidSignInRetryMessageFormat = (_b = runtime.messages) === null || _b === void 0 ? void 0 : _b.invalidCodeFormat);
390
- (_o = runtime.invalidSignInRetryMaxExceededMessage) !== null && _o !== void 0 ? _o : (runtime.invalidSignInRetryMaxExceededMessage = (_c = runtime.messages) === null || _c === void 0 ? void 0 : _c.maxAttemptsExceeded);
391
- (_p = runtime.oboConnectionName) !== null && _p !== void 0 ? _p : (runtime.oboConnectionName = (_d = runtime.obo) === null || _d === void 0 ? void 0 : _d.connection);
392
- (_q = runtime.oboScopes) !== null && _q !== void 0 ? _q : (runtime.oboScopes = (_e = runtime.obo) === null || _e === void 0 ? void 0 : _e.scopes);
393
- delete runtime.name;
394
- delete runtime.maxAttempts;
395
- delete runtime.messages;
396
- delete runtime.obo;
397
- runtimeLegacyFormat = 'runtime options (legacy)';
310
+ const isRuntimeLegacy = runtimeOptions !== undefined && Object.keys(runtimeOptions).some(key => runtimeLegacyKeys.includes(key));
311
+ let runtimeFormat = 'runtime options';
312
+ if (isRuntimeLegacy && this.fixType(id, runtimeOptions.type) === AZURE_BOT) {
313
+ (_f = runtimeOptions.azureBotOAuthConnectionName) !== null && _f !== void 0 ? _f : (runtimeOptions.azureBotOAuthConnectionName = runtimeOptions.name);
314
+ (_g = runtimeOptions.invalidSignInRetryMax) !== null && _g !== void 0 ? _g : (runtimeOptions.invalidSignInRetryMax = runtimeOptions.maxAttempts);
315
+ (_h = runtimeOptions.invalidSignInRetryMessage) !== null && _h !== void 0 ? _h : (runtimeOptions.invalidSignInRetryMessage = (_a = runtimeOptions.messages) === null || _a === void 0 ? void 0 : _a.invalidCode);
316
+ (_j = runtimeOptions.invalidSignInRetryMessageFormat) !== null && _j !== void 0 ? _j : (runtimeOptions.invalidSignInRetryMessageFormat = (_b = runtimeOptions.messages) === null || _b === void 0 ? void 0 : _b.invalidCodeFormat);
317
+ (_k = runtimeOptions.invalidSignInRetryMaxExceededMessage) !== null && _k !== void 0 ? _k : (runtimeOptions.invalidSignInRetryMaxExceededMessage = (_c = runtimeOptions.messages) === null || _c === void 0 ? void 0 : _c.maxAttemptsExceeded);
318
+ (_l = runtimeOptions.oboConnectionName) !== null && _l !== void 0 ? _l : (runtimeOptions.oboConnectionName = (_d = runtimeOptions.obo) === null || _d === void 0 ? void 0 : _d.connection);
319
+ (_m = runtimeOptions.oboScopes) !== null && _m !== void 0 ? _m : (runtimeOptions.oboScopes = (_e = runtimeOptions.obo) === null || _e === void 0 ? void 0 : _e.scopes);
320
+ delete runtimeOptions.name;
321
+ delete runtimeOptions.maxAttempts;
322
+ delete runtimeOptions.messages;
323
+ delete runtimeOptions.obo;
324
+ runtimeFormat = 'runtime options (legacy)';
398
325
  }
399
- if (runtime !== undefined && legacy !== undefined) {
400
- return { format: `${runtimeLegacyFormat || 'runtime options'} + .env variables (legacy)`, options: { ...(0, utils_2.prune)(legacy), ...(0, utils_2.prune)(runtime) } };
401
- }
402
- if (runtime !== undefined) {
403
- return { format: runtimeLegacyFormat || 'runtime options', options: (0, utils_2.prune)(runtime) };
404
- }
405
- if (latest !== undefined) {
406
- return { format: '.env variables', options: (0, utils_2.prune)(latest) };
407
- }
408
- if (legacy !== undefined) {
409
- // Note: this should never happen, as legacy requires runtime to be present.
410
- // However, we show a warning just in case to detect if something goes wrong.
411
- logger.warn(this.prefix(id, 'Legacy environment variable configuration detected without a corresponding runtime options configuration.'));
412
- return { format: '.env variables (legacy)', options: (0, utils_2.prune)(legacy) };
413
- }
414
- return { format: 'empty options', options: {} };
326
+ const layers = [
327
+ ['external configuration (fallback)', findExternal(external.fallback.agentApplication.userAuthorization.handlers)],
328
+ ['.env variables (legacy)', runtimeOptions !== undefined || latest === undefined ? legacy : undefined],
329
+ ['.env variables', runtimeOptions === undefined ? latest : undefined],
330
+ ['external configuration (overrideEnvironment)', findExternal(external.overrideEnvironment.agentApplication.userAuthorization.handlers)],
331
+ [runtimeFormat, runtimeOptions],
332
+ ['external configuration (enforce)', findExternal(external.enforce.agentApplication.userAuthorization.handlers)]
333
+ ];
334
+ const activeLayers = layers.filter((layer) => layer[1] !== undefined);
335
+ const options = (0, utils_2.mergeDefined)(...activeLayers.map(([, layer]) => layer));
336
+ options.type = this.fixType(id, options.type);
337
+ return {
338
+ format: activeLayers.map(([format]) => format).join(' + ') || 'empty options',
339
+ options
340
+ };
415
341
  }
416
342
  }
417
343
  exports.AuthorizationManager = AuthorizationManager;
@@ -1 +1 @@
1
- {"version":3,"file":"authorizationManager.js","sourceRoot":"","sources":["../../../../src/app/auth/authorizationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorizationManager.js","sourceRoot":"","sources":["../../../../src/app/auth/authorizationManager.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gEAAsE;AACtE,kEAA+E;AAE/E,yCAAwE;AACxE,mDAA+C;AAC/C,qDAAiD;AACjD,mDAA0C;AAC1C,mCAA0J;AAE1J,mCAA4C;AAC5C,uCAAiD;AACjD,qEAA4E;AAC5E,2FAAiG;AACjG,mHAAgI;AAEhI,MAAM,MAAM,GAAG,IAAA,wBAAK,EAAC,8BAA8B,CAAC,CAAA;AAEpD,MAAM,OAAO,GAAG,0BAA0B,CAAA;AAC1C,MAAM,cAAc,GAAG,SAAS,CAAA;AAChC,MAAM,SAAS,GAAG,2BAA2B,CAAA;AAE7C,SAAS,yBAAyB,CAAE,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,+BAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACpE,CAAC;AAED,SAAS,mCAAmC,CAAE,OAAqC;IACjF,OAAO,IAAA,aAAK,EAAC;QACX,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,2BAA2B,EAAE,6BAA6B,IAAI,OAAO;YACnE,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,2BAA2B,CAAC;YAChE,CAAC,CAAC,SAAS;QACb,qBAAqB,EAAE,uBAAuB,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,qBAAqB,KAAK,QAAQ;YAC5G,CAAC,CAAC,OAAO,CAAC,qBAAqB;YAC/B,CAAC,CAAC,SAAS;QACb,iBAAiB,EAAE,mBAAmB,IAAI,OAAO;YAC/C,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACtD,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,WAAW,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YACnE,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YAC3D,CAAC,CAAC,IAAA,+BAAY,EAAC,OAAO,CAAC,SAAS,CAAC;YACjC,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,WAAW,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS;YACzE,CAAC,CAAC,OAAO,CAAC,SAAS;YACnB,CAAC,CAAC,SAAS;QACb,MAAM,EAAE,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACxD,CAAC,CAAC,IAAA,+BAAY,EAAC,OAAO,CAAC,MAAM,CAAC;YAC9B,CAAC,CAAC,SAAS;QACb,0BAA0B,EAAE,4BAA4B,IAAI,OAAO;YACjE,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,0BAA0B,CAAC;YAC/D,CAAC,CAAC,SAAS;KACd,CAAC,CAAA;AACJ,CAAC;AA6BD;;;;;;;GAOG;AACH;IAGE;;;OAGG;IACH,YAAqB,GAA0B,EAAU,WAAwB;QAA5D,QAAG,GAAH,GAAG,CAAuB;QAAU,gBAAW,GAAX,WAAW,CAAa;QANzE,cAAS,GAAyC,EAAE,CAAA;QAO1D,IAAI,CAAC,cAAc,EAAE,CAAA;QAErB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC1E,MAAM,iCAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAM,CAAC,wBAAwB,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAW,QAAQ;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAE,OAAoB,EAAE,aAA4B;;;QACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAEjC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QACtC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAQ,EAAE,OAAO,CAAC,CAAA;QAEtE,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QAEtD,IAAI,CAAC,MAAM,KAAI,MAAA,QAAQ,CAAC,IAAI,0CAAE,UAAU,CAAC,SAAS,CAAC,CAAA,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,aAAa,QAAQ,CAAC,IAAI,iDAAiD,MAAA,QAAQ,CAAC,IAAI,0CAAE,EAAE,IAAI,CAAA;YAC/G,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC7B,MAAM,IAAA,0BAAkB,EAAC,OAAO,EAAE;gBAChC,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;aAChC,CAAC,CAAA;YACF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QACvC,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,0CAAE,EAAE,OAAK,MAAA,QAAQ,CAAC,YAAY,0CAAE,EAAE,CAAA,EAAE,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,oGAAoG,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxI,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;YACtB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QACtC,CAAC;QAED,MAAM,QAAQ,eAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,IAAI,CAAC,WAAW,OAAC,MAAM,aAAa,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC,mCAAI,EAAE,CAAA;QAEhG,qLAAqL;QACrL,MAAM,aAAa,GAAG,IAAI,yBAAW,CAAC,OAAO,CAAC,CAAA;QAE9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9F,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YACxD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAA;YAC/E,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YAEvE,IAAI,MAAM,KAAK,kCAA0B,CAAC,OAAO,EAAE,CAAC;gBAClD,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;gBACtB,SAAQ;YACV,CAAC;YAED,IAAI,MAAM,KAAK,kCAA0B,CAAC,OAAO,EAAE,CAAC;gBAClD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAA;YACtD,CAAC;YAED,IAAI,MAAM,KAAK,kCAA0B,CAAC,QAAQ,EAAE,CAAC;gBACnD,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;gBACtB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAA;YACtD,CAAC;YAED,IAAI,MAAM,KAAK,kCAA0B,CAAC,UAAU,EAAE,CAAC;gBACrD,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;gBACtB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;YACnD,CAAC;YAED,IAAI,MAAM,KAAK,kCAA0B,CAAC,QAAQ,EAAE,CAAC;gBACnD,MAAM,iCAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAM,CAAC,4BAA4B,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YAC5G,CAAC;YAED,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;YAEtB,IAAI,MAAM,EAAE,CAAC;gBACV,aAAqB,CAAC,SAAS,GAAG,0BAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC5E,MAAM,GAAG,SAAS,CAAA;YACpB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAA;IACrD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,MAAM,CAAE,OAAuB,EAAE,aAA4B;;QACzE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,0BAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1E,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAA;QAEjD,uFAAuF;QACvF,QAAQ,SAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAChC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBACrB,OAAO,CAAC,CAAC,CAAA;YACX,CAAC;YACD,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBACrB,OAAO,CAAC,CAAA;YACV,CAAC;YACD,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,mCAAI,EAAE,CAAA;QACR,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC3B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,MAAM,CAAE,OAAuB,EAAE,OAA6B,EAAE,OAAoB,EAAE,MAAmC;QACrI,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;YACtB,MAAM,iCAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAM,CAAC,cAAc,EAAE,KAAc,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAE,GAAa;QAChC,MAAM,eAAe,GAAa,EAAE,CAAA;QACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;YAChF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC1B,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAA;QAE7C,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,iCAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAM,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpI,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;OAEG;IACK,MAAM,CAAE,EAAU,EAAE,OAAe;QACzC,OAAO,YAAY,EAAE,KAAK,OAAO,EAAE,CAAA;IACrC,CAAC;IAED;;OAEG;IACK,cAAc;;QACpB,IAAI,aAAa,GAAG,EAAE,CAAA;QACtB,MAAM,QAAQ,GAAiC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAA;QACpH,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,OAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAA;QACjF,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SAIX,CAAA;QACD,MAAM,QAAQ,GAAG,IAAA,wCAAwB,EAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAChF,MAAM,qBAAqB,GAAG;YAC5B,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAU,CAAC;YACtI,GAAG,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAU,CAAC;YACjJ,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAU,CAAC;SACtI,CAAA;QACD,MAAM,cAAc,GAAG,IAAA,6DAAkC,GAAE;aACxD,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAA;QAC9C,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;QACrD,CAAC;QAED,MAAM,aAAa,GAAG,IAAA,4FAAqD,EACzE,CAAC,GAAG,oBAAoB,EAAE,GAAG,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CACtE,CAAA;QACD,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;QACrD,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;YACrD,aAAa,IAAI,KAAK,WAAW,CAAC,SAAS,WAAW,WAAW,CAAC,SAAS,aAAa,CAAA;QAC1F,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,4FAA4F,EAAE,MAAM,aAAa,GAAG,CAAC,CAAA;QACnI,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAA;QACpC,MAAM,cAAc,GAAG;YACrB,GAAG,oBAAoB;YACvB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAChC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAChC,GAAG,qBAAqB;SACzB,CAAA;QACD,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC7C,SAAQ;YACV,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAC1D,EAAE,EACF,oBAAoB,EACpB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,QAAQ,CACT,CAAA;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,qCAAqC;gBACrC,OAAO,CAAC,KAAK,KAAb,OAAO,CAAC,KAAK,GAAK,SAAS,EAAA;gBAC3B,OAAO,CAAC,IAAI,KAAZ,OAAO,CAAC,IAAI,GAAK,4BAA4B,EAAA;gBAC7C,MAAA,OAAO,CAAC,SAAS,oCAAjB,OAAO,CAAC,SAAS,GAAK,EAAE,EAAA;gBACxB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,CAAA,CAAC,sCAAsC;YACxF,CAAC;YAED,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,6BAA6B,CAAC,EAC9C,MAAM,EACN,mCAAmC,CAAC,OAAO,CAAC,CAC7C,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,iCAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAM,CAAC,+BAA+B,CAAC,CAAA;YACxF,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,+BAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;YACtE,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,gCAAqB,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;YACvE,CAAC;YAED,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,OAAO,CAAE,SAAiB,EAAE,IAAmD;QACrF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,sFAAsF,CAAC,CAAC,CAAA;YAC3H,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACjD,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YACnD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,iCAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAM,CAAC,0BAA0B,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IACrH,CAAC;IAED;;OAEG;IACK,2BAA2B,CACjC,EAAU,EACV,cAAoC,EACpC,aAAmC,EACnC,aAAmC,EACnC,QAAqD;;;QAKrD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAA;QAClF,MAAM,IAAI,GAAG,CAAC,OAA6B,EAAE,EAAE,kBAAC,MAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,0CAAG,CAAC,CAAC,GAAA,CAAA;QAC5E,MAAM,YAAY,GAAG,CACnB,OAAmG,EACnG,EAAE,kBAAC,MAAA,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,0CAAE,QAAQ,GAAA,CAAA;QAEnG,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;QAElC,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,6JAA6J,CAAC,CAAC,CAAA;QAC7L,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAA;QACzE,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QACpE,MAAM,eAAe,GAAG,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAEhI,IAAI,aAAa,GAAG,iBAAiB,CAAA;QACrC,IAAI,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3E,MAAA,cAAc,CAAC,2BAA2B,oCAA1C,cAAc,CAAC,2BAA2B,GAAK,cAAc,CAAC,IAAI,EAAA;YAClE,MAAA,cAAc,CAAC,qBAAqB,oCAApC,cAAc,CAAC,qBAAqB,GAAK,cAAc,CAAC,WAAW,EAAA;YACnE,MAAA,cAAc,CAAC,yBAAyB,oCAAxC,cAAc,CAAC,yBAAyB,GAAK,MAAA,cAAc,CAAC,QAAQ,0CAAE,WAAW,EAAA;YACjF,MAAA,cAAc,CAAC,+BAA+B,oCAA9C,cAAc,CAAC,+BAA+B,GAAK,MAAA,cAAc,CAAC,QAAQ,0CAAE,iBAAiB,EAAA;YAC7F,MAAA,cAAc,CAAC,oCAAoC,oCAAnD,cAAc,CAAC,oCAAoC,GAAK,MAAA,cAAc,CAAC,QAAQ,0CAAE,mBAAmB,EAAA;YACpG,MAAA,cAAc,CAAC,iBAAiB,oCAAhC,cAAc,CAAC,iBAAiB,GAAK,MAAA,cAAc,CAAC,GAAG,0CAAE,UAAU,EAAA;YACnE,MAAA,cAAc,CAAC,SAAS,oCAAxB,cAAc,CAAC,SAAS,GAAK,MAAA,cAAc,CAAC,GAAG,0CAAE,MAAM,EAAA;YACvD,OAAO,cAAc,CAAC,IAAI,CAAA;YAC1B,OAAO,cAAc,CAAC,WAAW,CAAA;YACjC,OAAO,cAAc,CAAC,QAAQ,CAAA;YAC9B,OAAO,cAAc,CAAC,GAAG,CAAA;YACzB,aAAa,GAAG,0BAA0B,CAAA;QAC5C,CAAC;QAED,MAAM,MAAM,GAAqD;YAC/D,CAAC,mCAAmC,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAClH,CAAC,yBAAyB,EAAE,cAAc,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,CAAC,gBAAgB,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,CAAC,8CAA8C,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACxI,CAAC,aAAa,EAAE,cAAc,CAAC;YAC/B,CAAC,kCAAkC,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SACjH,CAAA;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAA0C,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAA;QAC7G,MAAM,OAAO,GAAG,IAAA,oBAAY,EAC1B,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAC1C,CAAA;QACD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAE7C,OAAO;YACL,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe;YAC7E,OAAO;SACR,CAAA;IACH,CAAC;CACF"}