@axe-core/watcher 3.23.0-next.462dc338 → 3.23.0-next.86c61d3a
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/Controller.d.ts +0 -1
- package/dist/Controller.js +0 -7
- package/dist/Controller.js.map +1 -1
- package/dist/cypress/cypress.js +4 -11
- package/dist/cypress/cypress.js.map +1 -1
- package/dist/playwright/playwright.d.ts +8 -3
- package/dist/playwright/playwright.js.map +1 -1
- package/dist/sendResultsToServer.js +16 -4
- package/dist/sendResultsToServer.js.map +1 -1
- package/dist/utils/initializeSession.d.ts +2 -1
- package/dist/utils/initializeSession.js +12 -5
- package/dist/utils/initializeSession.js.map +1 -1
- package/dist/utils/isCI.d.ts +1 -0
- package/dist/utils/isCI.js +11 -0
- package/dist/utils/isCI.js.map +1 -0
- package/dist/utils/shouldUseEnvProxy.d.ts +5 -0
- package/dist/utils/shouldUseEnvProxy.js +24 -0
- package/dist/utils/shouldUseEnvProxy.js.map +1 -0
- package/dist/utils/sync-fetch-worker.mjs +135 -43
- package/dist/utils/sync-fetch.d.ts +1 -1
- package/dist/utils/sync-fetch.js +52 -44
- package/dist/utils/sync-fetch.js.map +1 -1
- package/dist/utils/test-constants.d.ts +14 -0
- package/dist/utils/test-constants.js +12 -0
- package/dist/utils/test-constants.js.map +1 -0
- package/dist/utils/writeVariables.d.ts +5 -0
- package/dist/utils/writeVariables.js +5 -5
- package/dist/utils/writeVariables.js.map +1 -1
- package/extension/axe-versions/axe-core@4.11.0/axe.min.js +12 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/README.md +9 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/_template.json +1131 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/da.json +799 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/de.json +1127 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/el.json +1069 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/es.json +790 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/eu.json +789 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/fr.json +994 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/he.json +1017 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/it.json +1108 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/ja.json +1127 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/ko.json +1003 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/nl.json +48 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/no_NB.json +799 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/pl.json +1109 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/pt_BR.json +970 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/pt_PT.json +1123 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/ru.json +1127 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/zh_CN.json +1116 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/zh_TW.json +1108 -0
- package/extension/axe-versions-mapper.js +2 -0
- package/extension/axe.js +1 -1
- package/extension/axe.js.LICENSE.txt +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +8 -7
- package/dist/shared/strings.d.ts +0 -1
- package/dist/shared/strings.js +0 -5
- package/dist/shared/strings.js.map +0 -1
package/dist/utils/sync-fetch.js
CHANGED
@@ -3,70 +3,78 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.syncFetch = syncFetch;
|
4
4
|
const node_worker_threads_1 = require("node:worker_threads");
|
5
5
|
const node_path_1 = require("node:path");
|
6
|
-
const WORKER_STATUS = {
|
7
|
-
PENDING: 0,
|
8
|
-
SUCCESS: 1,
|
9
|
-
ERROR: 2
|
10
|
-
};
|
11
|
-
const BUFFER_LAYOUT = {
|
12
|
-
STATUS_INDEX: 0,
|
13
|
-
LENGTH_OFFSET: 12,
|
14
|
-
RESPONSE_OFFSET: 16,
|
15
|
-
LENGTH_VIEW_SIZE: 1,
|
16
|
-
DEFAULT_BUFFER_SIZE: 1024 * 1024
|
17
|
-
};
|
18
6
|
function syncFetch(url, options = {}, customOptions = {
|
19
7
|
timeout: 30000
|
20
8
|
}) {
|
21
9
|
const timeout = customOptions.timeout || 30000;
|
22
10
|
const processingBuffer = 3000;
|
23
11
|
const mainThreadTimeout = timeout + processingBuffer;
|
24
|
-
const
|
25
|
-
const
|
26
|
-
|
12
|
+
const { port1, port2 } = new node_worker_threads_1.MessageChannel();
|
13
|
+
const sleepBuffer = new SharedArrayBuffer(4);
|
14
|
+
const sleepArray = new Int32Array(sleepBuffer);
|
27
15
|
const worker = new node_worker_threads_1.Worker((0, node_path_1.join)(__dirname, 'sync-fetch-worker.mjs'), {
|
28
16
|
name: 'sync-fetch',
|
29
17
|
eval: false,
|
30
18
|
workerData: {
|
31
19
|
url,
|
32
20
|
options,
|
33
|
-
sharedBuffer,
|
34
21
|
timeout,
|
35
|
-
|
36
|
-
|
37
|
-
|
22
|
+
port: port2
|
23
|
+
},
|
24
|
+
transferList: [port2]
|
38
25
|
});
|
26
|
+
const { startTime } = performance.mark('axe-watcher:sync-fetch:start');
|
27
|
+
let message;
|
39
28
|
try {
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
}
|
44
|
-
const status = Atomics.load(int32Array, BUFFER_LAYOUT.STATUS_INDEX);
|
45
|
-
if (status === WORKER_STATUS.ERROR) {
|
46
|
-
const lengthView = new Uint32Array(sharedBuffer, BUFFER_LAYOUT.LENGTH_OFFSET, BUFFER_LAYOUT.LENGTH_VIEW_SIZE);
|
47
|
-
const responseLength = lengthView[0];
|
48
|
-
const responseBuffer = new Uint8Array(sharedBuffer, BUFFER_LAYOUT.RESPONSE_OFFSET, responseLength);
|
49
|
-
const decoder = new TextDecoder();
|
50
|
-
const errorMessage = decoder.decode(responseBuffer);
|
51
|
-
throw new Error(`Fetch failed: ${errorMessage}`);
|
52
|
-
}
|
53
|
-
if (status === WORKER_STATUS.SUCCESS) {
|
54
|
-
const lengthView = new Uint32Array(sharedBuffer, BUFFER_LAYOUT.LENGTH_OFFSET, BUFFER_LAYOUT.LENGTH_VIEW_SIZE);
|
55
|
-
const responseLength = lengthView[0];
|
56
|
-
const responseBuffer = new Uint8Array(sharedBuffer, BUFFER_LAYOUT.RESPONSE_OFFSET, responseLength);
|
57
|
-
const decoder = new TextDecoder();
|
58
|
-
const responseText = decoder.decode(responseBuffer);
|
59
|
-
try {
|
60
|
-
return JSON.parse(responseText);
|
61
|
-
}
|
62
|
-
catch {
|
63
|
-
throw new Error('Failed to parse response data');
|
29
|
+
while (message === undefined) {
|
30
|
+
if (performance.now() - startTime > mainThreadTimeout) {
|
31
|
+
throw new Error(`Request timed out - worker thread did not respond within ${mainThreadTimeout}ms`);
|
64
32
|
}
|
33
|
+
Atomics.wait(sleepArray, 0, 0, 5);
|
34
|
+
message = (0, node_worker_threads_1.receiveMessageOnPort)(port1);
|
35
|
+
}
|
36
|
+
const { data, error } = message.message;
|
37
|
+
if (error) {
|
38
|
+
const syncErr = new Error('Sync Fetch Failed');
|
39
|
+
syncErr.cause = error;
|
40
|
+
throw syncErr;
|
65
41
|
}
|
66
|
-
|
42
|
+
return data;
|
67
43
|
}
|
68
44
|
finally {
|
45
|
+
performance.mark('axe-watcher:sync-fetch:end');
|
46
|
+
port1.close();
|
69
47
|
worker.terminate();
|
48
|
+
const clone = structuredClone(options);
|
49
|
+
clone.headers = sanitizeHeaders(clone.headers);
|
50
|
+
performance.measure('axe-watcher:sync-fetch', {
|
51
|
+
start: 'axe-watcher:sync-fetch:start',
|
52
|
+
end: 'axe-watcher:sync-fetch:end',
|
53
|
+
detail: {
|
54
|
+
url,
|
55
|
+
options: clone,
|
56
|
+
timeout,
|
57
|
+
status: message?.message.type || 'no-response',
|
58
|
+
response: {
|
59
|
+
status: message?.message.data?.status,
|
60
|
+
statusText: message?.message.data?.statusText
|
61
|
+
}
|
62
|
+
}
|
63
|
+
});
|
64
|
+
}
|
65
|
+
}
|
66
|
+
function sanitizeHeaders(headers) {
|
67
|
+
if (!headers) {
|
68
|
+
return undefined;
|
69
|
+
}
|
70
|
+
const sanitized = {};
|
71
|
+
for (const [key, value] of Object.entries(headers)) {
|
72
|
+
if (key.toLowerCase() === 'x-api-key'.toLowerCase()) {
|
73
|
+
sanitized[key.toLowerCase()] = 'REDACTED';
|
74
|
+
continue;
|
75
|
+
}
|
76
|
+
sanitized[key.toLowerCase()] = value;
|
70
77
|
}
|
78
|
+
return sanitized;
|
71
79
|
}
|
72
80
|
//# sourceMappingURL=sync-fetch.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sync-fetch.js","sourceRoot":"","sources":["../../src/utils/sync-fetch.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"sync-fetch.js","sourceRoot":"","sources":["../../src/utils/sync-fetch.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* Session IDs to be shared throughout tests that need to
|
3
|
+
* simulate various behaviors of initializing a session.
|
4
|
+
* Independently exported so importing from other files
|
5
|
+
* doesn't create side effects.
|
6
|
+
*/
|
7
|
+
export declare const specialResponseSessionIds: {
|
8
|
+
readonly 'fail-server-error': "fail-server-error";
|
9
|
+
readonly 'fail-legacy-errors': "fail-legacy-errors";
|
10
|
+
readonly 'fail-timeout': "fail-timeout";
|
11
|
+
readonly 'success-project-id-included': "success-project-id-included";
|
12
|
+
readonly 'success-project-id-excluded': "success-project-id-excluded";
|
13
|
+
readonly 'mock-session-id': "mock-session-id";
|
14
|
+
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.specialResponseSessionIds = void 0;
|
4
|
+
exports.specialResponseSessionIds = {
|
5
|
+
'fail-server-error': 'fail-server-error',
|
6
|
+
'fail-legacy-errors': 'fail-legacy-errors',
|
7
|
+
'fail-timeout': 'fail-timeout',
|
8
|
+
'success-project-id-included': 'success-project-id-included',
|
9
|
+
'success-project-id-excluded': 'success-project-id-excluded',
|
10
|
+
'mock-session-id': 'mock-session-id'
|
11
|
+
};
|
12
|
+
//# sourceMappingURL=test-constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"test-constants.js","sourceRoot":"","sources":["../../src/utils/test-constants.ts"],"names":[],"mappings":";;;AAMa,QAAA,yBAAyB,GAAG;IAEvC,mBAAmB,EAAE,mBAAmB;IACxC,oBAAoB,EAAE,oBAAoB;IAC1C,cAAc,EAAE,cAAc;IAC9B,6BAA6B,EAAE,6BAA6B;IAC5D,6BAA6B,EAAE,6BAA6B;IAC5D,iBAAiB,EAAE,iBAAiB;CAC5B,CAAA"}
|
@@ -112,6 +112,11 @@ export interface CypressAxeConfiguration extends AxeConfiguration {
|
|
112
112
|
* Default: 'e2e'
|
113
113
|
*/
|
114
114
|
testingTypes?: CypressTestingType | CypressTestingType[];
|
115
|
+
/**
|
116
|
+
* Associates the test run with a specific project.
|
117
|
+
* Should be the UUID provided in your Axe account.
|
118
|
+
*/
|
119
|
+
projectId?: string;
|
115
120
|
}
|
116
121
|
export interface CypressConfiguration {
|
117
122
|
axe: CypressAxeConfiguration;
|
@@ -46,6 +46,7 @@ const initializeSession_1 = __importDefault(require("./initializeSession"));
|
|
46
46
|
const validateAxeRunContext_1 = require("./validateAxeRunContext");
|
47
47
|
const isValidExcludePattern_1 = __importDefault(require("./isValidExcludePattern"));
|
48
48
|
const writeExtensionManifest_1 = __importDefault(require("./writeExtensionManifest"));
|
49
|
+
const isCI_1 = require("./isCI");
|
49
50
|
const debugLogger = (0, createDebugger_1.default)('config:writeVariables');
|
50
51
|
const { version } = require('../../package.json');
|
51
52
|
const allowedAccessibilityStandards = [
|
@@ -81,7 +82,6 @@ function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress,
|
|
81
82
|
...(buildID !== undefined && { buildID }),
|
82
83
|
...(projectId !== undefined && { projectId })
|
83
84
|
});
|
84
|
-
const { AXE_WATCHER_PROJECT_ID } = process.env;
|
85
85
|
if (configurationOverrides && runOptions?.runOnly) {
|
86
86
|
throw new Error('You cannot use `configurationOverrides` and `runOptions.runOnly` together. These configuration options are mutually exclusive.');
|
87
87
|
}
|
@@ -138,12 +138,11 @@ function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress,
|
|
138
138
|
}
|
139
139
|
}
|
140
140
|
}
|
141
|
-
|
142
|
-
if (isProjectIdFeatureFlagEnabled && !projectId) {
|
141
|
+
if (!projectId) {
|
143
142
|
console.warn('Warning: `projectId` within axe configuration will become a mandatory field in a future release. Please supply your `projectId` found on your projects page');
|
144
143
|
}
|
145
144
|
debugLogger('Initializing axe Watcher session');
|
146
|
-
const projectIdValue =
|
145
|
+
const projectIdValue = projectId || null;
|
147
146
|
const { axe_core_settings, session_id } = (0, initializeSession_1.default)({
|
148
147
|
apiKey,
|
149
148
|
projectId: projectIdValue,
|
@@ -161,7 +160,8 @@ function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress,
|
|
161
160
|
gitTag: gitData.git_tag || null,
|
162
161
|
gitCommitEmail: gitData.git_commit_email || null,
|
163
162
|
configOverrides: configurationOverrides || null,
|
164
|
-
runOptions: runOptions || null
|
163
|
+
runOptions: runOptions || null,
|
164
|
+
isCanonicalSource: (0, isCI_1.isCI)()
|
165
165
|
});
|
166
166
|
if (typeof autoAnalyze === 'undefined') {
|
167
167
|
autoAnalyze = true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA6B;AAC7B,4CAAmB;AACnB,2CAAgD;AAChD,mDAGwB;AACxB,mEAAgF;AAChF,uEAA8C;AAC9C,4EAA6E;AAC7E,mEAA+D;AAC/D,oFAA2D;AAC3D,sFAAoD;
|
1
|
+
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA6B;AAC7B,4CAAmB;AACnB,2CAAgD;AAChD,mDAGwB;AACxB,mEAAgF;AAChF,uEAA8C;AAC9C,4EAA6E;AAC7E,mEAA+D;AAC/D,oFAA2D;AAC3D,sFAAoD;AACpD,iCAA6B;AAE7B,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,uBAAuB,CAAC,CAAA;AAI3D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AA4BjD,MAAM,6BAA6B,GAA4B;IAC7D,KAAK;IACL,cAAc;IACd,aAAa;IACb,YAAY;IACZ,cAAc;IACd,aAAa;IACb,YAAY;IACZ,cAAc;IACd,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,YAAY;CACb,CAAA;AA6JD,MAAM,eAAe,GAAuB;IAC1C,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,IAAI;CACZ,CAAA;AAGD,SAAS,cAAc,CAAC,EACtB,MAAM,EACN,WAAW,EACX,sBAAsB,EACtB,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,OAAO,EACP,OAAO,GAAG,EAAE,EACZ,eAAe,EACf,yBAAyB,EACzB,SAAS,EACY;IAErB,WAAW,CAAC,yBAAyB,EAAE;QACrC,MAAM,EAAE,YAAY;QACpB,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/C,GAAG,CAAC,sBAAsB,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC;QACvE,GAAG,CAAC,kBAAkB,KAAK,SAAS,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC/D,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC;QACzC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;KAC9C,CAAC,CAAA;IAEF,IAAI,sBAAsB,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAA;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,8BAAkB,CAAA;IAChC,CAAC;IAED,IAAI,SAAS,CAAA;IACb,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4EAA4E,GAAG,EAAE,CAClF,CAAA;IACH,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QACtC,IAAA,6CAAqB,EAAC,UAAU,CAAC,CAAA;QACjC,WAAW,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QACtC,IAAA,6CAAqB,EAAC,UAAU,CAAC,CAAA;QACjC,WAAW,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,sBAAsB,EAAE,CAAC;QAC3B,WAAW,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAA;QAC9D,MAAM,+BAA+B,GACnC,sBAAsB,CAAC,qBAAqB;YAC5C,CAAC,6BAA6B,CAAC,QAAQ,CACrC,sBAAsB,CAAC,qBAAqB,CAC7C,CAAA;QAEH,IAAI,+BAA+B,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,mCAAmC,sBAAsB,CAAC,qBAAqB,sBAAsB,6BAA6B,CAAC,IAAI,CACrI,IAAI,CACL,EAAE,CACJ,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAY,EAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;IACpC,IAAI,SAAS,EAAE,CAAC;QACd,WAAW,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;QACpD,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;QACxC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;QAC9B,OAAO,CAAC,kBAAkB,GAAG,GAAG,CAAC,oBAAoB,EAAE,CAAA;QACvD,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;QACpC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;QAEpC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;QAChC,OAAO,CAAC,cAAc,GAAG,IAAI,EAAE,IAAI,CAAA;QACnC,OAAO,CAAC,iBAAiB,GAAG,IAAI,EAAE,MAAM,CAAA;QACxC,OAAO,CAAC,gBAAgB,GAAG,IAAI,EAAE,KAAK,CAAA;QACtC,OAAO,CAAC,kBAAkB,GAAG,IAAI,EAAE,OAAO,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,EAAE,CAAC;QAMvD,IAAI,CAAC,SAAS,IAAI,YAAE,CAAC,UAAU,CAAC,oCAAoB,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,8BAA8B,CAAC,CAAA;YAC3C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,oCAAoB,EAAE,MAAM,CAAC,CAAC,CAAA;gBACtE,SAAS,GAAG,IAAI,CAAC,EAAY,CAAA;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QAEf,OAAO,CAAC,IAAI,CACV,6JAA6J,CAC9J,CAAA;IACH,CAAC;IAED,WAAW,CAAC,kCAAkC,CAAC,CAAA;IAG/C,MAAM,cAAc,GAAG,SAAS,IAAI,IAAI,CAAA;IAExC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAA,2BAAiB,EAAC;QAC1D,MAAM;QACN,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,OAAO;QACvB,SAAS,EAAE,SAAS,IAAI,IAAI;QAC5B,OAAO,EAAE,OAAO,IAAI,IAAI;QACxB,YAAY,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;QAC5C,MAAM,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAC/B,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;QACrC,eAAe,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;QAClD,UAAU,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;QACzC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,IAAI,IAAI;QACpD,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,IAAI,IAAI;QACpD,MAAM,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAC/B,cAAc,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI;QAChD,eAAe,EAAE,sBAAsB,IAAI,IAAI;QAC/C,UAAU,EAAE,UAAU,IAAI,IAAI;QAC9B,iBAAiB,EAAE,IAAA,WAAI,GAAE;KAC1B,CAAC,CAAA;IAEF,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;QACvC,WAAW,GAAG,IAAI,CAAA;IACpB,CAAC;IAED,IAAI,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC/B,IAAA,+BAAqB,EAAC,kBAAkB,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,SAAS,GAAc;QAC3B,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,cAAc;QAC1B,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,UAAU,IAAI,SAAS;QACnC,gBAAgB,EAAE,CAAC,CAAC,eAAe;QACnC,YAAY,EAAE,CAAC,CAAC,WAAW;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,2BAA2B,EAAE,CAAC,CAAC,yBAAyB;QACxD,WAAW,EAAE,UAAU,IAAI,IAAI;QAC/B,WAAW,EAAE,UAAU,IAAI,IAAI;QAC/B,QAAQ,EAAE,OAAO;QACjB,oBAAoB,EAAE,kBAAkB,IAAI,IAAI;QAChD,iBAAiB,EAAE,iBAAiB,IAAI,IAAI;QAC5C,OAAO,EAAE;YACP,GAAG,eAAe;YAClB,GAAG,OAAO;SACX;KACF,CAAA;IAED,YAAE,CAAC,aAAa,CAAC,2CAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;IAExE,IAAI,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QAIxC,IAAA,gCAAa,EAAC;YACZ,EAAE,EAAE;gBACF,yBAAyB,iBAAiB,EAAE,gBAAgB,aAAa;gBACzE,YAAY;aACb;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,kBAAe,cAAc,CAAA"}
|