@salesforce/mrt-utilities 0.2.2 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/data-store/production.d.ts +23 -0
- package/dist/cjs/data-store/production.js +128 -5
- package/dist/cjs/data-store/production.js.map +1 -1
- package/dist/cjs/streaming/create-lambda-adapter.js +82 -3
- package/dist/cjs/streaming/create-lambda-adapter.js.map +1 -1
- package/dist/esm/data-store/production.d.ts +23 -0
- package/dist/esm/data-store/production.js +127 -5
- package/dist/esm/data-store/production.js.map +1 -1
- package/dist/esm/streaming/create-lambda-adapter.js +82 -3
- package/dist/esm/streaming/create-lambda-adapter.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
1
2
|
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
2
3
|
export { DataStoreNotFoundError, DataStoreServiceError, DataStoreUnavailableError } from './errors.js';
|
|
4
|
+
/**
|
|
5
|
+
* Create the DynamoDB client used by the data store, configured for resilient reads under
|
|
6
|
+
* throttling: adaptive retries, bounded attempts, and hard per-attempt timeouts.
|
|
7
|
+
*
|
|
8
|
+
* @returns A configured DynamoDB client
|
|
9
|
+
*/
|
|
10
|
+
export declare function createDalDynamoDBClient(): DynamoDBClient;
|
|
3
11
|
/**
|
|
4
12
|
* A class for reading entries from the data store.
|
|
5
13
|
*
|
|
@@ -14,6 +22,8 @@ export declare class DataStore {
|
|
|
14
22
|
static _testDocumentClient: DynamoDBDocumentClient | null;
|
|
15
23
|
/** @internal Test hook: inject logMRTError for unit tests */
|
|
16
24
|
static _testLogMRTError: ((namespace: string, err: unknown, context?: Record<string, unknown>) => void) | null;
|
|
25
|
+
/** @internal Test hook: inject a deterministic random source (returns [0, 1)) for unit tests */
|
|
26
|
+
static _testRandom: (() => number) | null;
|
|
17
27
|
private constructor();
|
|
18
28
|
/**
|
|
19
29
|
* Get or create a DynamoDB document client (for abstraction of attribute values).
|
|
@@ -23,6 +33,19 @@ export declare class DataStore {
|
|
|
23
33
|
* @throws {DataStoreUnavailableError} The data store is unavailable
|
|
24
34
|
*/
|
|
25
35
|
private getClient;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve the DynamoDB partition key for a read, applying shard selection.
|
|
38
|
+
*
|
|
39
|
+
* Reads the shard count from `MRT_NUM_SHARDS` (default 1) and picks a random
|
|
40
|
+
* shard `i` in `[0, N)`. Shard 0 is the legacy unsuffixed partition key, so
|
|
41
|
+
* when `MRT_NUM_SHARDS` is unset or 1 this is identical to today's behavior.
|
|
42
|
+
* There is no runtime fallback: writers fan out to every shard, so every shard
|
|
43
|
+
* a reader can pick is guaranteed to exist.
|
|
44
|
+
*
|
|
45
|
+
* @private
|
|
46
|
+
* @returns The `projectEnvironment` partition key value to read
|
|
47
|
+
*/
|
|
48
|
+
private resolveShardPartitionKey;
|
|
26
49
|
/**
|
|
27
50
|
* Get or create the singleton DataStore instance.
|
|
28
51
|
*
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.DataStore = exports.DataStoreUnavailableError = exports.DataStoreServiceError = exports.DataStoreNotFoundError = void 0;
|
|
9
|
+
exports.createDalDynamoDBClient = createDalDynamoDBClient;
|
|
9
10
|
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
10
11
|
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
11
12
|
const errors_js_1 = require("./errors.js");
|
|
@@ -14,6 +15,101 @@ var errors_js_2 = require("./errors.js");
|
|
|
14
15
|
Object.defineProperty(exports, "DataStoreNotFoundError", { enumerable: true, get: function () { return errors_js_2.DataStoreNotFoundError; } });
|
|
15
16
|
Object.defineProperty(exports, "DataStoreServiceError", { enumerable: true, get: function () { return errors_js_2.DataStoreServiceError; } });
|
|
16
17
|
Object.defineProperty(exports, "DataStoreUnavailableError", { enumerable: true, get: function () { return errors_js_2.DataStoreUnavailableError; } });
|
|
18
|
+
/**
|
|
19
|
+
* Retry mode for the data store DynamoDB client.
|
|
20
|
+
*
|
|
21
|
+
* `'adaptive'` adds a client-side rate limiter that backs off proactively when the table
|
|
22
|
+
* signals throttling, instead of retrying blindly into an already-saturated table. The
|
|
23
|
+
* rate limiter keeps state on the client instance, so it only helps across invocations on
|
|
24
|
+
* a warm container — the memoized client preserves that state.
|
|
25
|
+
*/
|
|
26
|
+
const DAL_RETRY_MODE = 'adaptive';
|
|
27
|
+
/**
|
|
28
|
+
* Maximum number of attempts (initial request + retries) per data store request.
|
|
29
|
+
*
|
|
30
|
+
* Bounds retry fan-out under sustained throttling. Chosen together with
|
|
31
|
+
* {@link DAL_REQUEST_TIMEOUT_MS} so that `DAL_MAX_ATTEMPTS × DAL_REQUEST_TIMEOUT_MS` stays
|
|
32
|
+
* comfortably under the surrounding request/function timeout.
|
|
33
|
+
*/
|
|
34
|
+
const DAL_MAX_ATTEMPTS = 2;
|
|
35
|
+
/**
|
|
36
|
+
* Maximum time (ms) to wait for a connection to be established per attempt.
|
|
37
|
+
*
|
|
38
|
+
* A hard per-attempt ceiling so a slow/hung connection cannot consume the whole budget.
|
|
39
|
+
* The client is memoized on a warm container and reuses keep-alive connections, so most
|
|
40
|
+
* attempts do not open a new connection; a fresh connect exceeding this is already
|
|
41
|
+
* abnormal.
|
|
42
|
+
*/
|
|
43
|
+
const DAL_CONNECTION_TIMEOUT_MS = 300;
|
|
44
|
+
/**
|
|
45
|
+
* Maximum time (ms) to wait for a response per attempt.
|
|
46
|
+
*
|
|
47
|
+
* A hard per-attempt ceiling. A single-key DynamoDB read is typically single-digit ms, so
|
|
48
|
+
* this leaves a large multiple of headroom over p99 while still failing fast on a genuine
|
|
49
|
+
* hang. See {@link DAL_MAX_ATTEMPTS} for the timeout/attempt invariant relative to the
|
|
50
|
+
* surrounding function timeout — with these defaults the worst-case timeout path is
|
|
51
|
+
* roughly `DAL_MAX_ATTEMPTS × DAL_REQUEST_TIMEOUT_MS` (≈1s) plus adaptive-retry backoff
|
|
52
|
+
* between attempts.
|
|
53
|
+
*/
|
|
54
|
+
const DAL_REQUEST_TIMEOUT_MS = 500;
|
|
55
|
+
/**
|
|
56
|
+
* Error names that indicate the request was throttled.
|
|
57
|
+
*
|
|
58
|
+
* Mirrors the AWS SDK's own throttling classification so the telemetry flag agrees with
|
|
59
|
+
* what actually drove adaptive backoff, rather than a hand-maintained subset.
|
|
60
|
+
*/
|
|
61
|
+
const THROTTLING_ERROR_NAMES = new Set([
|
|
62
|
+
'ThrottlingException',
|
|
63
|
+
'ProvisionedThroughputExceededException',
|
|
64
|
+
'RequestLimitExceeded',
|
|
65
|
+
'RequestThrottled',
|
|
66
|
+
'RequestThrottledException',
|
|
67
|
+
'TooManyRequestsException',
|
|
68
|
+
'ThrottledException',
|
|
69
|
+
'Throttling',
|
|
70
|
+
]);
|
|
71
|
+
/**
|
|
72
|
+
* Whether an error represents a throttling response.
|
|
73
|
+
*
|
|
74
|
+
* Checks the SDK's retryable-throttling trait and an HTTP 429 status in addition to the
|
|
75
|
+
* known throttling error names, so throttles surfaced only via metadata are still flagged.
|
|
76
|
+
*/
|
|
77
|
+
function isThrottlingError(error) {
|
|
78
|
+
if (typeof error !== 'object' || error === null) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
const candidate = error;
|
|
82
|
+
if (candidate.$retryable?.throttling === true) {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
if (candidate.$metadata?.httpStatusCode === 429) {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
return typeof candidate.name === 'string' && THROTTLING_ERROR_NAMES.has(candidate.name);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Create the DynamoDB client used by the data store, configured for resilient reads under
|
|
92
|
+
* throttling: adaptive retries, bounded attempts, and hard per-attempt timeouts.
|
|
93
|
+
*
|
|
94
|
+
* @returns A configured DynamoDB client
|
|
95
|
+
*/
|
|
96
|
+
function createDalDynamoDBClient() {
|
|
97
|
+
return new client_dynamodb_1.DynamoDBClient({
|
|
98
|
+
region: process.env.AWS_REGION,
|
|
99
|
+
retryMode: DAL_RETRY_MODE,
|
|
100
|
+
maxAttempts: DAL_MAX_ATTEMPTS,
|
|
101
|
+
// Passing a plain object lets the SDK construct its default NodeHttpHandler with these
|
|
102
|
+
// bounds — no direct dependency on the handler package required. `throwOnRequestTimeout`
|
|
103
|
+
// is required for `requestTimeout` to actually abort a hung request: without it the
|
|
104
|
+
// handler only logs a warning and lets the request run on. Safe here because a DAL read
|
|
105
|
+
// is a simple request/response, not a long-lived stream.
|
|
106
|
+
requestHandler: {
|
|
107
|
+
connectionTimeout: DAL_CONNECTION_TIMEOUT_MS,
|
|
108
|
+
requestTimeout: DAL_REQUEST_TIMEOUT_MS,
|
|
109
|
+
throwOnRequestTimeout: true,
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
17
113
|
/**
|
|
18
114
|
* A class for reading entries from the data store.
|
|
19
115
|
*
|
|
@@ -28,6 +124,8 @@ class DataStore {
|
|
|
28
124
|
static _testDocumentClient = null;
|
|
29
125
|
/** @internal Test hook: inject logMRTError for unit tests */
|
|
30
126
|
static _testLogMRTError = null;
|
|
127
|
+
/** @internal Test hook: inject a deterministic random source (returns [0, 1)) for unit tests */
|
|
128
|
+
static _testRandom = null;
|
|
31
129
|
constructor() {
|
|
32
130
|
// Private constructor for singleton; use DataStore.getDataStore() instead.
|
|
33
131
|
}
|
|
@@ -48,12 +146,34 @@ class DataStore {
|
|
|
48
146
|
}
|
|
49
147
|
if (!this._ddb) {
|
|
50
148
|
this._tableName = `DataAccessLayer-${process.env.AWS_REGION}`;
|
|
51
|
-
this._ddb = lib_dynamodb_1.DynamoDBDocumentClient.from(
|
|
52
|
-
region: process.env.AWS_REGION,
|
|
53
|
-
}));
|
|
149
|
+
this._ddb = lib_dynamodb_1.DynamoDBDocumentClient.from(createDalDynamoDBClient());
|
|
54
150
|
}
|
|
55
151
|
return this._ddb;
|
|
56
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Resolve the DynamoDB partition key for a read, applying shard selection.
|
|
155
|
+
*
|
|
156
|
+
* Reads the shard count from `MRT_NUM_SHARDS` (default 1) and picks a random
|
|
157
|
+
* shard `i` in `[0, N)`. Shard 0 is the legacy unsuffixed partition key, so
|
|
158
|
+
* when `MRT_NUM_SHARDS` is unset or 1 this is identical to today's behavior.
|
|
159
|
+
* There is no runtime fallback: writers fan out to every shard, so every shard
|
|
160
|
+
* a reader can pick is guaranteed to exist.
|
|
161
|
+
*
|
|
162
|
+
* @private
|
|
163
|
+
* @returns The `projectEnvironment` partition key value to read
|
|
164
|
+
*/
|
|
165
|
+
resolveShardPartitionKey() {
|
|
166
|
+
const base = `${process.env.MOBIFY_PROPERTY_ID} ${process.env.DEPLOY_TARGET}`;
|
|
167
|
+
const parsed = Number(process.env.MRT_NUM_SHARDS);
|
|
168
|
+
const numShards = Number.isInteger(parsed) && parsed > 1 ? parsed : 1;
|
|
169
|
+
if (numShards === 1) {
|
|
170
|
+
return base;
|
|
171
|
+
}
|
|
172
|
+
const random = DataStore._testRandom ?? Math.random;
|
|
173
|
+
const shard = Math.floor(random() * numShards);
|
|
174
|
+
// shard 0 is the legacy unsuffixed partition; shards 1..N-1 carry a suffix.
|
|
175
|
+
return shard === 0 ? base : `${base} ${shard}`;
|
|
176
|
+
}
|
|
57
177
|
/**
|
|
58
178
|
* Get or create the singleton DataStore instance.
|
|
59
179
|
*
|
|
@@ -87,19 +207,22 @@ class DataStore {
|
|
|
87
207
|
throw new errors_js_1.DataStoreUnavailableError('The data store is unavailable.');
|
|
88
208
|
}
|
|
89
209
|
const ddb = this.getClient();
|
|
210
|
+
const projectEnvironment = this.resolveShardPartitionKey();
|
|
90
211
|
let response;
|
|
91
212
|
try {
|
|
92
213
|
response = await ddb.send(new lib_dynamodb_1.GetCommand({
|
|
93
214
|
TableName: this._tableName,
|
|
94
215
|
Key: {
|
|
95
|
-
projectEnvironment
|
|
216
|
+
projectEnvironment,
|
|
96
217
|
key,
|
|
97
218
|
},
|
|
98
219
|
}));
|
|
99
220
|
}
|
|
100
221
|
catch (error) {
|
|
222
|
+
const errorName = error instanceof Error ? error.name : undefined;
|
|
223
|
+
const throttled = isThrottlingError(error);
|
|
101
224
|
const logFn = DataStore._testLogMRTError ?? utils_js_1.logMRTError;
|
|
102
|
-
logFn('data_store', error, { key, tableName: this._tableName });
|
|
225
|
+
logFn('data_store', error, { key, projectEnvironment, tableName: this._tableName, errorName, throttled });
|
|
103
226
|
throw new errors_js_1.DataStoreServiceError('Data store request failed.');
|
|
104
227
|
}
|
|
105
228
|
if (!response.Item?.value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production.js","sourceRoot":"","sources":["../../../src/data-store/production.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"production.js","sourceRoot":"","sources":["../../../src/data-store/production.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,62 @@ const serverless_adapter_1 = require("@h4ad/serverless-adapter");
|
|
|
22
22
|
* These headers are typically used for tracing, correlation, or other request/response matching purposes.
|
|
23
23
|
*/
|
|
24
24
|
const REQUEST_HEADERS_TO_COPY = ['x-correlation-id'];
|
|
25
|
+
// Node's Brotli default is quality 11, which is optimized for offline compression
|
|
26
|
+
// and can consume seconds of Lambda CPU for large streamed HTML responses.
|
|
27
|
+
const DEFAULT_BROTLI_QUALITY = 6;
|
|
28
|
+
const DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES = 32 * 1024;
|
|
29
|
+
/**
|
|
30
|
+
* Resolves the Brotli compression quality from the MRT_BROTLI_COMPRESSION_QUALITY
|
|
31
|
+
* environment variable, falling back to DEFAULT_BROTLI_QUALITY. Values that are not
|
|
32
|
+
* integers within the valid Brotli quality range (0-11) are ignored.
|
|
33
|
+
*
|
|
34
|
+
* @returns The Brotli quality level to use.
|
|
35
|
+
*/
|
|
36
|
+
function resolveBrotliQuality() {
|
|
37
|
+
const raw = process.env.MRT_BROTLI_COMPRESSION_QUALITY;
|
|
38
|
+
if (raw === undefined || raw.trim() === '') {
|
|
39
|
+
return DEFAULT_BROTLI_QUALITY;
|
|
40
|
+
}
|
|
41
|
+
const parsed = Number(raw);
|
|
42
|
+
if (Number.isInteger(parsed) &&
|
|
43
|
+
parsed >= node_zlib_1.default.constants.BROTLI_MIN_QUALITY &&
|
|
44
|
+
parsed <= node_zlib_1.default.constants.BROTLI_MAX_QUALITY) {
|
|
45
|
+
return parsed;
|
|
46
|
+
}
|
|
47
|
+
return DEFAULT_BROTLI_QUALITY;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Resolves the Brotli flush threshold (in bytes) from the MRT_BROTLI_FLUSH_THRESHOLD_BYTES
|
|
51
|
+
* environment variable, falling back to DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES.
|
|
52
|
+
* Values that are not positive integers are ignored.
|
|
53
|
+
*
|
|
54
|
+
* @returns The number of uncompressed bytes to buffer before forcing a Brotli flush.
|
|
55
|
+
*/
|
|
56
|
+
function resolveBrotliFlushThresholdBytes() {
|
|
57
|
+
const raw = process.env.MRT_BROTLI_FLUSH_THRESHOLD_BYTES;
|
|
58
|
+
if (raw === undefined || raw.trim() === '') {
|
|
59
|
+
return DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES;
|
|
60
|
+
}
|
|
61
|
+
const parsed = Number(raw);
|
|
62
|
+
if (Number.isInteger(parsed) && parsed > 0) {
|
|
63
|
+
return parsed;
|
|
64
|
+
}
|
|
65
|
+
return DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Resolves whether periodic Brotli flushing ("chunking") is enabled from the
|
|
69
|
+
* MRT_BROTLI_CHUNKING_ENABLED environment variable. Defaults to enabled; set the
|
|
70
|
+
* variable to "false" to disable it and let Brotli buffer output until the response ends.
|
|
71
|
+
*
|
|
72
|
+
* @returns true if periodic Brotli flushing should be performed.
|
|
73
|
+
*/
|
|
74
|
+
function isBrotliChunkingEnabled() {
|
|
75
|
+
const raw = process.env.MRT_BROTLI_CHUNKING_ENABLED;
|
|
76
|
+
if (!raw) {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
return raw.toLowerCase() !== 'false';
|
|
80
|
+
}
|
|
25
81
|
// Check if zstd compression is available (Node.js v22.15.0+)
|
|
26
82
|
let createZstdCompress;
|
|
27
83
|
try {
|
|
@@ -258,8 +314,20 @@ function getBestEncoding(acceptEncoding, compressionConfig) {
|
|
|
258
314
|
function createCompressionStream(encoding, compressionConfig) {
|
|
259
315
|
const options = compressionConfig?.options || undefined;
|
|
260
316
|
switch (encoding) {
|
|
261
|
-
case 'br':
|
|
262
|
-
|
|
317
|
+
case 'br': {
|
|
318
|
+
const brotliOptions = options;
|
|
319
|
+
const qualityParameter = node_zlib_1.default.constants.BROTLI_PARAM_QUALITY;
|
|
320
|
+
if (brotliOptions?.params?.[qualityParameter] !== undefined) {
|
|
321
|
+
return node_zlib_1.default.createBrotliCompress(brotliOptions);
|
|
322
|
+
}
|
|
323
|
+
return node_zlib_1.default.createBrotliCompress({
|
|
324
|
+
...brotliOptions,
|
|
325
|
+
params: {
|
|
326
|
+
...brotliOptions?.params,
|
|
327
|
+
[qualityParameter]: resolveBrotliQuality(),
|
|
328
|
+
},
|
|
329
|
+
});
|
|
330
|
+
}
|
|
263
331
|
case 'zstd':
|
|
264
332
|
if (!createZstdCompress) {
|
|
265
333
|
throw new Error('zstd compression is not available in this Node.js version (requires v22.15.0+)');
|
|
@@ -307,6 +375,9 @@ function createExpressResponse(responseStream, event, context, request, compress
|
|
|
307
375
|
let compressionStream = null;
|
|
308
376
|
let shouldCompress = false;
|
|
309
377
|
let compressionInitialized = false;
|
|
378
|
+
let uncompressedBytesSinceBrotliFlush = 0;
|
|
379
|
+
const brotliFlushThresholdBytes = resolveBrotliFlushThresholdBytes();
|
|
380
|
+
const brotliChunkingEnabled = isBrotliChunkingEnabled();
|
|
310
381
|
// Helper function to check if stream is still writable
|
|
311
382
|
const isStreamOpen = () => {
|
|
312
383
|
const streamToCheck = compressionStream || httpResponseStream || responseStream;
|
|
@@ -357,7 +428,15 @@ function createExpressResponse(responseStream, event, context, request, compress
|
|
|
357
428
|
try {
|
|
358
429
|
if (shouldCompress && compressionStream && compressionStream.writable) {
|
|
359
430
|
// Write to compression stream, which will compress and pipe to httpResponseStream
|
|
360
|
-
|
|
431
|
+
const accepted = compressionStream.write(chunk);
|
|
432
|
+
if (brotliChunkingEnabled && selectedEncoding === 'br' && typeof compressionStream.flush === 'function') {
|
|
433
|
+
uncompressedBytesSinceBrotliFlush += typeof chunk === 'string' ? Buffer.byteLength(chunk) : chunk.byteLength;
|
|
434
|
+
if (uncompressedBytesSinceBrotliFlush >= brotliFlushThresholdBytes) {
|
|
435
|
+
compressionStream.flush(node_zlib_1.default.constants.BROTLI_OPERATION_FLUSH);
|
|
436
|
+
uncompressedBytesSinceBrotliFlush = 0;
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
return accepted;
|
|
361
440
|
}
|
|
362
441
|
else if (httpResponseStream && httpResponseStream.writable) {
|
|
363
442
|
// No compression, write directly to httpResponseStream
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-lambda-adapter.js","sourceRoot":"","sources":["../../../src/streaming/create-lambda-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-lambda-adapter.js","sourceRoot":"","sources":["../../../src/streaming/create-lambda-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
1
2
|
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
2
3
|
export { DataStoreNotFoundError, DataStoreServiceError, DataStoreUnavailableError } from './errors.js';
|
|
4
|
+
/**
|
|
5
|
+
* Create the DynamoDB client used by the data store, configured for resilient reads under
|
|
6
|
+
* throttling: adaptive retries, bounded attempts, and hard per-attempt timeouts.
|
|
7
|
+
*
|
|
8
|
+
* @returns A configured DynamoDB client
|
|
9
|
+
*/
|
|
10
|
+
export declare function createDalDynamoDBClient(): DynamoDBClient;
|
|
3
11
|
/**
|
|
4
12
|
* A class for reading entries from the data store.
|
|
5
13
|
*
|
|
@@ -14,6 +22,8 @@ export declare class DataStore {
|
|
|
14
22
|
static _testDocumentClient: DynamoDBDocumentClient | null;
|
|
15
23
|
/** @internal Test hook: inject logMRTError for unit tests */
|
|
16
24
|
static _testLogMRTError: ((namespace: string, err: unknown, context?: Record<string, unknown>) => void) | null;
|
|
25
|
+
/** @internal Test hook: inject a deterministic random source (returns [0, 1)) for unit tests */
|
|
26
|
+
static _testRandom: (() => number) | null;
|
|
17
27
|
private constructor();
|
|
18
28
|
/**
|
|
19
29
|
* Get or create a DynamoDB document client (for abstraction of attribute values).
|
|
@@ -23,6 +33,19 @@ export declare class DataStore {
|
|
|
23
33
|
* @throws {DataStoreUnavailableError} The data store is unavailable
|
|
24
34
|
*/
|
|
25
35
|
private getClient;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve the DynamoDB partition key for a read, applying shard selection.
|
|
38
|
+
*
|
|
39
|
+
* Reads the shard count from `MRT_NUM_SHARDS` (default 1) and picks a random
|
|
40
|
+
* shard `i` in `[0, N)`. Shard 0 is the legacy unsuffixed partition key, so
|
|
41
|
+
* when `MRT_NUM_SHARDS` is unset or 1 this is identical to today's behavior.
|
|
42
|
+
* There is no runtime fallback: writers fan out to every shard, so every shard
|
|
43
|
+
* a reader can pick is guaranteed to exist.
|
|
44
|
+
*
|
|
45
|
+
* @private
|
|
46
|
+
* @returns The `projectEnvironment` partition key value to read
|
|
47
|
+
*/
|
|
48
|
+
private resolveShardPartitionKey;
|
|
26
49
|
/**
|
|
27
50
|
* Get or create the singleton DataStore instance.
|
|
28
51
|
*
|
|
@@ -8,6 +8,101 @@ import { DynamoDBDocumentClient, GetCommand } from '@aws-sdk/lib-dynamodb';
|
|
|
8
8
|
import { DataStoreNotFoundError, DataStoreServiceError, DataStoreUnavailableError } from './errors.js';
|
|
9
9
|
import { logMRTError } from '../utils/utils.js';
|
|
10
10
|
export { DataStoreNotFoundError, DataStoreServiceError, DataStoreUnavailableError } from './errors.js';
|
|
11
|
+
/**
|
|
12
|
+
* Retry mode for the data store DynamoDB client.
|
|
13
|
+
*
|
|
14
|
+
* `'adaptive'` adds a client-side rate limiter that backs off proactively when the table
|
|
15
|
+
* signals throttling, instead of retrying blindly into an already-saturated table. The
|
|
16
|
+
* rate limiter keeps state on the client instance, so it only helps across invocations on
|
|
17
|
+
* a warm container — the memoized client preserves that state.
|
|
18
|
+
*/
|
|
19
|
+
const DAL_RETRY_MODE = 'adaptive';
|
|
20
|
+
/**
|
|
21
|
+
* Maximum number of attempts (initial request + retries) per data store request.
|
|
22
|
+
*
|
|
23
|
+
* Bounds retry fan-out under sustained throttling. Chosen together with
|
|
24
|
+
* {@link DAL_REQUEST_TIMEOUT_MS} so that `DAL_MAX_ATTEMPTS × DAL_REQUEST_TIMEOUT_MS` stays
|
|
25
|
+
* comfortably under the surrounding request/function timeout.
|
|
26
|
+
*/
|
|
27
|
+
const DAL_MAX_ATTEMPTS = 2;
|
|
28
|
+
/**
|
|
29
|
+
* Maximum time (ms) to wait for a connection to be established per attempt.
|
|
30
|
+
*
|
|
31
|
+
* A hard per-attempt ceiling so a slow/hung connection cannot consume the whole budget.
|
|
32
|
+
* The client is memoized on a warm container and reuses keep-alive connections, so most
|
|
33
|
+
* attempts do not open a new connection; a fresh connect exceeding this is already
|
|
34
|
+
* abnormal.
|
|
35
|
+
*/
|
|
36
|
+
const DAL_CONNECTION_TIMEOUT_MS = 300;
|
|
37
|
+
/**
|
|
38
|
+
* Maximum time (ms) to wait for a response per attempt.
|
|
39
|
+
*
|
|
40
|
+
* A hard per-attempt ceiling. A single-key DynamoDB read is typically single-digit ms, so
|
|
41
|
+
* this leaves a large multiple of headroom over p99 while still failing fast on a genuine
|
|
42
|
+
* hang. See {@link DAL_MAX_ATTEMPTS} for the timeout/attempt invariant relative to the
|
|
43
|
+
* surrounding function timeout — with these defaults the worst-case timeout path is
|
|
44
|
+
* roughly `DAL_MAX_ATTEMPTS × DAL_REQUEST_TIMEOUT_MS` (≈1s) plus adaptive-retry backoff
|
|
45
|
+
* between attempts.
|
|
46
|
+
*/
|
|
47
|
+
const DAL_REQUEST_TIMEOUT_MS = 500;
|
|
48
|
+
/**
|
|
49
|
+
* Error names that indicate the request was throttled.
|
|
50
|
+
*
|
|
51
|
+
* Mirrors the AWS SDK's own throttling classification so the telemetry flag agrees with
|
|
52
|
+
* what actually drove adaptive backoff, rather than a hand-maintained subset.
|
|
53
|
+
*/
|
|
54
|
+
const THROTTLING_ERROR_NAMES = new Set([
|
|
55
|
+
'ThrottlingException',
|
|
56
|
+
'ProvisionedThroughputExceededException',
|
|
57
|
+
'RequestLimitExceeded',
|
|
58
|
+
'RequestThrottled',
|
|
59
|
+
'RequestThrottledException',
|
|
60
|
+
'TooManyRequestsException',
|
|
61
|
+
'ThrottledException',
|
|
62
|
+
'Throttling',
|
|
63
|
+
]);
|
|
64
|
+
/**
|
|
65
|
+
* Whether an error represents a throttling response.
|
|
66
|
+
*
|
|
67
|
+
* Checks the SDK's retryable-throttling trait and an HTTP 429 status in addition to the
|
|
68
|
+
* known throttling error names, so throttles surfaced only via metadata are still flagged.
|
|
69
|
+
*/
|
|
70
|
+
function isThrottlingError(error) {
|
|
71
|
+
if (typeof error !== 'object' || error === null) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
const candidate = error;
|
|
75
|
+
if (candidate.$retryable?.throttling === true) {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
if (candidate.$metadata?.httpStatusCode === 429) {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return typeof candidate.name === 'string' && THROTTLING_ERROR_NAMES.has(candidate.name);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Create the DynamoDB client used by the data store, configured for resilient reads under
|
|
85
|
+
* throttling: adaptive retries, bounded attempts, and hard per-attempt timeouts.
|
|
86
|
+
*
|
|
87
|
+
* @returns A configured DynamoDB client
|
|
88
|
+
*/
|
|
89
|
+
export function createDalDynamoDBClient() {
|
|
90
|
+
return new DynamoDBClient({
|
|
91
|
+
region: process.env.AWS_REGION,
|
|
92
|
+
retryMode: DAL_RETRY_MODE,
|
|
93
|
+
maxAttempts: DAL_MAX_ATTEMPTS,
|
|
94
|
+
// Passing a plain object lets the SDK construct its default NodeHttpHandler with these
|
|
95
|
+
// bounds — no direct dependency on the handler package required. `throwOnRequestTimeout`
|
|
96
|
+
// is required for `requestTimeout` to actually abort a hung request: without it the
|
|
97
|
+
// handler only logs a warning and lets the request run on. Safe here because a DAL read
|
|
98
|
+
// is a simple request/response, not a long-lived stream.
|
|
99
|
+
requestHandler: {
|
|
100
|
+
connectionTimeout: DAL_CONNECTION_TIMEOUT_MS,
|
|
101
|
+
requestTimeout: DAL_REQUEST_TIMEOUT_MS,
|
|
102
|
+
throwOnRequestTimeout: true,
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
}
|
|
11
106
|
/**
|
|
12
107
|
* A class for reading entries from the data store.
|
|
13
108
|
*
|
|
@@ -22,6 +117,8 @@ export class DataStore {
|
|
|
22
117
|
static _testDocumentClient = null;
|
|
23
118
|
/** @internal Test hook: inject logMRTError for unit tests */
|
|
24
119
|
static _testLogMRTError = null;
|
|
120
|
+
/** @internal Test hook: inject a deterministic random source (returns [0, 1)) for unit tests */
|
|
121
|
+
static _testRandom = null;
|
|
25
122
|
constructor() {
|
|
26
123
|
// Private constructor for singleton; use DataStore.getDataStore() instead.
|
|
27
124
|
}
|
|
@@ -42,12 +139,34 @@ export class DataStore {
|
|
|
42
139
|
}
|
|
43
140
|
if (!this._ddb) {
|
|
44
141
|
this._tableName = `DataAccessLayer-${process.env.AWS_REGION}`;
|
|
45
|
-
this._ddb = DynamoDBDocumentClient.from(
|
|
46
|
-
region: process.env.AWS_REGION,
|
|
47
|
-
}));
|
|
142
|
+
this._ddb = DynamoDBDocumentClient.from(createDalDynamoDBClient());
|
|
48
143
|
}
|
|
49
144
|
return this._ddb;
|
|
50
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Resolve the DynamoDB partition key for a read, applying shard selection.
|
|
148
|
+
*
|
|
149
|
+
* Reads the shard count from `MRT_NUM_SHARDS` (default 1) and picks a random
|
|
150
|
+
* shard `i` in `[0, N)`. Shard 0 is the legacy unsuffixed partition key, so
|
|
151
|
+
* when `MRT_NUM_SHARDS` is unset or 1 this is identical to today's behavior.
|
|
152
|
+
* There is no runtime fallback: writers fan out to every shard, so every shard
|
|
153
|
+
* a reader can pick is guaranteed to exist.
|
|
154
|
+
*
|
|
155
|
+
* @private
|
|
156
|
+
* @returns The `projectEnvironment` partition key value to read
|
|
157
|
+
*/
|
|
158
|
+
resolveShardPartitionKey() {
|
|
159
|
+
const base = `${process.env.MOBIFY_PROPERTY_ID} ${process.env.DEPLOY_TARGET}`;
|
|
160
|
+
const parsed = Number(process.env.MRT_NUM_SHARDS);
|
|
161
|
+
const numShards = Number.isInteger(parsed) && parsed > 1 ? parsed : 1;
|
|
162
|
+
if (numShards === 1) {
|
|
163
|
+
return base;
|
|
164
|
+
}
|
|
165
|
+
const random = DataStore._testRandom ?? Math.random;
|
|
166
|
+
const shard = Math.floor(random() * numShards);
|
|
167
|
+
// shard 0 is the legacy unsuffixed partition; shards 1..N-1 carry a suffix.
|
|
168
|
+
return shard === 0 ? base : `${base} ${shard}`;
|
|
169
|
+
}
|
|
51
170
|
/**
|
|
52
171
|
* Get or create the singleton DataStore instance.
|
|
53
172
|
*
|
|
@@ -81,19 +200,22 @@ export class DataStore {
|
|
|
81
200
|
throw new DataStoreUnavailableError('The data store is unavailable.');
|
|
82
201
|
}
|
|
83
202
|
const ddb = this.getClient();
|
|
203
|
+
const projectEnvironment = this.resolveShardPartitionKey();
|
|
84
204
|
let response;
|
|
85
205
|
try {
|
|
86
206
|
response = await ddb.send(new GetCommand({
|
|
87
207
|
TableName: this._tableName,
|
|
88
208
|
Key: {
|
|
89
|
-
projectEnvironment
|
|
209
|
+
projectEnvironment,
|
|
90
210
|
key,
|
|
91
211
|
},
|
|
92
212
|
}));
|
|
93
213
|
}
|
|
94
214
|
catch (error) {
|
|
215
|
+
const errorName = error instanceof Error ? error.name : undefined;
|
|
216
|
+
const throttled = isThrottlingError(error);
|
|
95
217
|
const logFn = DataStore._testLogMRTError ?? logMRTError;
|
|
96
|
-
logFn('data_store', error, { key, tableName: this._tableName });
|
|
218
|
+
logFn('data_store', error, { key, projectEnvironment, tableName: this._tableName, errorName, throttled });
|
|
97
219
|
throw new DataStoreServiceError('Data store request failed.');
|
|
98
220
|
}
|
|
99
221
|
if (!response.Item?.value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production.js","sourceRoot":"","sources":["../../../src/data-store/production.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAC,sBAAsB,EAAE,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAC,sBAAsB,EAAE,qBAAqB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AACrG,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAC,sBAAsB,EAAE,qBAAqB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAErG;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACZ,UAAU,GAAW,EAAE,CAAC;IACxB,IAAI,GAAkC,IAAI,CAAC;IAC3C,MAAM,CAAC,SAAS,GAAqB,IAAI,CAAC;IAElD,mEAAmE;IACnE,MAAM,CAAC,mBAAmB,GAAkC,IAAI,CAAC;IACjE,6DAA6D;IAC7D,MAAM,CAAC,gBAAgB,GAA0F,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"production.js","sourceRoot":"","sources":["../../../src/data-store/production.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,62 @@ import { ServerlessRequest } from '@h4ad/serverless-adapter';
|
|
|
14
14
|
* These headers are typically used for tracing, correlation, or other request/response matching purposes.
|
|
15
15
|
*/
|
|
16
16
|
const REQUEST_HEADERS_TO_COPY = ['x-correlation-id'];
|
|
17
|
+
// Node's Brotli default is quality 11, which is optimized for offline compression
|
|
18
|
+
// and can consume seconds of Lambda CPU for large streamed HTML responses.
|
|
19
|
+
const DEFAULT_BROTLI_QUALITY = 6;
|
|
20
|
+
const DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES = 32 * 1024;
|
|
21
|
+
/**
|
|
22
|
+
* Resolves the Brotli compression quality from the MRT_BROTLI_COMPRESSION_QUALITY
|
|
23
|
+
* environment variable, falling back to DEFAULT_BROTLI_QUALITY. Values that are not
|
|
24
|
+
* integers within the valid Brotli quality range (0-11) are ignored.
|
|
25
|
+
*
|
|
26
|
+
* @returns The Brotli quality level to use.
|
|
27
|
+
*/
|
|
28
|
+
function resolveBrotliQuality() {
|
|
29
|
+
const raw = process.env.MRT_BROTLI_COMPRESSION_QUALITY;
|
|
30
|
+
if (raw === undefined || raw.trim() === '') {
|
|
31
|
+
return DEFAULT_BROTLI_QUALITY;
|
|
32
|
+
}
|
|
33
|
+
const parsed = Number(raw);
|
|
34
|
+
if (Number.isInteger(parsed) &&
|
|
35
|
+
parsed >= zlib.constants.BROTLI_MIN_QUALITY &&
|
|
36
|
+
parsed <= zlib.constants.BROTLI_MAX_QUALITY) {
|
|
37
|
+
return parsed;
|
|
38
|
+
}
|
|
39
|
+
return DEFAULT_BROTLI_QUALITY;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Resolves the Brotli flush threshold (in bytes) from the MRT_BROTLI_FLUSH_THRESHOLD_BYTES
|
|
43
|
+
* environment variable, falling back to DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES.
|
|
44
|
+
* Values that are not positive integers are ignored.
|
|
45
|
+
*
|
|
46
|
+
* @returns The number of uncompressed bytes to buffer before forcing a Brotli flush.
|
|
47
|
+
*/
|
|
48
|
+
function resolveBrotliFlushThresholdBytes() {
|
|
49
|
+
const raw = process.env.MRT_BROTLI_FLUSH_THRESHOLD_BYTES;
|
|
50
|
+
if (raw === undefined || raw.trim() === '') {
|
|
51
|
+
return DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES;
|
|
52
|
+
}
|
|
53
|
+
const parsed = Number(raw);
|
|
54
|
+
if (Number.isInteger(parsed) && parsed > 0) {
|
|
55
|
+
return parsed;
|
|
56
|
+
}
|
|
57
|
+
return DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Resolves whether periodic Brotli flushing ("chunking") is enabled from the
|
|
61
|
+
* MRT_BROTLI_CHUNKING_ENABLED environment variable. Defaults to enabled; set the
|
|
62
|
+
* variable to "false" to disable it and let Brotli buffer output until the response ends.
|
|
63
|
+
*
|
|
64
|
+
* @returns true if periodic Brotli flushing should be performed.
|
|
65
|
+
*/
|
|
66
|
+
function isBrotliChunkingEnabled() {
|
|
67
|
+
const raw = process.env.MRT_BROTLI_CHUNKING_ENABLED;
|
|
68
|
+
if (!raw) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
return raw.toLowerCase() !== 'false';
|
|
72
|
+
}
|
|
17
73
|
// Check if zstd compression is available (Node.js v22.15.0+)
|
|
18
74
|
let createZstdCompress;
|
|
19
75
|
try {
|
|
@@ -250,8 +306,20 @@ function getBestEncoding(acceptEncoding, compressionConfig) {
|
|
|
250
306
|
function createCompressionStream(encoding, compressionConfig) {
|
|
251
307
|
const options = compressionConfig?.options || undefined;
|
|
252
308
|
switch (encoding) {
|
|
253
|
-
case 'br':
|
|
254
|
-
|
|
309
|
+
case 'br': {
|
|
310
|
+
const brotliOptions = options;
|
|
311
|
+
const qualityParameter = zlib.constants.BROTLI_PARAM_QUALITY;
|
|
312
|
+
if (brotliOptions?.params?.[qualityParameter] !== undefined) {
|
|
313
|
+
return zlib.createBrotliCompress(brotliOptions);
|
|
314
|
+
}
|
|
315
|
+
return zlib.createBrotliCompress({
|
|
316
|
+
...brotliOptions,
|
|
317
|
+
params: {
|
|
318
|
+
...brotliOptions?.params,
|
|
319
|
+
[qualityParameter]: resolveBrotliQuality(),
|
|
320
|
+
},
|
|
321
|
+
});
|
|
322
|
+
}
|
|
255
323
|
case 'zstd':
|
|
256
324
|
if (!createZstdCompress) {
|
|
257
325
|
throw new Error('zstd compression is not available in this Node.js version (requires v22.15.0+)');
|
|
@@ -299,6 +367,9 @@ export function createExpressResponse(responseStream, event, context, request, c
|
|
|
299
367
|
let compressionStream = null;
|
|
300
368
|
let shouldCompress = false;
|
|
301
369
|
let compressionInitialized = false;
|
|
370
|
+
let uncompressedBytesSinceBrotliFlush = 0;
|
|
371
|
+
const brotliFlushThresholdBytes = resolveBrotliFlushThresholdBytes();
|
|
372
|
+
const brotliChunkingEnabled = isBrotliChunkingEnabled();
|
|
302
373
|
// Helper function to check if stream is still writable
|
|
303
374
|
const isStreamOpen = () => {
|
|
304
375
|
const streamToCheck = compressionStream || httpResponseStream || responseStream;
|
|
@@ -349,7 +420,15 @@ export function createExpressResponse(responseStream, event, context, request, c
|
|
|
349
420
|
try {
|
|
350
421
|
if (shouldCompress && compressionStream && compressionStream.writable) {
|
|
351
422
|
// Write to compression stream, which will compress and pipe to httpResponseStream
|
|
352
|
-
|
|
423
|
+
const accepted = compressionStream.write(chunk);
|
|
424
|
+
if (brotliChunkingEnabled && selectedEncoding === 'br' && typeof compressionStream.flush === 'function') {
|
|
425
|
+
uncompressedBytesSinceBrotliFlush += typeof chunk === 'string' ? Buffer.byteLength(chunk) : chunk.byteLength;
|
|
426
|
+
if (uncompressedBytesSinceBrotliFlush >= brotliFlushThresholdBytes) {
|
|
427
|
+
compressionStream.flush(zlib.constants.BROTLI_OPERATION_FLUSH);
|
|
428
|
+
uncompressedBytesSinceBrotliFlush = 0;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
return accepted;
|
|
353
432
|
}
|
|
354
433
|
else if (httpResponseStream && httpResponseStream.writable) {
|
|
355
434
|
// No compression, write directly to httpResponseStream
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-lambda-adapter.js","sourceRoot":"","sources":["../../../src/streaming/create-lambda-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-lambda-adapter.js","sourceRoot":"","sources":["../../../src/streaming/create-lambda-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,MAAM,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,IAAI,EAAE,EAQZ,MAAM,WAAW,CAAC;AACnB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,YAAY,MAAM,cAAc,CAAC;AAIxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAE3D;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,kBAAkB,CAAU,CAAC;AAE9D,kFAAkF;AAClF,2EAA2E;AAC3E,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,oCAAoC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvD;;;;;;GAMG;AACH,SAAS,oBAAoB;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IACvD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IACE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACxB,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB;QAC3C,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gCAAgC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IACzD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,oCAAoC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACpD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC;AACvC,CAAC;AAED,6DAA6D;AAC7D,IAAI,kBAAyE,CAAC;AAC9E,IAAI,CAAC;IACH,gFAAgF;IAChF,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;QAClD,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAC/C,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,qBAAqB;AACvB,CAAC;AAsDD;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,GAAY,EACZ,cAAwB,EACxB,oBAAuC,EAAC,OAAO,EAAE,IAAI,EAAC;IAEtD,MAAM,OAAO,GAAG,KAAK,EAAE,KAA2B,EAAE,OAAgB,EAAiB,EAAE;QACrF,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,YAAY,GAChB,cAAc,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAE1G,IAAI,YAAY,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC/D,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,cAAc,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,GAChB,cAAc,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAC1G,IAAI,YAAY,IAAI,OAAO,cAAc,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC7D,cAAc,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,KAA2B,EAC3B,cAAwB,EACxB,OAAgB,EAChB,GAAY,EACZ,iBAAqC;IAErC,0DAA0D;IAC1D,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAEjH,0CAA0C;IAC1C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,GAAU,EAAE,EAAE;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,6DAA6D;QAC7D,8EAA8E;QAE9E,yBAAyB;QACzB,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5C,kEAAkE;QAClE,6BAA6B;QAC7B,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE3C,yBAAyB;QACzB,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,UAAU,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAA2B,EAAU,EAAE;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,2FAA2F;IAC3F,MAAM,YAAY,GAA6B,EAAE,CAAC;IAClD,IAAI,KAAK,CAAC,+BAA+B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC;YAClF,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACvE,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAElC,0CAA0C;YAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC5C,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC,CAAC;AAEF;;;GAGG;AACH,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB,CAAC,KAA2B,EAAE,OAAgB;IAChF,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAC,GAAG,KAAK,CAAC;IAE9F,MAAM,aAAa,GAAG,cAAc,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC;IAEtE,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,WAAW,GAAuB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,kEAAkE;IAClE,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IACrD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxC,oEAAoE;YACpE,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,iBAAiB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS;QAC1C,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;QACpC,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC;QAC5B,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,WAAW;QACjB,aAAa;KACd,CAAC,CAAC;IAEH,sEAAsE;IACtE,gFAAgF;IAChF,MAAM,GAAG,GAAG,OAAoC,CAAC;IAEjD,uBAAuB;IACvB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE;QAChC,KAAK,CAAuB,UAAkB;YAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;QACnC,KAAK,CAAuB,UAAkB;YAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,WAA+B;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAA6B,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;AAEvF;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,cAA6C,EAC7C,iBAAqC;IAErC,qDAAqD;IACrD,IAAI,iBAAiB,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IAChF,IAAI,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAChC,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAC,OAAO,EAAE,EAAC,iBAAiB,EAAE,cAAc,EAAC,EAAC,CAAC,CAAC;IAElF,2DAA2D;IAC3D,uEAAuE;IACvE,MAAM,kBAAkB,GAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,kBAAkB,EAAE,CAAC;QACvB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAE7D,OAAO,YAAY,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,QAAgB,EAAE,iBAAqC;IACtF,MAAM,OAAO,GAAG,iBAAiB,EAAE,OAAO,IAAI,SAAS,CAAC;IACxD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,aAAa,GAAG,OAAoC,CAAC;YAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;YAE7D,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5D,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,IAAI,CAAC,oBAAoB,CAAC;gBAC/B,GAAG,aAAa;gBAChB,MAAM,EAAE;oBACN,GAAG,aAAa,EAAE,MAAM;oBACxB,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,EAAE;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM;YACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,kBAAkB,CAAC,OAAsB,CAAC,CAAC;QACpD,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAsB,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,aAAa,CAAC,OAAsB,CAAC,CAAC;QACpD;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAwB,EACxB,KAA2B,EAC3B,OAAgB,EAChB,OAAwB,EACxB,iBAAqC;IAErC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;IAChC,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,IAAI,aAAa,GAAuB,SAAS,CAAC;IAClD,MAAM,OAAO,GAAkD,EAAE,CAAC;IAClE,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,kBAAkB,GAAoB,IAAI,CAAC;IAE/C,0EAA0E;IAC1E,MAAM,cAAc,GAAG,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC;IACrE,MAAM,gBAAgB,GAAG,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,IAAI,UAAU,CAAC;IAC1F,IAAI,iBAAiB,GAA6B,IAAI,CAAC;IACvD,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,iCAAiC,GAAG,CAAC,CAAC;IAC1C,MAAM,yBAAyB,GAAG,gCAAgC,EAAE,CAAC;IACrE,MAAM,qBAAqB,GAAG,uBAAuB,EAAE,CAAC;IAExD,uDAAuD;IACvD,MAAM,YAAY,GAAG,GAAY,EAAE;QACjC,MAAM,aAAa,GAAG,iBAAiB,IAAI,kBAAkB,IAAI,cAAc,CAAC;QAChF,OAAO,aAAa,IAAI,aAAa,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;IAC7G,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,qBAAqB,GAAG,GAAS,EAAE;QACvC,IAAI,CAAC,kBAAkB,IAAI,sBAAsB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,uDAAuD;YACvD,iBAAiB,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;YAEjF,+CAA+C;YAC/C,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC7C,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;gBAClD,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,gDAAgD;YAChD,2FAA2F;YAC3F,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;YAExD,cAAc,GAAG,IAAI,CAAC;YACtB,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,cAAc,GAAG,KAAK,CAAC;YACvB,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,UAAU,GAAG,CAAC,KAAoC,EAAW,EAAE;QACnE,8BAA8B;QAC9B,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,IAAI,cAAc,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBACtE,kFAAkF;gBAClF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,qBAAqB,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,iBAAiB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBACxG,iCAAiC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;oBAE7G,IAAI,iCAAiC,IAAI,yBAAyB,EAAE,CAAC;wBACnE,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;wBAC/D,iCAAiC,GAAG,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;iBAAM,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,QAAQ,EAAE,CAAC;gBAC7D,uDAAuD;gBACvD,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,cAAkC,EAAW,EAAE;QAC3E,MAAM,OAAO,GAAG,iBAAiB,EAAE,OAAO,IAAI,IAAI,CAAC;QACnD,OAAO,CAAC,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,KAAK,UAAU,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,CAAC;IAC9G,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,QAAyB,EAAsB,EAAE;QACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF;;;;;;;;;;OAUG;IACH,MAAM,kBAAkB,GAAG,CAAC,QAAyB,EAAQ,EAAE;QAC7D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;YAC/C,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC3D,CAAC;QACD,wFAAwF;QACxF,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACjC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAExC,0CAA0C;QAC1C,wDAAwD;QACxD,MAAM,QAAQ,GAAmB;YAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,UAAU;YAC7C,OAAO;SACR,CAAC;QAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChE,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;QACD,QAAQ,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpD,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAEjF,oFAAoF;QACpF,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACnC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,sDAAsD;QACtD,oFAAoF;QACpF,+EAA+E;QAC/E,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,qBAAqB,EAAE,CAAC;QAC1B,CAAC;QAED,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,cAAc,GAAG,CACrB,gBAAwE,EACzB,EAAE;QACjD,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,iBAAiB,GAAG,KAAK,EAAE,WAAqB,EAAoB,EAAE;QAC1E,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2FAA2F;QAC3F,yDAAyD;QACzD,IAAI,CAAC;YACH,+EAA+E;YAC/E,MAAM,YAAY,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;YAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAChE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,8FAA8F;YAC9F,MAAM,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,wEAAwE;YACxE,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,CAAC;gBACH,WAAW,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,yEAAyE,EAAE,YAAY,CAAC,CAAC;YACzG,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,2GAA2G;IAC3G,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;QAC7B,MAAM;KACP,CAAoB,CAAC;IAEtB,kEAAkE;IAClE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE;QAC1C,GAAG;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,GAAG,CAAC,KAAa;YACf,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,+DAA+D;IAC/D,yEAAyE;IACzE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE;QACxC,GAAG;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,iFAAiF;IACjF,yHAAyH;IACzH,GAAG,CAAC,SAAS,GAAG,UACd,IAAY,EACZ,YAAqE,EACrE,SAAyD;QAEzD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,SAAS,GAAG,YAAY,CAAC;YACzB,YAAY,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,gCAAgC;QAChC,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,GAAG,YAAY,CAAC;QAC/B,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,KAAK,GAAG,UAAU,KAAmC;QACvD,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,uCAAuC;IACtD,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IACE,cAAc;YACd,iBAAiB;YACjB,iBAAiB,CAAC,QAAQ;YAC1B,OAAO,iBAAiB,CAAC,KAAK,KAAK,UAAU,EAC7C,CAAC;YACD,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;aAAM,IACL,kBAAkB;YAClB,kBAAkB,CAAC,QAAQ;YAC3B,0EAA0E;YAC1E,OAAO,kBAAkB,CAAC,KAAK,KAAK,UAAU,EAC9C,CAAC;YACD,0EAA0E;YAC1E,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,aAAa,GAAG,CAAC,QAAyB,EAAE,EAAE;QAClD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,SAAS,GAAG,CAAC,QAAyB,EAAQ,EAAE;QACpD,MAAM,MAAM,GAAG,CAAC,cAAc,IAAI,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,IAAI,kBAAkB,CAAC,CAAC;QAC7G,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAC7C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACzB,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,uCAAuC;YACvC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,mHAAmH;IACnH,GAAG,CAAC,GAAG,GAAG,UAAU,KAAoC;QACtD,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,8DAA8D;QAC9D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,oDAAoD;gBACpD,MAAM,YAAY,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;gBAC7D,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;wBAC9B,SAAS,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,6DAA6D;IAC7D,GAAG,CAAC,MAAM,GAAG,UAAU,IAAY,EAAE,OAAgB;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,GAAG,GAAG,UAAU,KAA6D,EAAE,KAAyB;QAC1G,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,uHAAuH;IACvH,GAAG,CAAC,MAAM,GAAG,UAAU,KAAa,EAAE,KAAwB;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,SAAS,EAAE,CAAC;YACd,6CAA6C;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAiB,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,SAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,SAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,YAAY,GAAG;QACjB,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAC5E,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,4CAA4C;YAC5C,kGAAkG;YAClG,8CAA8C;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,6EAA6E;YAC7E,uFAAuF;YACvF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACzC,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,GAAG,UAAU,GAAY;QAC/B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,GAAG,UAAU,IAAqB;QACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,sCAAsC;QACtC,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,yHAAyH;IACzH,GAAG,CAAC,QAAQ,GAAG,UAAU,GAAW;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,+DAA+D;IAC/D,sFAAsF;IACtF,GAAG,CAAC,KAAK,GAAG;QACV,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,4DAA4D;QAC5D,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,8CAA8C;IAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAY,CAAC;IAE9C,qEAAqE;IACrE,qHAAqH;IACrH,6DAA6D;IAC7D,GAAG,CAAC,IAAI,GAAG,UAAU,WAAqB,EAAE,OAAyB;QACnE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,2CAA2C;QAC3C,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEnC,qEAAqE;QACrE,wEAAwE;QACxE,4EAA4E;QAC5E,sEAAsE;QACtE,iBAAiB;QACjB,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACrD,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,gDAAgD;IAChD,uFAAuF;IACvF,GAAG,CAAC,MAAM,GAAG,UAAU,WAAsB;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtC,uEAAuE;YACvE,4BAA4B;QAC9B,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,yDAAyD;IACzD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IAErB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/mrt-utilities",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Middleware and utilities to simulate a deployed Managed Runtime environment",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Salesforce",
|
|
@@ -124,11 +124,11 @@
|
|
|
124
124
|
"eslint": "^9",
|
|
125
125
|
"eslint-config-prettier": "^10",
|
|
126
126
|
"eslint-plugin-header": "^3.1.1",
|
|
127
|
-
"eslint-plugin-prettier": "^5.5.
|
|
127
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
128
128
|
"express": "5.1.0",
|
|
129
129
|
"express4": "npm:express@4.21.2",
|
|
130
|
-
"mocha": "^
|
|
131
|
-
"prettier": "^3.
|
|
130
|
+
"mocha": "^11",
|
|
131
|
+
"prettier": "^3.8.3",
|
|
132
132
|
"shx": "^0.3.3",
|
|
133
133
|
"sinon": "^21.0.1",
|
|
134
134
|
"tsx": "^4",
|