@jobshimo/browser-link 0.10.0 → 0.12.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/dist/bridge/events.d.ts +25 -2
- package/dist/bridge/events.js +60 -1
- package/dist/bridge/events.js.map +1 -1
- package/dist/bridge/ws-bridge.d.ts +1 -1
- package/dist/bridge/ws-bridge.js +22 -1
- package/dist/bridge/ws-bridge.js.map +1 -1
- package/dist/extension/background.js +413 -1
- package/dist/extension/background.js.map +1 -1
- package/dist/extension/manifest.json +3 -2
- package/dist/extension/popup.d.ts +19 -0
- package/dist/extension/popup.html +155 -0
- package/dist/extension/popup.js +93 -0
- package/dist/extension/popup.js.map +1 -1
- package/dist/messages.d.ts +25 -1
- package/dist/permissions.js +54 -0
- package/dist/permissions.js.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/browser-definitions.js +172 -0
- package/dist/tools/browser-definitions.js.map +1 -1
- package/dist/tools/browser-dispatch.d.ts +9 -1
- package/dist/tools/browser-dispatch.js +144 -0
- package/dist/tools/browser-dispatch.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,9 +19,15 @@ function isRuntimeMessage(msg) {
|
|
|
19
19
|
if (typeof msg !== 'object' || msg === null)
|
|
20
20
|
return false;
|
|
21
21
|
const m = msg;
|
|
22
|
+
if (m.action === 'versionCheck')
|
|
23
|
+
return true;
|
|
22
24
|
if (typeof m.tabId !== 'number')
|
|
23
25
|
return false;
|
|
24
|
-
return m.action === 'connect' ||
|
|
26
|
+
return (m.action === 'connect' ||
|
|
27
|
+
m.action === 'disconnect' ||
|
|
28
|
+
m.action === 'status' ||
|
|
29
|
+
m.action === 'pendingDialog' ||
|
|
30
|
+
m.action === 'respondDialog');
|
|
25
31
|
}
|
|
26
32
|
const tabStates = new Map();
|
|
27
33
|
function send(ws, msg) {
|
|
@@ -38,6 +44,43 @@ function safeParse(raw) {
|
|
|
38
44
|
function cdp(tabId, method, params = {}) {
|
|
39
45
|
return chrome.debugger.sendCommand({ tabId }, method, params);
|
|
40
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Mapping from the CDP permission name (the contract `browser.set_permission`
|
|
49
|
+
* accepts on the wire) to the `chrome.contentSettings` setting key. Only the
|
|
50
|
+
* names that actually have a contentSettings surface in MV3 are listed —
|
|
51
|
+
* `Browser.setPermission` covers more, but that domain is not reachable from
|
|
52
|
+
* `chrome.debugger` attached to a tab.
|
|
53
|
+
*/
|
|
54
|
+
const CONTENT_SETTING_BY_PERMISSION = {
|
|
55
|
+
geolocation: 'location',
|
|
56
|
+
notifications: 'notifications',
|
|
57
|
+
camera: 'camera',
|
|
58
|
+
microphone: 'microphone',
|
|
59
|
+
clipboardReadWrite: 'clipboard',
|
|
60
|
+
clipboardSanitizedWrite: 'clipboard',
|
|
61
|
+
sensors: 'sensors',
|
|
62
|
+
};
|
|
63
|
+
const STATE_TO_CONTENT_SETTING = {
|
|
64
|
+
granted: 'allow',
|
|
65
|
+
denied: 'block',
|
|
66
|
+
prompt: 'ask',
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Apply a `chrome.contentSettings.<setting>.set({ primaryPattern, setting })`
|
|
70
|
+
* call without statically referencing each key — the `contentSettings`
|
|
71
|
+
* surface is dynamic at the API level. We narrow `unknown` carefully so the
|
|
72
|
+
* cast is the smallest possible.
|
|
73
|
+
*/
|
|
74
|
+
async function applyContentSetting(settingKey, primaryPattern, setting) {
|
|
75
|
+
const root = chrome.contentSettings;
|
|
76
|
+
if (!root)
|
|
77
|
+
throw new Error('chrome.contentSettings not available in this build');
|
|
78
|
+
const setter = root[settingKey];
|
|
79
|
+
if (!setter || typeof setter.set !== 'function') {
|
|
80
|
+
throw new Error(`chrome.contentSettings.${settingKey} is not exposed in this Chrome build`);
|
|
81
|
+
}
|
|
82
|
+
await setter.set({ primaryPattern, setting });
|
|
83
|
+
}
|
|
41
84
|
/**
|
|
42
85
|
* Defensive caps applied to every duration that ends up in a setTimeout
|
|
43
86
|
* driven by tool params. The MCP request payload is technically untrusted
|
|
@@ -95,6 +138,34 @@ function waitForCdpEvent(tabId, method, timeoutMs) {
|
|
|
95
138
|
chrome.debugger.onEvent.addListener(handler);
|
|
96
139
|
});
|
|
97
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Build the JS expression that checks a single wait_for condition for a
|
|
143
|
+
* selector. Returns a boolean. Used by `case 'wait_for'` in handleTool.
|
|
144
|
+
*
|
|
145
|
+
* - visible: element exists AND non-zero box AND opacity > 0
|
|
146
|
+
* - hidden: element doesn't exist OR zero box OR opacity 0 OR display:none
|
|
147
|
+
* - attached: element exists in DOM (any state)
|
|
148
|
+
* - detached: element does NOT exist in DOM
|
|
149
|
+
*/
|
|
150
|
+
function buildWaitSelectorExpr(selector, condition) {
|
|
151
|
+
const sel = JSON.stringify(selector);
|
|
152
|
+
if (condition === 'attached') {
|
|
153
|
+
return `Boolean(document.querySelector(${sel}))`;
|
|
154
|
+
}
|
|
155
|
+
if (condition === 'detached') {
|
|
156
|
+
return `!document.querySelector(${sel})`;
|
|
157
|
+
}
|
|
158
|
+
// visible / hidden share the same probe — only the truthiness flips.
|
|
159
|
+
const want = condition === 'hidden' ? '!' : '';
|
|
160
|
+
return `(() => {
|
|
161
|
+
const el = document.querySelector(${sel});
|
|
162
|
+
if (!el) return ${condition === 'hidden' ? 'true' : 'false'};
|
|
163
|
+
const s = getComputedStyle(el);
|
|
164
|
+
if (s.display === 'none' || s.visibility === 'hidden' || s.opacity === '0') return ${condition === 'hidden' ? 'true' : 'false'};
|
|
165
|
+
const r = el.getBoundingClientRect();
|
|
166
|
+
return ${want}(r.width > 0 && r.height > 0);
|
|
167
|
+
})()`;
|
|
168
|
+
}
|
|
98
169
|
/**
|
|
99
170
|
* Build the JS expression that:
|
|
100
171
|
* 1. scrollIntoView(center) for any selector-based endpoint (so both are
|
|
@@ -255,6 +326,56 @@ function attachDebuggerListener(state) {
|
|
|
255
326
|
entry.failed = p.errorText ?? 'failed';
|
|
256
327
|
return;
|
|
257
328
|
}
|
|
329
|
+
if (method === 'Page.javascriptDialogOpening') {
|
|
330
|
+
// The page JS thread is now frozen until something calls
|
|
331
|
+
// Page.handleJavaScriptDialog. We do NOT respond automatically —
|
|
332
|
+
// the agent reads dialog-opening from browser.events and decides
|
|
333
|
+
// via browser.dialog_respond. The popup also exposes accept/dismiss
|
|
334
|
+
// buttons as a manual escape hatch.
|
|
335
|
+
const p = params;
|
|
336
|
+
const info = {
|
|
337
|
+
type: p.type ?? 'alert',
|
|
338
|
+
message: p.message ?? '',
|
|
339
|
+
};
|
|
340
|
+
if (typeof p.defaultPrompt === 'string')
|
|
341
|
+
info.default_prompt = p.defaultPrompt;
|
|
342
|
+
if (typeof p.url === 'string')
|
|
343
|
+
info.url = p.url;
|
|
344
|
+
state.pendingDialog = info;
|
|
345
|
+
if (state.ws && state.ws.readyState === WebSocket.OPEN && state.serverTabId) {
|
|
346
|
+
const data = {
|
|
347
|
+
type: info.type,
|
|
348
|
+
message: info.message,
|
|
349
|
+
};
|
|
350
|
+
if (info.default_prompt !== undefined)
|
|
351
|
+
data.default_prompt = info.default_prompt;
|
|
352
|
+
if (info.url !== undefined)
|
|
353
|
+
data.url = info.url;
|
|
354
|
+
send(state.ws, {
|
|
355
|
+
kind: 'bridge.event',
|
|
356
|
+
eventKind: 'dialog-opening',
|
|
357
|
+
tabId: state.serverTabId,
|
|
358
|
+
data,
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
if (method === 'Page.javascriptDialogClosed') {
|
|
364
|
+
const p = params;
|
|
365
|
+
state.pendingDialog = undefined;
|
|
366
|
+
if (state.ws && state.ws.readyState === WebSocket.OPEN && state.serverTabId) {
|
|
367
|
+
const data = { accept: p.result === true };
|
|
368
|
+
if (typeof p.userInput === 'string')
|
|
369
|
+
data.user_input = p.userInput;
|
|
370
|
+
send(state.ws, {
|
|
371
|
+
kind: 'bridge.event',
|
|
372
|
+
eventKind: 'dialog-closed',
|
|
373
|
+
tabId: state.serverTabId,
|
|
374
|
+
data,
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
258
379
|
};
|
|
259
380
|
state.debuggerListener = listener;
|
|
260
381
|
}
|
|
@@ -782,6 +903,164 @@ async function handleTool(state, msg) {
|
|
|
782
903
|
const value = await evaluateInTab(tabId, expression);
|
|
783
904
|
return { kind: 'tool.response', id: msg.id, ok: true, result: value };
|
|
784
905
|
}
|
|
906
|
+
case 'wait_for': {
|
|
907
|
+
const optNum = (key) => {
|
|
908
|
+
const v = p[key];
|
|
909
|
+
return typeof v === 'number' && Number.isFinite(v) && v >= 0 ? v : undefined;
|
|
910
|
+
};
|
|
911
|
+
const waitSelector = optStr('selector');
|
|
912
|
+
const waitExpression = optStr('expression');
|
|
913
|
+
const waitNetworkUrl = optStr('network_url');
|
|
914
|
+
const waitCondition = optStr('condition') ?? 'visible';
|
|
915
|
+
// Defensive caps mirror the dispatcher's contract and keep CodeQL
|
|
916
|
+
// happy about setTimeout durations driven by request params.
|
|
917
|
+
const MAX_WAIT_TIMEOUT_MS = 30_000;
|
|
918
|
+
const MIN_POLL_MS = 50;
|
|
919
|
+
const MAX_POLL_MS = 1_000;
|
|
920
|
+
const requestedTimeout = optNum('timeout_ms') ?? 5_000;
|
|
921
|
+
const timeoutMs = requestedTimeout < MAX_WAIT_TIMEOUT_MS ? requestedTimeout : MAX_WAIT_TIMEOUT_MS;
|
|
922
|
+
const requestedPoll = optNum('poll_interval_ms') ?? 100;
|
|
923
|
+
const pollIntervalMs = requestedPoll < MIN_POLL_MS
|
|
924
|
+
? MIN_POLL_MS
|
|
925
|
+
: requestedPoll > MAX_POLL_MS
|
|
926
|
+
? MAX_POLL_MS
|
|
927
|
+
: requestedPoll;
|
|
928
|
+
// Build the check function based on which mode the caller picked.
|
|
929
|
+
// The dispatcher already enforced "exactly one of selector / expression
|
|
930
|
+
// / network_url" so we just pick the first defined one. If none are
|
|
931
|
+
// defined (shouldn't happen from a well-formed call), the check stays
|
|
932
|
+
// null and we return matched=false immediately.
|
|
933
|
+
let check = null;
|
|
934
|
+
if (waitSelector !== undefined) {
|
|
935
|
+
const expr = buildWaitSelectorExpr(waitSelector, waitCondition);
|
|
936
|
+
check = async () => {
|
|
937
|
+
try {
|
|
938
|
+
const result = await evaluateInTab(tabId, expr);
|
|
939
|
+
return Boolean(result);
|
|
940
|
+
}
|
|
941
|
+
catch {
|
|
942
|
+
// If the page is unreachable mid-poll, count as "not yet matched".
|
|
943
|
+
return false;
|
|
944
|
+
}
|
|
945
|
+
};
|
|
946
|
+
}
|
|
947
|
+
else if (waitExpression !== undefined) {
|
|
948
|
+
const wrapped = `Boolean(${waitExpression})`;
|
|
949
|
+
check = async () => {
|
|
950
|
+
try {
|
|
951
|
+
const result = await evaluateInTab(tabId, wrapped);
|
|
952
|
+
return Boolean(result);
|
|
953
|
+
}
|
|
954
|
+
catch {
|
|
955
|
+
return false;
|
|
956
|
+
}
|
|
957
|
+
};
|
|
958
|
+
}
|
|
959
|
+
else if (waitNetworkUrl !== undefined) {
|
|
960
|
+
const needle = waitNetworkUrl.toLowerCase();
|
|
961
|
+
check = () => {
|
|
962
|
+
for (const id of state.networkOrder) {
|
|
963
|
+
const r = state.networkBuffer.get(id);
|
|
964
|
+
if (!r)
|
|
965
|
+
continue;
|
|
966
|
+
if (r.finished_at === undefined)
|
|
967
|
+
continue;
|
|
968
|
+
if (r.url.toLowerCase().includes(needle))
|
|
969
|
+
return Promise.resolve(true);
|
|
970
|
+
}
|
|
971
|
+
return Promise.resolve(false);
|
|
972
|
+
};
|
|
973
|
+
}
|
|
974
|
+
const startedAt = Date.now();
|
|
975
|
+
let checks = 0;
|
|
976
|
+
let matched = false;
|
|
977
|
+
while (check) {
|
|
978
|
+
checks++;
|
|
979
|
+
if (await check()) {
|
|
980
|
+
matched = true;
|
|
981
|
+
break;
|
|
982
|
+
}
|
|
983
|
+
if (Date.now() - startedAt >= timeoutMs)
|
|
984
|
+
break;
|
|
985
|
+
await sleep(pollIntervalMs);
|
|
986
|
+
}
|
|
987
|
+
const elapsedMs = Date.now() - startedAt;
|
|
988
|
+
return {
|
|
989
|
+
kind: 'tool.response',
|
|
990
|
+
id: msg.id,
|
|
991
|
+
ok: true,
|
|
992
|
+
result: matched
|
|
993
|
+
? { matched: true, elapsed_ms: elapsedMs, checks }
|
|
994
|
+
: { matched: false, elapsed_ms: elapsedMs, checks, reason: 'timeout' },
|
|
995
|
+
};
|
|
996
|
+
}
|
|
997
|
+
case 'dialog_respond': {
|
|
998
|
+
const accept = p.accept === true;
|
|
999
|
+
const promptText = optStr('prompt_text');
|
|
1000
|
+
// No probing — if there is no dialog open, CDP returns an error.
|
|
1001
|
+
// We propagate it; the caller decides if "no dialog to respond to"
|
|
1002
|
+
// is a problem or a race they can ignore.
|
|
1003
|
+
const params = { accept };
|
|
1004
|
+
if (promptText !== undefined)
|
|
1005
|
+
params.promptText = promptText;
|
|
1006
|
+
await cdp(tabId, 'Page.handleJavaScriptDialog', params);
|
|
1007
|
+
return {
|
|
1008
|
+
kind: 'tool.response',
|
|
1009
|
+
id: msg.id,
|
|
1010
|
+
ok: true,
|
|
1011
|
+
result: { accepted: accept },
|
|
1012
|
+
};
|
|
1013
|
+
}
|
|
1014
|
+
case 'set_permission': {
|
|
1015
|
+
const origin = str('origin');
|
|
1016
|
+
const name = str('name');
|
|
1017
|
+
const state_ = str('state');
|
|
1018
|
+
// CDP `Browser.setPermission` requires a browser-level target,
|
|
1019
|
+
// which `chrome.debugger.attach({ tabId })` does NOT give us in
|
|
1020
|
+
// MV3. We use `chrome.contentSettings` instead — that surface IS
|
|
1021
|
+
// available to extensions and covers the realistic permissions
|
|
1022
|
+
// an agent needs to pre-set (geolocation, notifications, camera,
|
|
1023
|
+
// microphone, clipboard, sensors).
|
|
1024
|
+
const settingKey = CONTENT_SETTING_BY_PERMISSION[name];
|
|
1025
|
+
if (!settingKey) {
|
|
1026
|
+
return {
|
|
1027
|
+
kind: 'tool.response',
|
|
1028
|
+
id: msg.id,
|
|
1029
|
+
ok: false,
|
|
1030
|
+
error: `set_permission: '${name}' is not supported by chrome.contentSettings in MV3. Supported names: ${Object.keys(CONTENT_SETTING_BY_PERMISSION).join(', ')}.`,
|
|
1031
|
+
};
|
|
1032
|
+
}
|
|
1033
|
+
const setting = STATE_TO_CONTENT_SETTING[state_];
|
|
1034
|
+
if (!setting) {
|
|
1035
|
+
return {
|
|
1036
|
+
kind: 'tool.response',
|
|
1037
|
+
id: msg.id,
|
|
1038
|
+
ok: false,
|
|
1039
|
+
error: `set_permission: unknown state '${state_}' (expected granted | denied | prompt).`,
|
|
1040
|
+
};
|
|
1041
|
+
}
|
|
1042
|
+
// `chrome.contentSettings.<name>.set({ primaryPattern, setting })`
|
|
1043
|
+
// requires a URL pattern, not a bare origin. Append `/*` so the
|
|
1044
|
+
// pattern covers every path on the origin.
|
|
1045
|
+
const primaryPattern = origin.endsWith('/*') ? origin : `${origin}/*`;
|
|
1046
|
+
try {
|
|
1047
|
+
await applyContentSetting(settingKey, primaryPattern, setting);
|
|
1048
|
+
}
|
|
1049
|
+
catch (err) {
|
|
1050
|
+
return {
|
|
1051
|
+
kind: 'tool.response',
|
|
1052
|
+
id: msg.id,
|
|
1053
|
+
ok: false,
|
|
1054
|
+
error: `set_permission: ${err instanceof Error ? err.message : String(err)}`,
|
|
1055
|
+
};
|
|
1056
|
+
}
|
|
1057
|
+
return {
|
|
1058
|
+
kind: 'tool.response',
|
|
1059
|
+
id: msg.id,
|
|
1060
|
+
ok: true,
|
|
1061
|
+
result: { origin, name, state: state_, applied_as: settingKey },
|
|
1062
|
+
};
|
|
1063
|
+
}
|
|
785
1064
|
default:
|
|
786
1065
|
return { kind: 'tool.response', id: msg.id, ok: false, error: `Unknown tool: ${msg.tool}` };
|
|
787
1066
|
}
|
|
@@ -931,6 +1210,11 @@ async function connectTab(tabId) {
|
|
|
931
1210
|
return;
|
|
932
1211
|
if (msg.kind === 'tab.registered') {
|
|
933
1212
|
state.serverTabId = msg.payload.tabId;
|
|
1213
|
+
// serverVersion is optional on the wire so older servers that
|
|
1214
|
+
// predate the field still parse — narrow on `typeof string`.
|
|
1215
|
+
if (typeof msg.payload.serverVersion === 'string') {
|
|
1216
|
+
state.serverVersion = msg.payload.serverVersion;
|
|
1217
|
+
}
|
|
934
1218
|
// Remember this id so the next reconnect (after a primary swap)
|
|
935
1219
|
// asks the new primary to honour it. The primary emits
|
|
936
1220
|
// `tab-renamed` in the bridge event log if it can't.
|
|
@@ -975,6 +1259,40 @@ function getTabStatus(tabId) {
|
|
|
975
1259
|
return { connected: false };
|
|
976
1260
|
return { connected: true, serverTabId: state.serverTabId };
|
|
977
1261
|
}
|
|
1262
|
+
/**
|
|
1263
|
+
* Compute the version-mismatch summary for the popup. Picks the
|
|
1264
|
+
* `serverVersion` reported by ANY currently-connected tab — they all come
|
|
1265
|
+
* from the same primary, so the first one is enough. When no tab has
|
|
1266
|
+
* registered yet (e.g. user just installed and hasn't pressed Connect),
|
|
1267
|
+
* `server` stays null and the popup hides the banner.
|
|
1268
|
+
*/
|
|
1269
|
+
function getVersionCheck() {
|
|
1270
|
+
const extension = chrome.runtime.getManifest().version;
|
|
1271
|
+
let server = null;
|
|
1272
|
+
for (const s of tabStates.values()) {
|
|
1273
|
+
if (typeof s.serverVersion === 'string' && s.serverVersion.length > 0) {
|
|
1274
|
+
server = s.serverVersion;
|
|
1275
|
+
break;
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1278
|
+
return {
|
|
1279
|
+
extension,
|
|
1280
|
+
server,
|
|
1281
|
+
aligned: server === null ? null : server === extension,
|
|
1282
|
+
};
|
|
1283
|
+
}
|
|
1284
|
+
async function respondToDialogFromPopup(tabId, accept, promptText) {
|
|
1285
|
+
try {
|
|
1286
|
+
const params = { accept };
|
|
1287
|
+
if (promptText !== undefined)
|
|
1288
|
+
params.promptText = promptText;
|
|
1289
|
+
await cdp(tabId, 'Page.handleJavaScriptDialog', params);
|
|
1290
|
+
return { ok: true };
|
|
1291
|
+
}
|
|
1292
|
+
catch (err) {
|
|
1293
|
+
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
978
1296
|
chrome.runtime.onMessage.addListener((msg, _sender, sendResponse) => {
|
|
979
1297
|
if (!isRuntimeMessage(msg))
|
|
980
1298
|
return false;
|
|
@@ -986,6 +1304,19 @@ chrome.runtime.onMessage.addListener((msg, _sender, sendResponse) => {
|
|
|
986
1304
|
void disconnectTab(msg.tabId).then(sendResponse);
|
|
987
1305
|
return true;
|
|
988
1306
|
}
|
|
1307
|
+
if (msg.action === 'pendingDialog') {
|
|
1308
|
+
const state = tabStates.get(msg.tabId);
|
|
1309
|
+
sendResponse({ pending: state?.pendingDialog ?? null });
|
|
1310
|
+
return false;
|
|
1311
|
+
}
|
|
1312
|
+
if (msg.action === 'respondDialog') {
|
|
1313
|
+
void respondToDialogFromPopup(msg.tabId, msg.accept, msg.promptText).then(sendResponse);
|
|
1314
|
+
return true;
|
|
1315
|
+
}
|
|
1316
|
+
if (msg.action === 'versionCheck') {
|
|
1317
|
+
sendResponse(getVersionCheck());
|
|
1318
|
+
return false;
|
|
1319
|
+
}
|
|
989
1320
|
// 'status'
|
|
990
1321
|
sendResponse(getTabStatus(msg.tabId));
|
|
991
1322
|
return false;
|
|
@@ -997,6 +1328,87 @@ chrome.tabs.onRemoved.addListener((tabId) => {
|
|
|
997
1328
|
// The Chrome tab is gone — drop any cached browser-link id for it.
|
|
998
1329
|
void forgetTabId(tabId);
|
|
999
1330
|
});
|
|
1331
|
+
/* Auto-connect tabs spawned by a connected tab.
|
|
1332
|
+
*
|
|
1333
|
+
* When a tab the user has connected via the popup opens a new tab
|
|
1334
|
+
* (window.open, target="_blank", a click handler doing window.open, etc.),
|
|
1335
|
+
* Chrome reports it via tabs.onCreated with `openerTabId` pointing at the
|
|
1336
|
+
* source. We use that link to:
|
|
1337
|
+
* 1. Wait for the new tab to settle on a real URL (the first onCreated
|
|
1338
|
+
* callback often reports `about:blank` even when a destination is set).
|
|
1339
|
+
* 2. Auto-connect the new tab through the same flow as the popup
|
|
1340
|
+
* "Connect" button — attach debugger, register with the server.
|
|
1341
|
+
* 3. Emit a `tab-created` bridge.event tagged with `opened_from = the
|
|
1342
|
+
* opener's server tab id`. The MCP `browser.wait_for_tab` tool reads
|
|
1343
|
+
* that event and auto-claims the new tab for the waiting agent.
|
|
1344
|
+
*
|
|
1345
|
+
* If the opener is not connected (regular browsing), we do nothing —
|
|
1346
|
+
* background tabs the user opens for themselves stay out of the bridge.
|
|
1347
|
+
*/
|
|
1348
|
+
chrome.tabs.onCreated.addListener((tab) => {
|
|
1349
|
+
const newTabId = tab.id;
|
|
1350
|
+
const openerTabId = tab.openerTabId;
|
|
1351
|
+
if (typeof newTabId !== 'number')
|
|
1352
|
+
return;
|
|
1353
|
+
if (typeof openerTabId !== 'number')
|
|
1354
|
+
return;
|
|
1355
|
+
const openerState = tabStates.get(openerTabId);
|
|
1356
|
+
if (!openerState)
|
|
1357
|
+
return;
|
|
1358
|
+
const openedFrom = openerState.serverTabId;
|
|
1359
|
+
if (!openedFrom)
|
|
1360
|
+
return;
|
|
1361
|
+
void (async () => {
|
|
1362
|
+
// Wait until chrome.tabs.get returns a real `url`. `pendingUrl` alone
|
|
1363
|
+
// is NOT enough — connectTab's guard short-circuits on `!tab.url`.
|
|
1364
|
+
// Bound at 5 s so a never-navigating tab doesn't park us forever.
|
|
1365
|
+
const deadline = Date.now() + 5_000;
|
|
1366
|
+
let ready = false;
|
|
1367
|
+
while (Date.now() < deadline) {
|
|
1368
|
+
try {
|
|
1369
|
+
const t = await chrome.tabs.get(newTabId);
|
|
1370
|
+
if (t.url && t.url.length > 0) {
|
|
1371
|
+
ready = true;
|
|
1372
|
+
break;
|
|
1373
|
+
}
|
|
1374
|
+
}
|
|
1375
|
+
catch {
|
|
1376
|
+
return;
|
|
1377
|
+
}
|
|
1378
|
+
await sleep(50);
|
|
1379
|
+
}
|
|
1380
|
+
if (!ready)
|
|
1381
|
+
return;
|
|
1382
|
+
try {
|
|
1383
|
+
const result = await connectTab(newTabId);
|
|
1384
|
+
if (!result.ok || !result.serverTabId)
|
|
1385
|
+
return;
|
|
1386
|
+
const newState = tabStates.get(newTabId);
|
|
1387
|
+
if (!newState?.ws || newState.ws.readyState !== WebSocket.OPEN)
|
|
1388
|
+
return;
|
|
1389
|
+
let resolvedUrl = '';
|
|
1390
|
+
try {
|
|
1391
|
+
const settled = await chrome.tabs.get(newTabId);
|
|
1392
|
+
resolvedUrl = settled.url ?? settled.pendingUrl ?? '';
|
|
1393
|
+
}
|
|
1394
|
+
catch {
|
|
1395
|
+
// Tab vanished between attach and read.
|
|
1396
|
+
}
|
|
1397
|
+
send(newState.ws, {
|
|
1398
|
+
kind: 'bridge.event',
|
|
1399
|
+
eventKind: 'tab-created',
|
|
1400
|
+
tabId: newState.serverTabId,
|
|
1401
|
+
data: {
|
|
1402
|
+
opened_from: openedFrom,
|
|
1403
|
+
url: resolvedUrl,
|
|
1404
|
+
},
|
|
1405
|
+
});
|
|
1406
|
+
}
|
|
1407
|
+
catch {
|
|
1408
|
+
// Auto-connect is best-effort.
|
|
1409
|
+
}
|
|
1410
|
+
})();
|
|
1411
|
+
});
|
|
1000
1412
|
chrome.debugger.onDetach.addListener((source) => {
|
|
1001
1413
|
if (source.tabId === undefined)
|
|
1002
1414
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,GAAG,sBAAsB,CAAC;AACtC,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B;;;;;;;;;;sDAUsD;AACtD,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AAoKnC,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,CAAC,CAAC,MAAM,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,CACL,CAAC,CAAC,MAAM,KAAK,SAAS;QACtB,CAAC,CAAC,MAAM,KAAK,YAAY;QACzB,CAAC,CAAC,MAAM,KAAK,QAAQ;QACrB,CAAC,CAAC,MAAM,KAAK,eAAe;QAC5B,CAAC,CAAC,MAAM,KAAK,eAAe,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE9C,SAAS,IAAI,CAAC,EAAa,EAAE,GAAsB;IACjD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CACV,KAAa,EACb,MAAc,EACd,SAAkC,EAAE;IAEpC,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAA0B,CAAC;AACzF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAuC;IACxE,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,kBAAkB,EAAE,WAAW;IAC/B,uBAAuB,EAAE,WAAW;IACpC,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,wBAAwB,GAAuC;IACnE,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,KAAK;CACd,CAAC;AAEF;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAChC,UAAkB,EAClB,cAAsB,EACtB,OAAe;IAEf,MAAM,IAAI,GACR,MAGD,CAAC,eAAe,CAAC;IAClB,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAEjB,CAAC;IACd,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,sCAAsC,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,SAAS,KAAK,CAAC,EAAU;IACvB,kEAAkE;IAClE,uEAAuE;IACvE,qEAAqE;IACrE,cAAc;IACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;YACpD,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,KAAa,EACb,MAAc,EACd,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAG,CAAC,MAAgC,EAAE,CAAS,EAAE,MAAe,EAAQ,EAAE;YACrF,IAAI,OAAO;gBAAE,OAAO;YACpB,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;gBAAE,OAAO;YACnC,IAAI,CAAC,KAAK,MAAM;gBAAE,OAAO;YACzB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,CAAC,CAAC,MAAM,IAAI,IAAI,CAAa,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAAC,QAAgB,EAAE,SAAiB;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,kCAAkC,GAAG,IAAI,CAAC;IACnD,CAAC;IACD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,2BAA2B,GAAG,GAAG,CAAC;IAC3C,CAAC;IACD,qEAAqE;IACrE,MAAM,IAAI,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,OAAO;wCAC+B,GAAG;sBACrB,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;yFAE0B,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;aAErH,IAAI;OACV,CAAC;AACR,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CAAC,MAO3B;IACC,OAAO;;kBAES,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CrC,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,4CAA4C;AAC5C,SAAS,mBAAmB,CAAC,CAAU;IACrC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAe,EAAE,KAAmB;IACvD,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpD,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAe,EAAE,SAAiB;IAC5D,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC/E,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAe;IAC7C,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,MAAe,EAAQ,EAAE;QACzD,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,MAAoC,CAAC;YAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI;iBACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;iBAC1F,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,WAAW,CAAC,KAAK,EAAE;gBACjB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;gBACpC,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;gBACtB,IAAI;gBACJ,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,MAA0B,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxB,WAAW,CAAC,KAAK,EAAE;gBACjB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;gBACpC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK;gBACvB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClB,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,IAAI,EAAE,CAAC,CAAC,UAAU;aACnB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,MAAqC,CAAC;YAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;YACxC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;YACjD,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;YACpD,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,eAAe,CAAC;YACpE,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC,iBAAiB,CAAC;YACzE,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,MAAoC,CAAC;YAC/C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;YAClC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC3C,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACvC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,MAAmC,CAAC;YAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,iBAAiB,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,MAAiC,CAAC;YAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,8BAA8B,EAAE,CAAC;YAC9C,yDAAyD;YACzD,iEAAiE;YACjE,iEAAiE;YACjE,oEAAoE;YACpE,oCAAoC;YACpC,MAAM,CAAC,GAAG,MAAwC,CAAC;YACnD,MAAM,IAAI,GAAsB;gBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO;gBACvB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;aACzB,CAAC;YACF,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;gBAAE,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,aAAa,CAAC;YAC/E,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;YAChD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;YAC3B,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5E,MAAM,IAAI,GAA4B;oBACpC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC;gBACF,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;oBAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjF,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;oBAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;oBACb,IAAI,EAAE,cAAc;oBACpB,SAAS,EAAE,gBAAgB;oBAC3B,KAAK,EAAE,KAAK,CAAC,WAAW;oBACxB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,6BAA6B,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,MAAuC,CAAC;YAClD,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;YAChC,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5E,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpE,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;oBAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;oBACb,IAAI,EAAE,cAAc;oBACpB,SAAS,EAAE,eAAe;oBAC1B,KAAK,EAAE,KAAK,CAAC,WAAW;oBACxB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC;AACpC,CAAC;AAED,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EnB,CAAC;AAEF,KAAK,UAAU,aAAa,CAAc,KAAa,EAAE,UAAkB;IACzE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAgC,KAAK,EAAE,kBAAkB,EAAE;QACjF,UAAU;QACV,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,IAAI,EAAE,CAAC,IAAI,IAAI,mBAAmB,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,SAAS,GAAG,MAAM;IAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,MAAM,OAAO,GAA4D,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;YAC3F,IAAI,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACtD,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC9C,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAe,EAAE,GAAuB;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,oEAAoE;IACpE,oEAAoE;IACpE,4BAA4B;IAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;IACxD,MAAM,GAAG,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,CAAC,GAAW,EAAsB,EAAE,CACjD,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;iBACvD,CAAC;YACJ,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM,eAAe,GAAG,CAAC,CAAC,aAAa,KAAK,KAAK,CAAC;gBAClD,MAAM,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAI,eAAe;oBAAE,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE;iBACvD,CAAC;YACJ,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACtD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACxE,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC9B,MAAM,OAAO,GAAG,KAAK;oBACnB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;oBACtD,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;gBACxB,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC1E,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;gBACnD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY;qBAC5B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qBACxC,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;qBACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvE,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,GAAG,CAA4B,KAAK,EAAE,yBAAyB,EAAE;oBAClF,SAAS;iBACV,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvE,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAG;;gDAE2B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;eAKzD,CAAC;gBACR,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,KAAK,EACL,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,sBAAsB,QAAQ,EAAE;qBACxC,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;oBAC3C,IAAI,EAAE,YAAY;oBAClB,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,CAAC,EAAE,MAAM,CAAC,CAAC;iBACZ,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;oBAC3C,IAAI,EAAE,cAAc;oBACpB,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;oBAC3C,IAAI,EAAE,eAAe;oBACrB,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;iBAC/C,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;gBAC/B,MAAM,SAAS,GAAG;;gDAEsB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;cAG1D,KAAK,CAAC,CAAC,CAAC,gGAAgG,CAAC,CAAC,CAAC,EAAE;;eAE5G,CAAC;gBACR,MAAM,OAAO,GAAG,MAAM,aAAa,CAAU,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,sBAAsB,QAAQ,EAAE;qBACxC,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;iBACzC,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,CAAC,GAAW,EAAsB,EAAE;oBACjD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/E,CAAC,CAAC;gBACF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnE,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,mEAAmE;gBACnE,gEAAgE;gBAChE,iEAAiE;gBACjE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBAC9E,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBACrF,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBAE3F,MAAM,aAAa,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC;gBACvE,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;gBACjE,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;oBACpC,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,uDAAuD;qBAC/D,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;oBAChC,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,iDAAiD;qBACzD,CAAC;gBACJ,CAAC;gBAED,MAAM,SAAS,GAAG,kBAAkB,CAAC;oBACnC,aAAa,EAAE,YAAY;oBAC3B,WAAW,EAAE,UAAU;oBACvB,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;iBACb,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,aAAa,CAK9B,KAAK,EAAE,SAAS,CAAC,CAAC;gBACrB,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvF,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC7B,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,qCAAqC;qBAC7C,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC5B,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,wEAAwE;qBAChF,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC1B,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,6EAA6E;qBACrF,CAAC;gBACJ,CAAC;gBAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAEtC,6EAA6E;gBAC7E,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,IAAI,QAAQ,GAAwB,SAAS,CAAC;gBAC9C,IAAI,iBAAiB,GAAG,KAAK,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,mBAAmB,GAAG,KAAK,CAAC;gBAEhC,MAAM,WAAW,GAAG,CAAC,CAAS,EAA4B,EAAE,CAAC,CAAC;oBAC5D,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;oBAC5B,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;iBAC7B,CAAC,CAAC;gBAEH,iEAAiE;gBACjE,iEAAiE;gBACjE,gEAAgE;gBAChE,qDAAqD;gBACrD,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAoB,EAAE,CAC1D,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;oBACrC,IAAI,EAAE,YAAY;oBAClB,CAAC;oBACD,CAAC;oBACD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;gBAEL,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,MAAM,SAAS,GAAG,EAAE,CAAC;gBACrB,qEAAqE;gBACrE,kEAAkE;gBAClE,iEAAiE;gBACjE,MAAM,oBAAoB,GAAG,GAAG,CAAC;gBAEjC,IAAI,CAAC;oBACH,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC;4BACH,MAAM,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC/D,mBAAmB,GAAG,IAAI,CAAC;wBAC7B,CAAC;wBAAC,MAAM,CAAC;4BACP,0EAA0E;wBAC5E,CAAC;oBACH,CAAC;oBAED,IAAI,mBAAmB,EAAE,CAAC;wBACxB,gEAAgE;wBAChE,MAAM,gBAAgB,GAAG,eAAe,CACtC,KAAK,EACL,uBAAuB,EACvB,oBAAoB,CACrB,CAAC;wBACF,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;4BAC3C,IAAI,EAAE,YAAY;4BAClB,CAAC,EAAE,KAAK;4BACR,CAAC,EAAE,KAAK;yBACT,CAAC,CAAC;wBACH,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;4BAC3C,IAAI,EAAE,cAAc;4BACpB,CAAC,EAAE,KAAK;4BACR,CAAC,EAAE,KAAK;4BACR,MAAM,EAAE,MAAM;4BACd,UAAU,EAAE,CAAC;yBACd,CAAC,CAAC;wBACH,IAAI,gBAAgB,GAAG,CAAC;4BAAE,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;wBACxD,+DAA+D;wBAC/D,+DAA+D;wBAC/D,wDAAwD;wBACxD,MAAM,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC;wBACvB,MAAM,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC;wBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;wBACpC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC;wBAC1C,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC;wBAC1C,MAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAEvB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC;wBAC3C,IAAI,WAAW,EAAE,CAAC;4BAChB,QAAQ,GAAG,OAAO,CAAC;4BACnB,iBAAiB,GAAG,IAAI,CAAC;4BACzB,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;4BAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAA+B,CAAC;4BAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gCAChC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gCACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAChC,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrB,MAAM,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE;oCAC1C,IAAI,EAAE,UAAU;oCAChB,CAAC;oCACD,CAAC;oCACD,IAAI,EAAE,QAAQ;iCACf,CAAC,CAAC;gCACH,IAAI,CAAC,KAAK,CAAC;oCAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gCAC1C,IAAI,WAAW,GAAG,CAAC;oCAAE,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;4BAChD,CAAC;4BACD,MAAM,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE;gCAC1C,IAAI,EAAE,WAAW;gCACjB,CAAC,EAAE,GAAG;gCACN,CAAC,EAAE,GAAG;gCACN,IAAI,EAAE,QAAQ;6BACf,CAAC,CAAC;4BACH,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC9B,MAAM,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE;gCAC1C,IAAI,EAAE,UAAU;gCAChB,CAAC,EAAE,GAAG;gCACN,CAAC,EAAE,GAAG;gCACN,IAAI,EAAE,QAAQ;6BACf,CAAC,CAAC;4BACH,IAAI,mBAAmB,GAAG,CAAC;gCAAE,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;4BAC9D,MAAM,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE;gCAC1C,IAAI,EAAE,MAAM;gCACZ,CAAC,EAAE,GAAG;gCACN,CAAC,EAAE,GAAG;gCACN,IAAI,EAAE,QAAQ;6BACf,CAAC,CAAC;4BACH,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACzB,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;gCAC3C,IAAI,EAAE,eAAe;gCACrB,CAAC,EAAE,GAAG;gCACN,CAAC,EAAE,GAAG;gCACN,MAAM,EAAE,MAAM;gCACd,UAAU,EAAE,CAAC;6BACd,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,mEAAmE;4BACnE,oEAAoE;4BACpE,mEAAmE;4BACnE,QAAQ,GAAG,SAAS,CAAC;4BACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gCAChC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gCACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAChC,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrB,IAAI,WAAW,GAAG,CAAC;oCAAE,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;4BAChD,CAAC;4BACD,IAAI,mBAAmB,GAAG,CAAC;gCAAE,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;4BAC9D,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;gCAC3C,IAAI,EAAE,eAAe;gCACrB,CAAC,EAAE,GAAG;gCACN,CAAC,EAAE,GAAG;gCACN,MAAM,EAAE,MAAM;gCACd,UAAU,EAAE,CAAC;6BACd,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,0DAA0D;wBAC1D,QAAQ,GAAG,SAAS,CAAC;wBACrB,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;4BAC3C,IAAI,EAAE,YAAY;4BAClB,CAAC,EAAE,KAAK;4BACR,CAAC,EAAE,KAAK;yBACT,CAAC,CAAC;wBACH,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;4BAC3C,IAAI,EAAE,cAAc;4BACpB,CAAC,EAAE,KAAK;4BACR,CAAC,EAAE,KAAK;4BACR,MAAM,EAAE,MAAM;4BACd,UAAU,EAAE,CAAC;yBACd,CAAC,CAAC;wBACH,IAAI,gBAAgB,GAAG,CAAC;4BAAE,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;wBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;4BAChC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACrB,IAAI,WAAW,GAAG,CAAC;gCAAE,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;wBAChD,CAAC;wBACD,IAAI,mBAAmB,GAAG,CAAC;4BAAE,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;wBAC9D,MAAM,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE;4BAC3C,IAAI,EAAE,eAAe;4BACrB,CAAC,EAAE,GAAG;4BACN,CAAC,EAAE,GAAG;4BACN,MAAM,EAAE,MAAM;4BACd,UAAU,EAAE,CAAC;yBACd,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,oEAAoE;oBACpE,sEAAsE;oBACtE,IAAI,mBAAmB,EAAE,CAAC;wBACxB,IAAI,CAAC;4BACH,MAAM,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;wBAClE,CAAC;wBAAC,MAAM,CAAC;4BACP,SAAS;wBACX,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,IAAI,IAAI,EAAE;wBAC5D,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI,EAAE;wBACpD,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAC1C,SAAS,EAAE,QAAQ;wBACnB,sBAAsB,EAAE,mBAAmB;wBAC3C,kBAAkB,EAAE,iBAAiB;wBACrC,YAAY,EAAE,WAAW;qBAC1B;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACrD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACxE,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,CAAC,GAAW,EAAsB,EAAE;oBACjD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/E,CAAC,CAAC;gBACF,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;gBACvD,kEAAkE;gBAClE,6DAA6D;gBAC7D,MAAM,mBAAmB,GAAG,MAAM,CAAC;gBACnC,MAAM,WAAW,GAAG,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,KAAK,CAAC;gBAC1B,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC;gBACvD,MAAM,SAAS,GACb,gBAAgB,GAAG,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAClF,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC;gBACxD,MAAM,cAAc,GAClB,aAAa,GAAG,WAAW;oBACzB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,aAAa,GAAG,WAAW;wBAC3B,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,aAAa,CAAC;gBAEtB,kEAAkE;gBAClE,wEAAwE;gBACxE,oEAAoE;gBACpE,sEAAsE;gBACtE,gDAAgD;gBAChD,IAAI,KAAK,GAAoC,IAAI,CAAC;gBAClD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;oBAChE,KAAK,GAAG,KAAK,IAAsB,EAAE;wBACnC,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BAChD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;wBACzB,CAAC;wBAAC,MAAM,CAAC;4BACP,mEAAmE;4BACnE,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC;qBAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,WAAW,cAAc,GAAG,CAAC;oBAC7C,KAAK,GAAG,KAAK,IAAsB,EAAE;wBACnC,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;4BACnD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;wBACzB,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC;qBAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;oBAC5C,KAAK,GAAG,GAAqB,EAAE;wBAC7B,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;4BACpC,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACtC,IAAI,CAAC,CAAC;gCAAE,SAAS;4BACjB,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;gCAAE,SAAS;4BAC1C,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gCAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACzE,CAAC;wBACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC,CAAC;gBACJ,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,EAAE,CAAC;oBACT,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;wBAClB,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACR,CAAC;oBACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,SAAS;wBAAE,MAAM;oBAC/C,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAEzC,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,OAAO;wBACb,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;wBAClD,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE;iBACzE,CAAC;YACJ,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;gBACjC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;gBACzC,iEAAiE;gBACjE,mEAAmE;gBACnE,0CAA0C;gBAC1C,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,CAAC;gBACnD,IAAI,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC7D,MAAM,GAAG,CAAC,KAAK,EAAE,6BAA6B,EAAE,MAAM,CAAC,CAAC;gBACxD,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC7B,CAAC;YACJ,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5B,+DAA+D;gBAC/D,gEAAgE;gBAChE,iEAAiE;gBACjE,+DAA+D;gBAC/D,iEAAiE;gBACjE,mCAAmC;gBACnC,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;gBACvD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,oBAAoB,IAAI,yEAAyE,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;qBACjK,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,kCAAkC,MAAM,yCAAyC;qBACzF,CAAC;gBACJ,CAAC;gBACD,mEAAmE;gBACnE,gEAAgE;gBAChE,2CAA2C;gBAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;gBACtE,IAAI,CAAC;oBACH,MAAM,mBAAmB,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBAC7E,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;iBAChE,CAAC;YACJ,CAAC;YAED;gBACE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAChG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;IACH,CAAC;IACD,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAC7D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,gBAAgB;QAAE,OAAO;IACrC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IAClD,MAAM,GAAG,GAAG,aAAa,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,WAAmB,EAAE,WAAmB;IAChE,MAAM,GAAG,GAAG,aAAa,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,kFAAkF;IACpF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,WAAmB;IAC5C,MAAM,GAAG,GAAG,aAAa,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAa;IACrC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACxF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,KAAK;QACL,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,IAAI,GAAG,EAAE;QACxB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;KAC3B,CAAC;IACF,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5B,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAChC,MAAM,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACnC,MAAM,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/B,MAAM,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACnC,MAAM,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACnF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IAEd,qEAAqE;IACrE,sEAAsE;IACtE,+DAA+D;IAC/D,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC;IAC5B,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;IAEhC,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;QAC5C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,MAAqB,EAAQ,EAAE;YAC7C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YAC/B,IAAI,CAAC,EAAE,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE;aACnE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAgB,EAAE,EAAE;YAClD,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBAClC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;oBACtC,8DAA8D;oBAC9D,6DAA6D;oBAC7D,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;wBAClD,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;oBAClD,CAAC;oBACD,gEAAgE;oBAChE,uDAAuD;oBACvD,qDAAqD;oBACrD,KAAK,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrD,OAAO;gBACT,CAAC;gBACD,oEAAoE;gBACpE,qEAAqE;gBACrE,qEAAqE;gBACrE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC9C,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;oBAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3D,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC7B,gDAAgD;YAClD,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC7B,gDAAgD;YAClD,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAa;IACxC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,sEAAsE;IACtE,+DAA+D;IAC/D,0DAA0D;IAC1D,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe;IAKtB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;IACvD,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC;YACzB,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO;QACL,SAAS;QACT,MAAM;QACN,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS;KACvD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,KAAa,EACb,MAAe,EACf,UAA8B;IAE9B,IAAI,CAAC;QACH,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7D,MAAM,GAAG,CAAC,KAAK,EAAE,6BAA6B,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAChF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAY,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;IAC3E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QAChC,KAAK,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;QACnC,KAAK,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QAClC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,WAAW;IACX,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;IAC1C,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC7B,eAAe;IACjB,CAAC,CAAC,CAAC;IACH,mEAAmE;IACnE,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;IACxB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO;IACzC,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO;IAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC;IAC3C,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,sEAAsE;QACtE,mEAAmE;QACnE,kEAAkE;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,GAAG,IAAI,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,OAAO;YAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBAAE,OAAO;YACvE,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChD,WAAW,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,aAAa;gBACxB,KAAK,EAAE,QAAQ,CAAC,WAAW;gBAC3B,IAAI,EAAE;oBACJ,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,WAAW;iBACjB;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE;IAC9C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC/B,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACpC,eAAe;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;;;;;;;;2DAS2D;AAC3D,WAAW,CAAC,GAAG,EAAE;IACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;QACvC,IAAI,GAAG,GAAG,KAAK,CAAC,cAAc,GAAG,cAAc;YAAE,SAAS;QAC1D,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,eAAe;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,EAAE,gBAAgB,CAAC,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": 3,
|
|
3
3
|
"name": "browser-link",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.12.0",
|
|
5
5
|
"description": "Bridge between Chrome and an MCP client (Claude Code, OpenCode, GitHub Copilot CLI, …). Per-tab manual activation.",
|
|
6
6
|
"permissions": [
|
|
7
7
|
"debugger",
|
|
8
8
|
"activeTab",
|
|
9
9
|
"storage",
|
|
10
|
-
"tabs"
|
|
10
|
+
"tabs",
|
|
11
|
+
"contentSettings"
|
|
11
12
|
],
|
|
12
13
|
"host_permissions": [],
|
|
13
14
|
"icons": {
|