mcp-accessibility-scanner 2.0.17 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -32
- package/config.d.ts +17 -0
- package/index.d.ts +0 -1
- package/lib/browserContextFactory.js +22 -6
- package/lib/browserContextFactory.js.map +1 -1
- package/lib/config.js +73 -3
- package/lib/config.js.map +1 -1
- package/lib/extension/browserModel.js +194 -0
- package/lib/extension/browserModel.js.map +1 -0
- package/lib/extension/cdpRelay.js +99 -78
- package/lib/extension/cdpRelay.js.map +1 -1
- package/lib/extension/cdpRelayV2.js +90 -0
- package/lib/extension/cdpRelayV2.js.map +1 -0
- package/lib/extension/protocol.js +5 -3
- package/lib/extension/protocol.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/mcp/http.js +18 -5
- package/lib/mcp/http.js.map +1 -1
- package/lib/mcp/mdb.js +1 -1
- package/lib/mcp/mdb.js.map +1 -1
- package/lib/mcp/server.js +11 -6
- package/lib/mcp/server.js.map +1 -1
- package/lib/program.js +11 -1
- package/lib/program.js.map +1 -1
- package/lib/response.js +16 -8
- package/lib/response.js.map +1 -1
- package/lib/tab.js +40 -24
- package/lib/tab.js.map +1 -1
- package/lib/tools/auditKeyboard.js +1 -1
- package/lib/tools/auditKeyboard.js.map +1 -1
- package/lib/tools/console.js +3 -1
- package/lib/tools/console.js.map +1 -1
- package/lib/tools/mouse.js +14 -7
- package/lib/tools/mouse.js.map +1 -1
- package/lib/tools/navigate.js +1 -1
- package/lib/tools/navigate.js.map +1 -1
- package/lib/tools/network.js +2 -1
- package/lib/tools/network.js.map +1 -1
- package/lib/tools/screenshot.js +2 -1
- package/lib/tools/screenshot.js.map +1 -1
- package/lib/tools/snapshot.js +132 -2
- package/lib/tools/snapshot.js.map +1 -1
- package/lib/tools/utils.js +2 -2
- package/lib/tools/utils.js.map +1 -1
- package/lib/utils/ariaCompression.js +247 -0
- package/lib/utils/ariaCompression.js.map +1 -0
- package/lib/utils/codegen.js +6 -0
- package/lib/utils/codegen.js.map +1 -1
- package/lib/utils/dataUrl.js +265 -0
- package/lib/utils/dataUrl.js.map +1 -0
- package/lib/vscode/main.js +1 -1
- package/lib/vscode/main.js.map +1 -1
- package/package.json +23 -34
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Microsoft Corporation.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
const FIRE_THRESHOLD = 100;
|
|
17
|
+
const KEEP_N = 10;
|
|
18
|
+
const KEEP_REF_ALL = /\[ref=[^\]]+\]/g;
|
|
19
|
+
const HAS_REF = /\[ref=[^\]]+\]/;
|
|
20
|
+
const HAS_CURSOR_POINTER = /\[cursor=pointer\]/;
|
|
21
|
+
const ROLE_PREFIX_RE = /^\s*-\s*([a-z][a-z0-9-]*)\b/i;
|
|
22
|
+
const PROTECTED_LINE_ROLES = new Set([
|
|
23
|
+
'alert',
|
|
24
|
+
'banner',
|
|
25
|
+
'button',
|
|
26
|
+
'checkbox',
|
|
27
|
+
'columnheader',
|
|
28
|
+
'combobox',
|
|
29
|
+
'dialog',
|
|
30
|
+
'form',
|
|
31
|
+
'grid',
|
|
32
|
+
'gridcell',
|
|
33
|
+
'heading',
|
|
34
|
+
'input',
|
|
35
|
+
'link',
|
|
36
|
+
'listbox',
|
|
37
|
+
'main',
|
|
38
|
+
'menu',
|
|
39
|
+
'menuitem',
|
|
40
|
+
'menuitemcheckbox',
|
|
41
|
+
'menuitemradio',
|
|
42
|
+
'navigation',
|
|
43
|
+
'option',
|
|
44
|
+
'radio',
|
|
45
|
+
'rowheader',
|
|
46
|
+
'search',
|
|
47
|
+
'searchbox',
|
|
48
|
+
'select',
|
|
49
|
+
'slider',
|
|
50
|
+
'spinbutton',
|
|
51
|
+
'status',
|
|
52
|
+
'switch',
|
|
53
|
+
'tab',
|
|
54
|
+
'textbox',
|
|
55
|
+
'tree',
|
|
56
|
+
'treegrid',
|
|
57
|
+
'treeitem',
|
|
58
|
+
'region',
|
|
59
|
+
]);
|
|
60
|
+
const REF_PROTECTED_LINE_ROLES = new Set([
|
|
61
|
+
'grid',
|
|
62
|
+
'gridcell',
|
|
63
|
+
'scrollbar',
|
|
64
|
+
'separator',
|
|
65
|
+
'treegrid',
|
|
66
|
+
]);
|
|
67
|
+
const REF_PROTECTED_DESCENDANT_ROLES = new Set([
|
|
68
|
+
'columnheader',
|
|
69
|
+
'gridcell',
|
|
70
|
+
'rowheader',
|
|
71
|
+
'scrollbar',
|
|
72
|
+
'separator',
|
|
73
|
+
]);
|
|
74
|
+
const PROTECTED_SUBTREE_ROLES = new Set([
|
|
75
|
+
'button',
|
|
76
|
+
'checkbox',
|
|
77
|
+
'combobox',
|
|
78
|
+
'input',
|
|
79
|
+
'link',
|
|
80
|
+
'listbox',
|
|
81
|
+
'menu',
|
|
82
|
+
'menuitem',
|
|
83
|
+
'menuitemcheckbox',
|
|
84
|
+
'menuitemradio',
|
|
85
|
+
'option',
|
|
86
|
+
'radio',
|
|
87
|
+
'searchbox',
|
|
88
|
+
'select',
|
|
89
|
+
'slider',
|
|
90
|
+
'spinbutton',
|
|
91
|
+
'switch',
|
|
92
|
+
'tab',
|
|
93
|
+
'textbox',
|
|
94
|
+
'tree',
|
|
95
|
+
'treeitem',
|
|
96
|
+
]);
|
|
97
|
+
export function compressAriaSnapshot(yaml) {
|
|
98
|
+
const lines = parseSnapshotLines(yaml);
|
|
99
|
+
const preCounts = new Map();
|
|
100
|
+
for (const line of lines) {
|
|
101
|
+
if (!line.text.trim() || isProtectedLine(line))
|
|
102
|
+
continue;
|
|
103
|
+
const key = compressionKey(line);
|
|
104
|
+
preCounts.set(key, (preCounts.get(key) ?? 0) + 1);
|
|
105
|
+
}
|
|
106
|
+
let maxCount = 0;
|
|
107
|
+
for (const value of preCounts.values())
|
|
108
|
+
maxCount = Math.max(maxCount, value);
|
|
109
|
+
if (maxCount <= FIRE_THRESHOLD)
|
|
110
|
+
return { output: yaml, removed: 0 };
|
|
111
|
+
const sigCounts = new Map();
|
|
112
|
+
const output = [];
|
|
113
|
+
let totalRemoved = 0;
|
|
114
|
+
let skipBelowIndent;
|
|
115
|
+
for (const line of lines) {
|
|
116
|
+
if (!line.text.trim()) {
|
|
117
|
+
if (skipBelowIndent === undefined)
|
|
118
|
+
output.push(line.text);
|
|
119
|
+
else
|
|
120
|
+
totalRemoved++;
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
if (skipBelowIndent !== undefined && line.indent <= skipBelowIndent)
|
|
124
|
+
skipBelowIndent = undefined;
|
|
125
|
+
if (skipBelowIndent !== undefined) {
|
|
126
|
+
totalRemoved++;
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (isProtectedLine(line)) {
|
|
130
|
+
output.push(line.text);
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
const key = compressionKey(line);
|
|
134
|
+
const lineCount = (sigCounts.get(key) ?? 0) + 1;
|
|
135
|
+
sigCounts.set(key, lineCount);
|
|
136
|
+
if (lineCount > KEEP_N && (preCounts.get(key) ?? 0) > FIRE_THRESHOLD) {
|
|
137
|
+
totalRemoved++;
|
|
138
|
+
skipBelowIndent = line.indent;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
output.push(line.text);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (totalRemoved === 0)
|
|
145
|
+
return { output: yaml, removed: 0 };
|
|
146
|
+
const note = `\n# playwright-compress: ${totalRemoved} repeated ARIA nodes collapsed - use browser_evaluate() to enumerate the full list`;
|
|
147
|
+
return { output: output.join('\n') + note, removed: totalRemoved };
|
|
148
|
+
}
|
|
149
|
+
function parseSnapshotLines(yaml) {
|
|
150
|
+
const lines = yaml.split('\n').map((text) => {
|
|
151
|
+
const role = roleOf(text);
|
|
152
|
+
const hasRef = HAS_REF.test(text);
|
|
153
|
+
const hasCursorPointer = HAS_CURSOR_POINTER.test(text);
|
|
154
|
+
return {
|
|
155
|
+
text,
|
|
156
|
+
indent: indentOf(text),
|
|
157
|
+
parentIndex: -1,
|
|
158
|
+
role,
|
|
159
|
+
hasRef,
|
|
160
|
+
hasCursorPointer,
|
|
161
|
+
signature: signature(text),
|
|
162
|
+
selfHasProtectedLineRole: shouldKeepLine(role, hasRef, hasCursorPointer),
|
|
163
|
+
containsProtectedSubtreeRole: shouldKeepSubtree(role) || shouldKeepRefProtectedDescendants(role, hasRef) || shouldKeepCursorPointerRef(hasRef, hasCursorPointer),
|
|
164
|
+
selfHasProtectedSubtreeRole: shouldKeepSubtree(role) || shouldKeepRefProtectedDescendants(role, hasRef) || shouldKeepCursorPointerRef(hasRef, hasCursorPointer),
|
|
165
|
+
insideProtectedSubtree: false,
|
|
166
|
+
hasRowContainerAncestor: false,
|
|
167
|
+
};
|
|
168
|
+
});
|
|
169
|
+
const stack = [];
|
|
170
|
+
for (let index = 0; index < lines.length; index++) {
|
|
171
|
+
const line = lines[index];
|
|
172
|
+
if (!line.text.trim())
|
|
173
|
+
continue;
|
|
174
|
+
while (stack.length && lines[stack[stack.length - 1]].indent >= line.indent)
|
|
175
|
+
stack.pop();
|
|
176
|
+
line.parentIndex = stack[stack.length - 1] ?? -1;
|
|
177
|
+
const parent = line.parentIndex === -1 ? undefined : lines[line.parentIndex];
|
|
178
|
+
line.hasRowContainerAncestor = parent !== undefined && (parent.hasRowContainerAncestor || isRowContainerRole(parent.role));
|
|
179
|
+
stack.push(index);
|
|
180
|
+
}
|
|
181
|
+
for (const line of lines) {
|
|
182
|
+
if (line.role === 'row' && line.hasRef && line.hasRowContainerAncestor) {
|
|
183
|
+
line.selfHasProtectedLineRole = true;
|
|
184
|
+
line.containsProtectedSubtreeRole = true;
|
|
185
|
+
line.selfHasProtectedSubtreeRole = true;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
for (let index = lines.length - 1; index >= 0; index--) {
|
|
189
|
+
const line = lines[index];
|
|
190
|
+
if (!line.containsProtectedSubtreeRole || line.parentIndex === -1)
|
|
191
|
+
continue;
|
|
192
|
+
lines[line.parentIndex].containsProtectedSubtreeRole = true;
|
|
193
|
+
}
|
|
194
|
+
let protectedIndent;
|
|
195
|
+
for (const line of lines) {
|
|
196
|
+
if (!line.text.trim())
|
|
197
|
+
continue;
|
|
198
|
+
if (protectedIndent !== undefined && line.indent <= protectedIndent)
|
|
199
|
+
protectedIndent = undefined;
|
|
200
|
+
const insideProtectedSubtree = protectedIndent !== undefined;
|
|
201
|
+
if (insideProtectedSubtree)
|
|
202
|
+
line.insideProtectedSubtree = true;
|
|
203
|
+
if (!insideProtectedSubtree && line.selfHasProtectedSubtreeRole)
|
|
204
|
+
protectedIndent = line.indent;
|
|
205
|
+
}
|
|
206
|
+
return lines;
|
|
207
|
+
}
|
|
208
|
+
function isProtectedLine(line) {
|
|
209
|
+
return line.selfHasProtectedLineRole || line.containsProtectedSubtreeRole || line.insideProtectedSubtree;
|
|
210
|
+
}
|
|
211
|
+
function compressionKey(line) {
|
|
212
|
+
return `${line.parentIndex}:${line.indent}:${line.signature}`;
|
|
213
|
+
}
|
|
214
|
+
function signature(line) {
|
|
215
|
+
let result = line.trimEnd().replace(KEEP_REF_ALL, '[ref=?]');
|
|
216
|
+
result = result.replace(/"[^"]*"/g, '""');
|
|
217
|
+
result = result.replace(/'[^']*'/g, "''");
|
|
218
|
+
result = result.replace(/\b\d+\b/g, 'N');
|
|
219
|
+
return result.trimStart().slice(0, 80);
|
|
220
|
+
}
|
|
221
|
+
function roleOf(line) {
|
|
222
|
+
return ROLE_PREFIX_RE.exec(line)?.[1]?.toLowerCase();
|
|
223
|
+
}
|
|
224
|
+
function shouldKeepLine(role, hasRef, hasCursorPointer) {
|
|
225
|
+
if (shouldKeepCursorPointerRef(hasRef, hasCursorPointer))
|
|
226
|
+
return true;
|
|
227
|
+
if (role === undefined)
|
|
228
|
+
return false;
|
|
229
|
+
return PROTECTED_LINE_ROLES.has(role) || hasRef && REF_PROTECTED_LINE_ROLES.has(role);
|
|
230
|
+
}
|
|
231
|
+
function shouldKeepSubtree(role) {
|
|
232
|
+
return role !== undefined && PROTECTED_SUBTREE_ROLES.has(role);
|
|
233
|
+
}
|
|
234
|
+
function shouldKeepRefProtectedDescendants(role, hasRef) {
|
|
235
|
+
return role !== undefined && hasRef && REF_PROTECTED_DESCENDANT_ROLES.has(role);
|
|
236
|
+
}
|
|
237
|
+
function shouldKeepCursorPointerRef(hasRef, hasCursorPointer) {
|
|
238
|
+
return hasRef && hasCursorPointer;
|
|
239
|
+
}
|
|
240
|
+
const ROW_CONTAINER_ROLES = new Set(['grid', 'treegrid']);
|
|
241
|
+
function isRowContainerRole(role) {
|
|
242
|
+
return role !== undefined && ROW_CONTAINER_ROLES.has(role);
|
|
243
|
+
}
|
|
244
|
+
function indentOf(line) {
|
|
245
|
+
return line.length - line.trimStart().length;
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=ariaCompression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ariaCompression.js","sourceRoot":"","sources":["../../src/utils/ariaCompression.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/codegen.js
CHANGED
|
@@ -47,4 +47,10 @@ export function formatObject(value, indent = ' ') {
|
|
|
47
47
|
}
|
|
48
48
|
return String(value);
|
|
49
49
|
}
|
|
50
|
+
// Formats an options object for code generation, returning an empty string
|
|
51
|
+
// when every property is undefined (i.e. there are no options to emit).
|
|
52
|
+
export function formatObjectOrVoid(value, indent = ' ') {
|
|
53
|
+
const result = formatObject(value, indent);
|
|
54
|
+
return result === '{}' ? '' : result;
|
|
55
|
+
}
|
|
50
56
|
//# sourceMappingURL=codegen.js.map
|
package/lib/utils/codegen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/utils/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,gBAAgB;AAChB,uJAAuJ;AACvJ,oJAAoJ;AAEpJ,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAI,GAAW,IAAI;IAChE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1F,IAAI,IAAI,KAAK,IAAI;QACf,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC3D,IAAI,IAAI,KAAK,GAAG;QACd,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1D,IAAI,IAAI,KAAK,GAAG;QACd,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1D,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAU,EAAE,MAAM,GAAG,IAAI;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,OAAO,IAAI,CAAC;QACd,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI;YACpB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/utils/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,gBAAgB;AAChB,uJAAuJ;AACvJ,oJAAoJ;AAEpJ,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAI,GAAW,IAAI;IAChE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1F,IAAI,IAAI,KAAK,IAAI;QACf,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC3D,IAAI,IAAI,KAAK,GAAG;QACd,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1D,IAAI,IAAI,KAAK,GAAG;QACd,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1D,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAU,EAAE,MAAM,GAAG,IAAI;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,OAAO,IAAI,CAAC;QACd,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI;YACpB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,2EAA2E;AAC3E,wEAAwE;AACxE,MAAM,UAAU,kBAAkB,CAAC,KAAU,EAAE,MAAM,GAAG,IAAI;IAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Microsoft Corporation.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
const dataUrlPrefix = 'data:';
|
|
17
|
+
const encodedDataUrlPrefix = 'data%3a';
|
|
18
|
+
const maxDataUrlMetadataLength = 120;
|
|
19
|
+
export function truncateDataUrl(url) {
|
|
20
|
+
if (!startsWithIgnoreCase(url, 0, dataUrlPrefix) && !startsWithIgnoreCase(url, 0, encodedDataUrlPrefix))
|
|
21
|
+
return url;
|
|
22
|
+
const match = parseDataUrl(url, 0);
|
|
23
|
+
if (!match)
|
|
24
|
+
return url;
|
|
25
|
+
return `${match.displayPrefix}...`;
|
|
26
|
+
}
|
|
27
|
+
export function truncateDataUrls(text) {
|
|
28
|
+
let result = '';
|
|
29
|
+
let offset = 0;
|
|
30
|
+
const lowerText = text.toLowerCase();
|
|
31
|
+
while (offset < text.length) {
|
|
32
|
+
const start = findDataUrlStart(text, lowerText, offset);
|
|
33
|
+
if (start === -1) {
|
|
34
|
+
result += text.slice(offset);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
result += text.slice(offset, start);
|
|
38
|
+
const match = parseDataUrl(text, start);
|
|
39
|
+
if (!match) {
|
|
40
|
+
const prefixLength = dataUrlPrefixLengthAt(text, start);
|
|
41
|
+
result += text.slice(start, start + prefixLength);
|
|
42
|
+
offset = start + prefixLength;
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const end = findDataUrlEnd(text, match);
|
|
46
|
+
result += `${match.displayPrefix}...`;
|
|
47
|
+
offset = end;
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
function findDataUrlStart(text, lowerText, offset) {
|
|
52
|
+
let start = nextDataUrlPrefix(lowerText, offset);
|
|
53
|
+
while (start !== -1) {
|
|
54
|
+
if (isDataUrlStartBoundary(text, start))
|
|
55
|
+
return start;
|
|
56
|
+
start = nextDataUrlPrefix(lowerText, start + dataUrlPrefixLengthAt(lowerText, start));
|
|
57
|
+
}
|
|
58
|
+
return -1;
|
|
59
|
+
}
|
|
60
|
+
function nextDataUrlPrefix(lowerText, offset) {
|
|
61
|
+
const literalStart = lowerText.indexOf(dataUrlPrefix, offset);
|
|
62
|
+
const encodedStart = lowerText.indexOf(encodedDataUrlPrefix, offset);
|
|
63
|
+
if (literalStart === -1)
|
|
64
|
+
return encodedStart;
|
|
65
|
+
if (encodedStart === -1)
|
|
66
|
+
return literalStart;
|
|
67
|
+
return Math.min(literalStart, encodedStart);
|
|
68
|
+
}
|
|
69
|
+
function dataUrlPrefixLengthAt(text, start) {
|
|
70
|
+
return startsWithIgnoreCase(text, start, encodedDataUrlPrefix) ? encodedDataUrlPrefix.length : dataUrlPrefix.length;
|
|
71
|
+
}
|
|
72
|
+
function parseDataUrl(text, start) {
|
|
73
|
+
const isEncodedPrefix = startsWithIgnoreCase(text, start, encodedDataUrlPrefix);
|
|
74
|
+
const metadataStart = start + (isEncodedPrefix ? encodedDataUrlPrefix.length : dataUrlPrefix.length);
|
|
75
|
+
const delimiter = findDataUrlDelimiter(text, metadataStart);
|
|
76
|
+
if (!delimiter)
|
|
77
|
+
return;
|
|
78
|
+
const metadata = text.slice(metadataStart, delimiter.start);
|
|
79
|
+
const isEncodedMetadata = isEncodedPrefix || containsPercentEncoding(metadata);
|
|
80
|
+
if (!isValidDataUrlMetadata(metadata, isEncodedMetadata))
|
|
81
|
+
return;
|
|
82
|
+
const decodedMetadata = decodeDataUrlMetadata(metadata, isEncodedMetadata);
|
|
83
|
+
return {
|
|
84
|
+
payloadStart: delimiter.end,
|
|
85
|
+
displayPrefix: dataUrlDisplayPrefix(text, start, metadata, decodedMetadata, delimiter, isEncodedMetadata),
|
|
86
|
+
isBase64: decodedMetadata.toLowerCase().split(';').includes('base64'),
|
|
87
|
+
isEmbeddedQueryValue: start > 0 && text[start - 1] === '=',
|
|
88
|
+
quote: dataUrlQuoteAt(text, start),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function findDataUrlDelimiter(text, offset) {
|
|
92
|
+
let position = offset;
|
|
93
|
+
while (position < text.length) {
|
|
94
|
+
const char = text[position];
|
|
95
|
+
if (isLineBreak(char))
|
|
96
|
+
return;
|
|
97
|
+
if (char === '&' && looksLikeQueryParam(text, position + 1))
|
|
98
|
+
return;
|
|
99
|
+
if (char === ',')
|
|
100
|
+
return { start: position, end: position + 1 };
|
|
101
|
+
if (startsWithEncodedComma(text, position))
|
|
102
|
+
return { start: position, end: position + 3 };
|
|
103
|
+
position++;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function dataUrlDisplayPrefix(text, start, metadata, decodedMetadata, delimiter, isEncoded) {
|
|
107
|
+
if (metadata.length <= maxDataUrlMetadataLength)
|
|
108
|
+
return text.slice(start, delimiter.end);
|
|
109
|
+
const compactMetadata = compactDataUrlMetadata(decodedMetadata);
|
|
110
|
+
const delimiterText = text.slice(delimiter.start, delimiter.end);
|
|
111
|
+
return `${text.slice(start, start + dataUrlPrefixLengthAt(text, start))}${encodeDataUrlMetadata(compactMetadata, isEncoded)}${delimiterText}`;
|
|
112
|
+
}
|
|
113
|
+
function compactDataUrlMetadata(decodedMetadata) {
|
|
114
|
+
const parts = decodedMetadata.split(';');
|
|
115
|
+
const mediaType = parts[0]?.includes('/') ? parts[0] : '';
|
|
116
|
+
const base64 = parts.some(part => part.toLowerCase() === 'base64') ? ';base64' : '';
|
|
117
|
+
return `${mediaType}${base64}`;
|
|
118
|
+
}
|
|
119
|
+
function encodeDataUrlMetadata(metadata, isEncoded) {
|
|
120
|
+
return isEncoded ? encodeURIComponent(metadata) : metadata;
|
|
121
|
+
}
|
|
122
|
+
function isValidDataUrlMetadata(metadata, isEncoded) {
|
|
123
|
+
if (!metadata)
|
|
124
|
+
return true;
|
|
125
|
+
const decodedMetadata = decodeDataUrlMetadata(metadata, isEncoded);
|
|
126
|
+
if (!decodedMetadata || /[\r\n]/.test(decodedMetadata) || /[\s"'<>()[\]{}]/.test(metadata))
|
|
127
|
+
return false;
|
|
128
|
+
if (decodedMetadata.startsWith(';'))
|
|
129
|
+
return true;
|
|
130
|
+
const mediaTypeEnd = decodedMetadata.indexOf(';');
|
|
131
|
+
const mediaType = mediaTypeEnd === -1 ? decodedMetadata : decodedMetadata.slice(0, mediaTypeEnd);
|
|
132
|
+
return /^[A-Za-z0-9!#$&^_.+-]+\/[A-Za-z0-9!#$&^_.+-]+$/.test(mediaType);
|
|
133
|
+
}
|
|
134
|
+
function decodeDataUrlMetadata(metadata, isEncoded) {
|
|
135
|
+
if (!isEncoded)
|
|
136
|
+
return metadata;
|
|
137
|
+
try {
|
|
138
|
+
return decodeURIComponent(metadata);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
return '';
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function findDataUrlEnd(text, match) {
|
|
145
|
+
let end = match.payloadStart;
|
|
146
|
+
while (end < text.length) {
|
|
147
|
+
const char = text[end];
|
|
148
|
+
if (isLineBreak(char))
|
|
149
|
+
break;
|
|
150
|
+
if (match.isEmbeddedQueryValue && char === '&' && isQueryParamBoundary(text, match, end))
|
|
151
|
+
break;
|
|
152
|
+
if (match.isBase64 && char === '&')
|
|
153
|
+
break;
|
|
154
|
+
if (match.isBase64 && isEncodedPayloadTerminator(text, end))
|
|
155
|
+
break;
|
|
156
|
+
if (match.isBase64 && isBase64PayloadTerminator(char))
|
|
157
|
+
break;
|
|
158
|
+
if (!match.isBase64 && match.quote && char === match.quote && isQuotedDataUrlEnd(text, match, end))
|
|
159
|
+
break;
|
|
160
|
+
if (!match.isBase64 && !match.quote && isRawPayloadSuffixBoundary(text, match, end))
|
|
161
|
+
break;
|
|
162
|
+
end++;
|
|
163
|
+
}
|
|
164
|
+
return end;
|
|
165
|
+
}
|
|
166
|
+
function dataUrlQuoteAt(text, start) {
|
|
167
|
+
const char = start > 0 ? text[start - 1] : undefined;
|
|
168
|
+
return char === '"' || char === '\'' ? char : undefined;
|
|
169
|
+
}
|
|
170
|
+
function isLineBreak(char) {
|
|
171
|
+
return char === '\n' || char === '\r';
|
|
172
|
+
}
|
|
173
|
+
function isBase64PayloadTerminator(char) {
|
|
174
|
+
return /\s/.test(char) || ['"', '\'', '<', '>', ')', ']', '}', '`', ':'].includes(char);
|
|
175
|
+
}
|
|
176
|
+
function isQueryParamBoundary(text, match, ampersand) {
|
|
177
|
+
if (!looksLikeQueryParam(text, ampersand + 1))
|
|
178
|
+
return false;
|
|
179
|
+
return match.isBase64 || isRawPayloadCompleteBefore(text, match.payloadStart, ampersand);
|
|
180
|
+
}
|
|
181
|
+
function isRawPayloadCompleteBefore(text, payloadStart, end) {
|
|
182
|
+
let position = end - 1;
|
|
183
|
+
while (position >= payloadStart && /\s/.test(text[position]))
|
|
184
|
+
position--;
|
|
185
|
+
return text[position] === '>' || (position >= payloadStart + 2 && startsWithIgnoreCase(text, position - 2, '%3e'));
|
|
186
|
+
}
|
|
187
|
+
function isRawPayloadSuffixBoundary(text, match, position) {
|
|
188
|
+
const char = text[position];
|
|
189
|
+
if (/\s/.test(char))
|
|
190
|
+
return !isRawMarkupPayload(text, match.payloadStart) || isRawPayloadCompleteBefore(text, match.payloadStart, position);
|
|
191
|
+
if (isRawPayloadWrapperBoundary(text, match, position))
|
|
192
|
+
return true;
|
|
193
|
+
if (isEncodedPayloadTerminator(text, position))
|
|
194
|
+
return isRawPayloadCompleteBefore(text, match.payloadStart, position) || isRawPayloadBoundarySuffix(text, position + 3);
|
|
195
|
+
if (char !== ':')
|
|
196
|
+
return false;
|
|
197
|
+
if (isRawMarkupPayload(text, match.payloadStart) && !isRawPayloadCompleteBefore(text, match.payloadStart, position))
|
|
198
|
+
return false;
|
|
199
|
+
return looksLikeSourceLocationSuffix(text, position);
|
|
200
|
+
}
|
|
201
|
+
function isQuotedDataUrlEnd(text, match, quote) {
|
|
202
|
+
return !isRawMarkupPayload(text, match.payloadStart) || isRawPayloadCompleteBefore(text, match.payloadStart, quote);
|
|
203
|
+
}
|
|
204
|
+
function isRawMarkupPayload(text, payloadStart) {
|
|
205
|
+
return text[payloadStart] === '<' || startsWithIgnoreCase(text, payloadStart, '%3c');
|
|
206
|
+
}
|
|
207
|
+
function looksLikeSourceLocationSuffix(text, colon) {
|
|
208
|
+
let position = colon + 1;
|
|
209
|
+
if (!/\d/.test(text[position] || ''))
|
|
210
|
+
return false;
|
|
211
|
+
while (position < text.length && /\d/.test(text[position]))
|
|
212
|
+
position++;
|
|
213
|
+
return position === text.length || isLineBreak(text[position]) || /\s/.test(text[position]);
|
|
214
|
+
}
|
|
215
|
+
function looksLikeQueryParam(text, offset) {
|
|
216
|
+
if (offset >= text.length)
|
|
217
|
+
return false;
|
|
218
|
+
for (let position = offset; position < text.length; position++) {
|
|
219
|
+
const char = text[position];
|
|
220
|
+
if (char === '=')
|
|
221
|
+
return position > offset;
|
|
222
|
+
if (isLineBreak(char) || /\s/.test(char) || ['&', '#', '"', '\'', '<', '>', ')', '}', '`'].includes(char))
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
function startsWithEncodedComma(text, position) {
|
|
228
|
+
return startsWithIgnoreCase(text, position, '%2c');
|
|
229
|
+
}
|
|
230
|
+
function containsPercentEncoding(text) {
|
|
231
|
+
return /%[0-9a-f]{2}/i.test(text);
|
|
232
|
+
}
|
|
233
|
+
function isDataUrlStartBoundary(text, start) {
|
|
234
|
+
if (start === 0)
|
|
235
|
+
return true;
|
|
236
|
+
if (!/[A-Za-z0-9_-]/.test(text[start - 1]))
|
|
237
|
+
return true;
|
|
238
|
+
const encodedChar = percentEncodedCharBefore(text, start);
|
|
239
|
+
return !!encodedChar && !/[A-Za-z0-9_-]/.test(encodedChar);
|
|
240
|
+
}
|
|
241
|
+
function isRawPayloadWrapperBoundary(text, match, position) {
|
|
242
|
+
return [')', ']', '}'].includes(text[position]) && (isRawPayloadCompleteBefore(text, match.payloadStart, position) || isRawPayloadBoundarySuffix(text, position + 1));
|
|
243
|
+
}
|
|
244
|
+
function isRawPayloadBoundarySuffix(text, offset) {
|
|
245
|
+
if (offset >= text.length)
|
|
246
|
+
return true;
|
|
247
|
+
const char = text[offset];
|
|
248
|
+
return isLineBreak(char) || /\s/.test(char) || ['"', '\'', ')', ']', '}', '`'].includes(char) || (char === '&' && looksLikeQueryParam(text, offset + 1));
|
|
249
|
+
}
|
|
250
|
+
function isEncodedPayloadTerminator(text, position) {
|
|
251
|
+
const encodedChar = percentEncodedCharAt(text, position);
|
|
252
|
+
return !!encodedChar && ['"', '\'', ')', ']', '}', '`'].includes(encodedChar);
|
|
253
|
+
}
|
|
254
|
+
function percentEncodedCharBefore(text, position) {
|
|
255
|
+
return position >= 3 ? percentEncodedCharAt(text, position - 3) : undefined;
|
|
256
|
+
}
|
|
257
|
+
function percentEncodedCharAt(text, position) {
|
|
258
|
+
if (position < 0 || text[position] !== '%' || !/^[0-9a-f]{2}$/i.test(text.slice(position + 1, position + 3)))
|
|
259
|
+
return;
|
|
260
|
+
return String.fromCharCode(Number.parseInt(text.slice(position + 1, position + 3), 16));
|
|
261
|
+
}
|
|
262
|
+
function startsWithIgnoreCase(text, position, value) {
|
|
263
|
+
return text.slice(position, position + value.length).toLowerCase() === value;
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=dataUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataUrl.js","sourceRoot":"","sources":["../../src/utils/dataUrl.ts"],"names":[],"mappings":"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"}
|
package/lib/vscode/main.js
CHANGED
|
@@ -57,7 +57,7 @@ async function main(config, connectionString, lib) {
|
|
|
57
57
|
nameInConfig: 'playwright-vscode',
|
|
58
58
|
create: () => new BrowserServerBackend(config, factory),
|
|
59
59
|
version: 'unused'
|
|
60
|
-
}, new StdioServerTransport(), false);
|
|
60
|
+
}, new StdioServerTransport(), Promise.resolve(), false);
|
|
61
61
|
}
|
|
62
62
|
await main(JSON.parse(process.argv[2]), process.argv[3], process.argv[4]);
|
|
63
63
|
//# sourceMappingURL=main.js.map
|
package/lib/vscode/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/vscode/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAKlE,MAAM,2BAA2B;IAIX,OAAO;IAAsB,WAAW;IAAuC,iBAAiB;IAHpH,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,kEAAkE,CAAC;IAEjF,YAAoB,OAAmB,EAAU,WAAwC,EAAU,iBAAyB;uBAAxG,OAAO;2BAAsB,WAAW;iCAAuC,iBAAiB;IAAW,CAAC;IAEhI,KAAK,CAAC,aAAa,CAAC,UAAsB,EAAE,WAAwB;QAClE,IAAI,aAAa,GAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5D,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACrC,aAAa,GAAG;gBACd,GAAG,aAAa;gBAChB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc;gBACtC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;aAC9C,CAAC;QACJ,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzD,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAEnF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,0FAA0F;QACzI,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEvG,OAAO;YACL,cAAc,EAAE,OAAO;YACvB,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED,KAAK,UAAU,IAAI,CAAC,MAAkB,EAAE,gBAAwB,EAAE,GAAW;IAC3E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtF,MAAM,SAAS,CAAC,OAAO,CACnB;QACE,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,mBAAmB;QACjC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC;QACvD,OAAO,EAAE,QAAQ;KAClB,EACD,IAAI,oBAAoB,EAAE,EAC1B,KAAK,CACR,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,CACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/vscode/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAKlE,MAAM,2BAA2B;IAIX,OAAO;IAAsB,WAAW;IAAuC,iBAAiB;IAHpH,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,kEAAkE,CAAC;IAEjF,YAAoB,OAAmB,EAAU,WAAwC,EAAU,iBAAyB;uBAAxG,OAAO;2BAAsB,WAAW;iCAAuC,iBAAiB;IAAW,CAAC;IAEhI,KAAK,CAAC,aAAa,CAAC,UAAsB,EAAE,WAAwB;QAClE,IAAI,aAAa,GAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5D,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACrC,aAAa,GAAG;gBACd,GAAG,aAAa;gBAChB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc;gBACtC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;aAC9C,CAAC;QACJ,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzD,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAEnF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,0FAA0F;QACzI,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEvG,OAAO;YACL,cAAc,EAAE,OAAO;YACvB,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED,KAAK,UAAU,IAAI,CAAC,MAAkB,EAAE,gBAAwB,EAAE,GAAW;IAC3E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtF,MAAM,SAAS,CAAC,OAAO,CACnB;QACE,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,mBAAmB;QACjC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC;QACvD,OAAO,EAAE,QAAQ;KAClB,EACD,IAAI,oBAAoB,EAAE,EAC1B,OAAO,CAAC,OAAO,EAAE,EACjB,KAAK,CACR,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,CACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB,CAAC"}
|