@theia/ai-chat-ui 1.76.0-next.7 → 1.76.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/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-chat-ui-frontend-module.js +6 -0
- package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -1
- package/lib/browser/chat-find/chat-find-contribution.d.ts +18 -0
- package/lib/browser/chat-find/chat-find-contribution.d.ts.map +1 -0
- package/lib/browser/chat-find/chat-find-contribution.js +76 -0
- package/lib/browser/chat-find/chat-find-contribution.js.map +1 -0
- package/lib/browser/chat-find/chat-find-highlighter.d.ts +114 -0
- package/lib/browser/chat-find/chat-find-highlighter.d.ts.map +1 -0
- package/lib/browser/chat-find/chat-find-highlighter.js +353 -0
- package/lib/browser/chat-find/chat-find-highlighter.js.map +1 -0
- package/lib/browser/chat-find/chat-find-highlighter.spec.d.ts +2 -0
- package/lib/browser/chat-find/chat-find-highlighter.spec.d.ts.map +1 -0
- package/lib/browser/chat-find/chat-find-highlighter.spec.js +283 -0
- package/lib/browser/chat-find/chat-find-highlighter.spec.js.map +1 -0
- package/lib/browser/chat-find/chat-find-matcher.d.ts +72 -0
- package/lib/browser/chat-find/chat-find-matcher.d.ts.map +1 -0
- package/lib/browser/chat-find/chat-find-matcher.js +168 -0
- package/lib/browser/chat-find/chat-find-matcher.js.map +1 -0
- package/lib/browser/chat-find/chat-find-matcher.spec.d.ts +2 -0
- package/lib/browser/chat-find/chat-find-matcher.spec.d.ts.map +1 -0
- package/lib/browser/chat-find/chat-find-matcher.spec.js +145 -0
- package/lib/browser/chat-find/chat-find-matcher.spec.js.map +1 -0
- package/lib/browser/chat-find/chat-find-text.d.ts +20 -0
- package/lib/browser/chat-find/chat-find-text.d.ts.map +1 -0
- package/lib/browser/chat-find/chat-find-text.js +56 -0
- package/lib/browser/chat-find/chat-find-text.js.map +1 -0
- package/lib/browser/chat-find/chat-find-widget.d.ts +96 -0
- package/lib/browser/chat-find/chat-find-widget.d.ts.map +1 -0
- package/lib/browser/chat-find/chat-find-widget.js +332 -0
- package/lib/browser/chat-find/chat-find-widget.js.map +1 -0
- package/lib/browser/chat-find/chat-find-widget.spec.d.ts +2 -0
- package/lib/browser/chat-find/chat-find-widget.spec.d.ts.map +1 -0
- package/lib/browser/chat-find/chat-find-widget.spec.js +236 -0
- package/lib/browser/chat-find/chat-find-widget.spec.js.map +1 -0
- package/lib/browser/chat-input-scroll-util.d.ts +7 -0
- package/lib/browser/chat-input-scroll-util.d.ts.map +1 -0
- package/lib/browser/chat-input-scroll-util.js +33 -0
- package/lib/browser/chat-input-scroll-util.js.map +1 -0
- package/lib/browser/chat-input-scroll-util.spec.d.ts +2 -0
- package/lib/browser/chat-input-scroll-util.spec.d.ts.map +1 -0
- package/lib/browser/chat-input-scroll-util.spec.js +38 -0
- package/lib/browser/chat-input-scroll-util.spec.js.map +1 -0
- package/lib/browser/chat-input-widget.d.ts +21 -3
- package/lib/browser/chat-input-widget.d.ts.map +1 -1
- package/lib/browser/chat-input-widget.js +109 -50
- package/lib/browser/chat-input-widget.js.map +1 -1
- package/lib/browser/chat-input-widget.spec.js +21 -0
- package/lib/browser/chat-input-widget.spec.js.map +1 -1
- package/lib/browser/chat-response-renderer/code-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/code-part-renderer.js +9 -1
- package/lib/browser/chat-response-renderer/code-part-renderer.js.map +1 -1
- package/lib/browser/chat-response-renderer/code-wrapper-editors.d.ts +13 -0
- package/lib/browser/chat-response-renderer/code-wrapper-editors.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/code-wrapper-editors.js +41 -0
- package/lib/browser/chat-response-renderer/code-wrapper-editors.js.map +1 -0
- package/lib/browser/chat-response-renderer/delegation-tool-renderer.js +74 -43
- package/lib/browser/chat-response-renderer/delegation-tool-renderer.js.map +1 -1
- package/lib/browser/chat-response-renderer/index.d.ts +1 -0
- package/lib/browser/chat-response-renderer/index.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/index.js +1 -0
- package/lib/browser/chat-response-renderer/index.js.map +1 -1
- package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +9 -0
- package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js +34 -16
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -1
- package/lib/browser/chat-response-renderer/server-toolcall-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/server-toolcall-part-renderer.js +2 -2
- package/lib/browser/chat-response-renderer/server-toolcall-part-renderer.js.map +1 -1
- package/lib/browser/chat-response-renderer/spinner.d.ts +3 -0
- package/lib/browser/chat-response-renderer/spinner.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/spinner.js +24 -0
- package/lib/browser/chat-response-renderer/spinner.js.map +1 -0
- package/lib/browser/chat-response-renderer/thinking-part-renderer.d.ts +9 -1
- package/lib/browser/chat-response-renderer/thinking-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/thinking-part-renderer.js +93 -2
- package/lib/browser/chat-response-renderer/thinking-part-renderer.js.map +1 -1
- package/lib/browser/chat-response-renderer/thinking-part-renderer.spec.d.ts +2 -0
- package/lib/browser/chat-response-renderer/thinking-part-renderer.spec.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/thinking-part-renderer.spec.js +84 -0
- package/lib/browser/chat-response-renderer/thinking-part-renderer.spec.js.map +1 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +2 -2
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -1
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.spec.js +16 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.spec.js.map +1 -1
- package/lib/browser/chat-response-renderer/toolcall-utils.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/toolcall-utils.js +7 -2
- package/lib/browser/chat-response-renderer/toolcall-utils.js.map +1 -1
- package/lib/browser/chat-tree-view/chat-view-tree-container.d.ts.map +1 -1
- package/lib/browser/chat-tree-view/chat-view-tree-container.js +4 -0
- package/lib/browser/chat-tree-view/chat-view-tree-container.js.map +1 -1
- package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +20 -1
- package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -1
- package/lib/browser/chat-tree-view/chat-view-tree-widget.js +88 -7
- package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
- package/lib/common/toolcall-utils.d.ts +11 -1
- package/lib/common/toolcall-utils.d.ts.map +1 -1
- package/lib/common/toolcall-utils.js +191 -9
- package/lib/common/toolcall-utils.js.map +1 -1
- package/lib/common/toolcall-utils.spec.js +92 -4
- package/lib/common/toolcall-utils.spec.js.map +1 -1
- package/package.json +13 -13
- package/src/browser/ai-chat-ui-frontend-module.ts +7 -0
- package/src/browser/chat-find/chat-find-contribution.ts +74 -0
- package/src/browser/chat-find/chat-find-highlighter.spec.ts +313 -0
- package/src/browser/chat-find/chat-find-highlighter.ts +385 -0
- package/src/browser/chat-find/chat-find-matcher.spec.ts +173 -0
- package/src/browser/chat-find/chat-find-matcher.ts +197 -0
- package/src/browser/chat-find/chat-find-text.ts +65 -0
- package/src/browser/chat-find/chat-find-widget.spec.tsx +261 -0
- package/src/browser/chat-find/chat-find-widget.tsx +418 -0
- package/src/browser/chat-input-scroll-util.spec.ts +42 -0
- package/src/browser/chat-input-scroll-util.ts +30 -0
- package/src/browser/chat-input-widget.spec.ts +29 -0
- package/src/browser/chat-input-widget.tsx +118 -56
- package/src/browser/chat-response-renderer/code-part-renderer.tsx +9 -1
- package/src/browser/chat-response-renderer/code-wrapper-editors.ts +41 -0
- package/src/browser/chat-response-renderer/delegation-tool-renderer.tsx +88 -62
- package/src/browser/chat-response-renderer/index.ts +1 -0
- package/src/browser/chat-response-renderer/markdown-part-renderer.tsx +34 -17
- package/src/browser/chat-response-renderer/server-toolcall-part-renderer.tsx +2 -5
- package/src/browser/chat-response-renderer/spinner.tsx +22 -0
- package/src/browser/chat-response-renderer/thinking-part-renderer.spec.tsx +104 -0
- package/src/browser/chat-response-renderer/thinking-part-renderer.tsx +129 -9
- package/src/browser/chat-response-renderer/toolcall-part-renderer.spec.ts +16 -0
- package/src/browser/chat-response-renderer/toolcall-part-renderer.tsx +1 -4
- package/src/browser/chat-response-renderer/toolcall-utils.ts +5 -0
- package/src/browser/chat-tree-view/chat-view-tree-container.ts +4 -0
- package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +99 -6
- package/src/browser/style/chat-find.css +107 -0
- package/src/browser/style/index.css +75 -8
- package/src/common/toolcall-utils.spec.ts +113 -4
- package/src/common/toolcall-utils.ts +207 -9
|
@@ -27,6 +27,8 @@ const browser_1 = require("@theia/ai-core/lib/browser");
|
|
|
27
27
|
const core_1 = require("@theia/core");
|
|
28
28
|
const browser_2 = require("@theia/core/lib/browser");
|
|
29
29
|
const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
|
|
30
|
+
const chat_find_highlighter_1 = require("../chat-find/chat-find-highlighter");
|
|
31
|
+
const chat_find_widget_1 = require("../chat-find/chat-find-widget");
|
|
30
32
|
const nls_1 = require("@theia/core/lib/common/nls");
|
|
31
33
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
32
34
|
const React = require("@theia/core/shared/react");
|
|
@@ -92,8 +94,13 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
|
|
|
92
94
|
this.chatResponseFocusKey = this.contextKeyService.createKey('chatResponseFocus', false);
|
|
93
95
|
this.node.setAttribute('tabindex', '0');
|
|
94
96
|
this.node.setAttribute('aria-label', nls_1.nls.localize('theia/ai/chat-ui/chatResponses', 'Chat responses'));
|
|
95
|
-
this.
|
|
96
|
-
this.
|
|
97
|
+
this.findWidget.fallbackFocusTarget = this.node;
|
|
98
|
+
this.toDispose.pushAll([
|
|
99
|
+
this.findWidget,
|
|
100
|
+
this.findHighlighter,
|
|
101
|
+
this.findWidget.onDidChangeState(state => this.findHighlighter.update(this.node, state.regexp, state.matches, state.current)),
|
|
102
|
+
this.findWidget.onDidRequestReveal(match => this.revealFindMatch(match))
|
|
103
|
+
]);
|
|
97
104
|
this.toDispose.pushAll([
|
|
98
105
|
this.toDisposeOnChatModelChange,
|
|
99
106
|
this.activationService.onDidChangeCanRun(change => {
|
|
@@ -122,8 +129,71 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
|
|
|
122
129
|
}
|
|
123
130
|
setEnabled(enabled) {
|
|
124
131
|
this.isEnabled = enabled;
|
|
132
|
+
if (!enabled) {
|
|
133
|
+
this.findWidget.dismiss();
|
|
134
|
+
}
|
|
125
135
|
this.update();
|
|
126
136
|
}
|
|
137
|
+
/** Opens the find bar over the response tree (or refocuses it when already open). */
|
|
138
|
+
showFind() {
|
|
139
|
+
this.findWidget.open();
|
|
140
|
+
}
|
|
141
|
+
hideFind() {
|
|
142
|
+
this.findWidget.dismiss();
|
|
143
|
+
}
|
|
144
|
+
get isFindVisible() {
|
|
145
|
+
return this.findWidget.isOpen;
|
|
146
|
+
}
|
|
147
|
+
/** Whether the tracked session has content to search; false while the welcome/session-list screen shows. */
|
|
148
|
+
get canFind() {
|
|
149
|
+
return this.findWidget.canFind;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Reveals a match: mounts the owning row via virtuoso when it is not rendered yet, then re-applies the highlights
|
|
153
|
+
* and scrolls the matched text itself into view (rows can be taller than the viewport).
|
|
154
|
+
*/
|
|
155
|
+
revealFindMatch(match) {
|
|
156
|
+
const row = this.rows.get(match.nodeId);
|
|
157
|
+
if (row === undefined) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const settle = () => {
|
|
161
|
+
this.findHighlighter.refresh();
|
|
162
|
+
this.findHighlighter.scrollCurrentIntoView(this.node);
|
|
163
|
+
};
|
|
164
|
+
if (this.findHighlighter.findRow(this.node, match.nodeId)) {
|
|
165
|
+
requestAnimationFrame(settle);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
this.view?.list?.scrollIntoView({
|
|
169
|
+
index: row.index,
|
|
170
|
+
align: 'center',
|
|
171
|
+
done: settle
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
onAfterAttach(msg) {
|
|
175
|
+
super.onAfterAttach(msg);
|
|
176
|
+
// Registered per attach, not in `init()`: `addEventListener` disposes on detach, so listeners registered
|
|
177
|
+
// once would be lost the first time the view is moved (e.g. to the main area), leaving `chatResponseFocus`
|
|
178
|
+
// stuck and every keybinding scoped to it dead until the page is reloaded.
|
|
179
|
+
this.addEventListener(this.node, 'focusin', () => this.chatResponseFocusKey.set(true));
|
|
180
|
+
this.addEventListener(this.node, 'focusout', () => this.chatResponseFocusKey.set(false));
|
|
181
|
+
// The tree node is a React root, so the find bar is attached as a sibling right before it,
|
|
182
|
+
// the same way the core TreeWidget hosts its SearchBox.
|
|
183
|
+
if (this.findWidget.isAttached) {
|
|
184
|
+
browser_2.Widget.detach(this.findWidget);
|
|
185
|
+
}
|
|
186
|
+
if (this.node.parentElement) {
|
|
187
|
+
browser_2.UnsafeWidgetUtilities.attach(this.findWidget, this.node.parentElement, this.node);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
onBeforeDetach(msg) {
|
|
191
|
+
this.chatResponseFocusKey.set(false);
|
|
192
|
+
if (this.findWidget.isAttached) {
|
|
193
|
+
browser_2.Widget.detach(this.findWidget);
|
|
194
|
+
}
|
|
195
|
+
super.onBeforeDetach(msg);
|
|
196
|
+
}
|
|
127
197
|
/** Toggles auto-scroll and the scroll-to-bottom button based on whether the viewport includes the bottom of the list. */
|
|
128
198
|
handleAtBottomStateChange(isAtBottom) {
|
|
129
199
|
if (isAtBottom !== this.atBottom) {
|
|
@@ -240,6 +310,7 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
|
|
|
240
310
|
trackChatModel(chatModel) {
|
|
241
311
|
this.toDisposeOnChatModelChange.dispose();
|
|
242
312
|
this.recreateModelTree(chatModel);
|
|
313
|
+
this.findWidget.setChatModel(chatModel);
|
|
243
314
|
chatModel.getRequests().forEach(request => {
|
|
244
315
|
if (!request.response.isComplete) {
|
|
245
316
|
request.response.onDidChange(() => this.scheduleUpdateScrollToRow());
|
|
@@ -285,6 +356,11 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
|
|
|
285
356
|
this.chatInputs.delete(request.id);
|
|
286
357
|
}
|
|
287
358
|
}
|
|
359
|
+
doUpdateRows() {
|
|
360
|
+
super.doUpdateRows();
|
|
361
|
+
// Follow new requests and responses to the end of the chat, unless auto-scroll is locked.
|
|
362
|
+
this.scheduleUpdateScrollToRow();
|
|
363
|
+
}
|
|
288
364
|
getScrollToRow() {
|
|
289
365
|
// Only scroll to end if auto-scroll is enabled (not locked)
|
|
290
366
|
if (this.shouldScrollToEnd) {
|
|
@@ -316,7 +392,7 @@ let ChatViewTreeWidget = class ChatViewTreeWidget extends browser_2.TreeWidget {
|
|
|
316
392
|
const ariaLabel = (0, exports.isRequestNode)(node)
|
|
317
393
|
? nls_1.nls.localize('theia/ai/chat-ui/yourMessage', 'Your message')
|
|
318
394
|
: nls_1.nls.localize('theia/ai/chat-ui/responseFrom', 'Response from {0}', this.getAgentLabel(node));
|
|
319
|
-
return (0, jsx_runtime_1.jsx)(React.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: 'theia-ChatNode', role: 'article', "aria-label": ariaLabel, onContextMenu: e => this.handleContextMenu(node, e), children: [this.renderAgent(node), this.renderDetail(node)] }) }, node.id);
|
|
395
|
+
return (0, jsx_runtime_1.jsx)(React.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: 'theia-ChatNode', "data-node-id": node.id, role: 'article', "aria-label": ariaLabel, onContextMenu: e => this.handleContextMenu(node, e), children: [this.renderAgent(node), this.renderDetail(node)] }) }, node.id);
|
|
320
396
|
}
|
|
321
397
|
renderAgent(node) {
|
|
322
398
|
const inProgress = (0, exports.isResponseNode)(node) && !node.response.isComplete && !node.response.isCanceled && !node.response.isError;
|
|
@@ -524,6 +600,14 @@ tslib_1.__decorate([
|
|
|
524
600
|
(0, inversify_1.named)('ai-chat-ui:ChatViewTreeWidget'),
|
|
525
601
|
tslib_1.__metadata("design:type", Object)
|
|
526
602
|
], ChatViewTreeWidget.prototype, "logger", void 0);
|
|
603
|
+
tslib_1.__decorate([
|
|
604
|
+
(0, inversify_1.inject)(chat_find_widget_1.ChatFindWidget),
|
|
605
|
+
tslib_1.__metadata("design:type", chat_find_widget_1.ChatFindWidget)
|
|
606
|
+
], ChatViewTreeWidget.prototype, "findWidget", void 0);
|
|
607
|
+
tslib_1.__decorate([
|
|
608
|
+
(0, inversify_1.inject)(chat_find_highlighter_1.ChatFindHighlighter),
|
|
609
|
+
tslib_1.__metadata("design:type", chat_find_highlighter_1.ChatFindHighlighter)
|
|
610
|
+
], ChatViewTreeWidget.prototype, "findHighlighter", void 0);
|
|
527
611
|
tslib_1.__decorate([
|
|
528
612
|
(0, inversify_1.postConstruct)(),
|
|
529
613
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -624,10 +708,7 @@ const ChatRequestRender = ({ node, hoverService, chatAgentService, variableServi
|
|
|
624
708
|
return ((0, jsx_runtime_1.jsx)(HoverableLabel, { text: part.text, description: description, hoverService: hoverService, className: className }, index));
|
|
625
709
|
}
|
|
626
710
|
else {
|
|
627
|
-
const ref = (0, markdown_part_renderer_1.useMarkdownRendering)(part.text
|
|
628
|
-
.replace(/^[\r\n]+|[\r\n]+$/g, '') // remove excessive new lines
|
|
629
|
-
.replace(/(^ )/g, ' '), // enforce keeping space before
|
|
630
|
-
openerService, true, undefined,
|
|
711
|
+
const ref = (0, markdown_part_renderer_1.useMarkdownRendering)(markdown_part_renderer_1.MarkdownRendering.prepareRequestText(part.text), openerService, true, undefined,
|
|
631
712
|
// User requests are authored by the user, so their resources are trusted and rendered directly.
|
|
632
713
|
false);
|
|
633
714
|
return ((0, jsx_runtime_1.jsx)("span", { ref: ref }, index));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-view-tree-widget.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-view-tree-widget.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":";;;;AA8FA,gCAEC;;;;AAhGD,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4CAcwB;AACxB,4CAAmD;AACnD,wDAAiE;AACjE,sCAA+H;AAC/H,qDAiBiC;AACjC,qFAA4F;AAC5F,8EAAyE;AAEzE,oEAA+D;AAC/D,oDAAiD;AACjD,4DAKsC;AACtC,kDAAkD;AAClD,6FAAwF;AACxF,kFAA+E;AAC/E,oGAA6F;AAC7F,gFAA0E;AAC1E,wFAAsE;AACtE,6FAA2G;AAC3G,oEAA2D;AAC3D,+EAAmG;AACnG,iEAA4D;AAC5D,+CAA2C;AAQpC,MAAM,aAAa,GAAG,CAAC,IAAc,EAAuB,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC;AAA3E,QAAA,aAAa,iBAA8D;AAKjF,MAAM,qBAAqB,GAAG,CAAC,IAAc,EAA+B,EAAE,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,IAAI,kCAAwB,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAA1I,QAAA,qBAAqB,yBAAqH;AAOhJ,MAAM,cAAc,GAAG,CAAC,IAAc,EAAwB,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC;AAA9E,QAAA,cAAc,kBAAgE;AAE3F,SAAgB,UAAU,CAAC,CAAsB;IAC7C,OAAO,aAAG,CAAC,KAAK,CAAC,OAAO,KAAK,iBAAO,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC;AACnF,CAAC;AAEY,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAaxE,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,oBAAU;;aAE9B,OAAE,GAAG,kBAAkB,AAArB,CAAsB;aACxB,iBAAY,GAAG,CAAC,wBAAwB,CAAC,AAA7B,CAA8B;IAqE1D,IAAI,iBAAiB,CAAC,iBAA0B;QAC5C,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACrD,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,YACuB,KAAgB,EAChB,KAAgB,EACN,mBAAwC;QAErE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAlC1B,2BAAsB,GAAG,IAAI,cAAO,EAAe,CAAC;QACvE,oBAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAEjC,eAAU,GAAuC,IAAI,GAAG,EAAE,CAAC;QAEpE,uBAAkB,GAAG,IAAI,CAAC;QAE1B,cAAS,GAAG,KAAK,CAAC;QAI5B,8EAA8E;QACpE,aAAQ,GAAG,IAAI,CAAC;QAC1B;;WAEG;QACO,sBAAiB,GAAG,KAAK,CAAC;QAmSjB,+BAA0B,GAAG,IAAI,2BAAoB,EAAE,CAAC;QA/QvE,IAAI,CAAC,EAAE,GAAG,oBAAkB,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAE5B,KAAK,CAAC,IAAI,GAAG;YACT,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;SACM,CAAC;IAC3B,CAAC;IAGkB,IAAI;QACnB,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,EAAE,GAAG,oBAAkB,CAAC,EAAE,GAAG,gBAAgB,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAE/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAU,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAClG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,SAAG,CAAC,QAAQ,CAAC,gCAAgC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAEvG,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACnB,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,eAAe;YACpB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7H,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC3E,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACnB,IAAI,CAAC,0BAA0B;YAC/B,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;gBAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC7B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC,CAAC;YACF,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC;SACL,CAAC,CAAC;QAEH,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACrE,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE;oBACzB,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,CAAC,CAAC,CACL,CAAC;YACN,CAAC;QACL,CAAC;QAED,2GAA2G;QAC3G,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,kCAAkC,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACpF,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC;QACL,CAAC;IAEL,CAAC;IAEM,UAAU,CAAC,OAAgB;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,qFAAqF;IACrF,QAAQ;QACJ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,4GAA4G;IAC5G,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IACnC,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,KAAoB;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,GAAS,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,MAAM;SACf,CAAC,CAAC;IACP,CAAC;IAEkB,aAAa,CAAC,GAAY;QACzC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzB,yGAAyG;QACzG,2GAA2G;QAC3G,2EAA2E;QAC3E,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACzF,2FAA2F;QAC3F,wDAAwD;QACxD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7B,gBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1B,+BAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtF,CAAC;IACL,CAAC;IAEkB,cAAc,CAAC,GAAY;QAC1C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7B,gBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,yHAAyH;IAC/G,yBAAyB,CAAC,UAAmB;QACnD,IAAI,UAAU,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC3B,IAAI,UAAU,EAAE,CAAC;gBACb,gEAAgE;gBAChE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,yDAAyD;gBACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAES,sBAAsB,CAAC,OAAgB;QAC7C,sDAAsD;QACtD,IAAI,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,CAAC;QACnC,gGAAgG;QAChG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,KAAgB;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,IAAI,GAAG,2BAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC;YAC5E,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,OAAO,wBAAC,KAAK,CAAC,QAAQ,eACjB,IAAI,EACJ,IAAI,CAAC,0BAA0B,EAAE,IACrB,CAAC;IACtB,CAAC;IAED,0EAA0E;IAChE,0BAA0B;QAChC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,qDAAqD;QACrD,OAAO,mCACH,SAAS,EAAC,0DAA0D,EACpE,KAAK,EAAE,SAAG,CAAC,QAAQ,CAAC,uDAAuD,EAAE,wBAAwB,CAAC,EACtG,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,GACvD,CAAC;IACP,CAAC;IAED,4DAA4D;IAClD,+BAA+B;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IACO,gCAAgC;QACtC,OAAO,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE;aACjD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,IAAc,sBAAsB;QAChC,OAAO,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAES,qBAAqB;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,SAAS;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC;aACrC,MAAM,CAAC,CAAC,IAAI,EAA2B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,+BAA+B,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACzF,CAAC;IAES,oBAAoB;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,SAAS;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC;aACpC,MAAM,CAAC,CAAC,IAAI,EAA2B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,+BAA+B,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACzF,CAAC;IAES,+BAA+B,CAAC,cAAsB,EAAE,KAAwB;QACtF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,kDAAK,CAAC;QACjB,CAAC;QACD,MAAM,YAAY,GAAsB,EAAE,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,YAAY,CAAC,IAAI,CAAC,gCAAsC,SAAS,EAAC,8BAA8B,IAApE,mBAAmB,KAAK,EAAE,CAA6C,CAAC,CAAC;YACzG,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,OAAO,gCAAK,SAAS,EAAE,cAAc,YACjC,gCAAK,SAAS,EAAC,sCAAsC,YAChD,YAAY,GACX,GACJ,CAAC;IACX,CAAC;IAES,gBAAgB,CAAC,MAA2B;QAClD,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAyB;YAC5C,IAAI,EAAE;gBACF,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,OAAO;gBACP,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC;YACD,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACN,CAAC;IAES,iBAAiB,CAAC,QAA2B;QACnD,OAAO;YACH,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAyB;YAC5C,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACN,CAAC;IAID;;;OAGG;IACI,cAAc,CAAC,SAAoB;QACtC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAExC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;YACzE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACpC,iBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC,CAAC;YACF,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;oBAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,OAAO;gBACX,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;oBAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,OAAO;gBACX,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;oBAChD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBACjC,CAAC;gBAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAElC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACpE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;gBAC/E,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACrC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBAC/C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAC5B,KAAK,CAAC,UAAU,CACnB,CAAC;gBACN,CAAC;YACL,CAAC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAES,sBAAsB,CAAC,OAAyB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEkB,YAAY;QAC3B,KAAK,CAAC,YAAY,EAAE,CAAC;QACrB,0FAA0F;QAC1F,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAEkB,cAAc;QAC7B,4DAA4D;QAC5D,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,yDAAyD;QACzD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,SAAoB;QAClD,IAAI,2BAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACrC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAEkB,UAAU,CACzB,IAAc,EACd,KAAgB;QAEhB,IAAI,CAAC,kBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC;YACjC,CAAC,CAAC,SAAG,CAAC,QAAQ,CAAC,8BAA8B,EAAE,cAAc,CAAC;YAC9D,CAAC,CAAC,SAAG,CAAC,QAAQ,CAAC,+BAA+B,EAAE,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACnG,OAAO,uBAAC,KAAK,CAAC,QAAQ,cAClB,iCACI,SAAS,EAAC,gBAAgB,kBACZ,IAAI,CAAC,EAAE,EACrB,IAAI,EAAC,SAAS,gBACF,SAAS,EACrB,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,aAElD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IACtB,IAVkB,IAAI,CAAC,EAAE,CAWlB,CAAC;IACtB,CAAC;IAES,WAAW,CAAC,IAAgC;QAClD,MAAM,UAAU,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5H,MAAM,eAAe,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAChF,MAAM,oBAAoB,GAAG,CAAC,UAAU;YACpC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,gBAAgB,EAAE;iBACvD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACvC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;iBACxE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,EAAsB,CAAC;QACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;QAE1D,MAAM,eAAe,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,qBAAqB,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC;QACnG,MAAM,aAAa,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAErF,OAAO,uBAAC,KAAK,CAAC,QAAQ,cAClB,iCAAK,SAAS,EAAC,sBAAsB,aACjC,gCAAK,SAAS,EAAE,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAQ,EAC/E,+BAAI,GAAG,EAAE,UAAU,EACf,SAAS,EAAC,kBAAkB,EAC5B,YAAY,EAAE,GAAG,EAAE;4BACf,MAAM,UAAU,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC/E,MAAM,YAAY,GAAG,UAAU,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,CAAC,IAAI,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;4BAC/F,MAAM,SAAS,GAAG,YAAY;gCAC1B,CAAC,CAAC,GAAG,SAAG,CAAC,QAAQ,CAAC,kCAAkC,EAAE,aAAa,CAAC,KAAK,SAAG,CAAC,iBAAiB,CAC1F,YAAY,EAAE,IAAA,kDAAgB,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,SAAG,CAAC,iBAAiB,CAC9E,aAAa,EAAE,IAAA,kDAAgB,EAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE;gCACnE,CAAC,CAAC,SAAS,CAAC;4BAChB,IAAI,gBAAgB,IAAI,SAAS,EAAE,CAAC;gCAChC,MAAM,EAAE,GAAG,IAAI,uCAAkB,EAAE,CAAC;gCACpC,IAAI,gBAAgB,EAAE,CAAC;oCACnB,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;gCACxC,CAAC;gCACD,IAAI,gBAAgB,IAAI,SAAS,EAAE,CAAC;oCAChC,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gCACrC,CAAC;gCACD,IAAI,SAAS,EAAE,CAAC;oCACZ,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gCACjC,CAAC;gCACD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;oCAC3B,OAAO,EAAE,EAAE;oCACX,MAAM,EAAE,UAAU,CAAC,OAAQ;oCAC3B,QAAQ,EAAE,OAAO;iCACpB,CAAC,CAAC;4BACP,CAAC;wBACL,CAAC,YACA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GACxB,EACJ,eAAe,IAAI,CAChB,uBAAC,yCAAkB,IACf,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,YAAY,EAAE,IAAI,CAAC,YAAY,GACjC,CACL,EACA,aAAa,IAAI,CACd,uBAAC,wBAAU,IACP,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,IAAI,CAAC,YAAY,GACjC,CACL,EACA,UAAU,IAAI,CAAC,eAAe;wBAC3B,kCAAM,SAAS,EAAC,6BAA6B,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,aAC1E,iCAAM,SAAS,EAAE,GAAG,IAAA,iBAAO,EAAC,SAAS,CAAC,wBAAwB,iBAAe,IAAI,GAAS,EACzF,SAAG,CAAC,QAAQ,CAAC,mDAAmD,EAAE,YAAY,CAAC,IAC7E,EACV,UAAU,IAAI,eAAe;wBAC1B,kCAAM,SAAS,EAAC,6BAA6B,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,aAC1E,iCAAM,SAAS,EAAE,GAAG,IAAA,iBAAO,EAAC,SAAS,CAAC,wBAAwB,iBAAe,IAAI,GAAS,EACzF,SAAG,CAAC,QAAQ,CAAC,wDAAwD,EAAE,mBAAmB,CAAC,IACzF,EACV,CAAC,UAAU;wBACR,gCAAK,SAAS,EAAC,uBAAuB,YACjC,oBAAoB,CAAC,MAAM,GAAG,CAAC;gCAC5B,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC9B,iCAEI,SAAS,EAAE,+BAA+B,MAAM,CAAC,IAAI,EAAE,EACvD,KAAK,EAAE,MAAM,CAAC,OAAO,gBACT,MAAM,CAAC,OAAO,EAC1B,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,CAAC,CAAC,EAAE;wCACT,CAAC,CAAC,eAAe,EAAE,CAAC;wCACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oCAChE,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE;wCACX,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;4CAChB,CAAC,CAAC,eAAe,EAAE,CAAC;4CACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wCAChE,CAAC;oCACL,CAAC,EACD,IAAI,EAAC,QAAQ,IAfR,MAAM,CAAC,SAAS,CAgBjB,CACX,GACH,IACR,GACO,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,IAAgC;QACpD,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,sBAAsB;YACtB,OAAO,SAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,SAAG,CAAC,QAAQ,CAAC,2CAA2C,EAAE,IAAI,CAAC,CAAC;IACxG,CAAC;IAES,QAAQ,CAAC,IAAgC;QAC/C,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,CAAC;IAES,qBAAqB,CAAC,IAAgC;QAC5D,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,OAAO,KAAK,EAAE,SAAS,IAAI,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAES,YAAY,CAAC,IAAgC;QACnD,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAAA,CAAC;IACN,CAAC;IAES,iBAAiB,CAAC,IAAiB;QACzC,OAAO,uBAAC,yBAAiB,IACrB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,sBAAsB,EAAE,GAAG,EAAE;gBACzB,MAAM,YAAY,GAAG,IAAI,CAAC;gBAC1B,IAAI,IAAA,6BAAqB,EAAC,YAAY,CAAC,EAAE,CAAC;oBACtC,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;4BAC7B,IAAI,EAAE,YAAY;4BAClB,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;4BACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,EAAE;gCACrG,gFAAgF;gCAChF,8EAA8E;gCAC9E,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,CAAC,CAAC;4BACrI,CAAC;4BACD,MAAM,EAAE,YAAY,CAAC,MAAM;yBAC9B,CAAC,CAAC;wBAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;wBAE7C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE;4BACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;4BACxC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBACtC,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,OAAO,MAAM,CAAC;gBAClB,CAAC;gBAED,OAAO;YACX,CAAC,GACH,CAAC;IACP,CAAC;IAES,kBAAkB,CAAC,IAAkB;QAC3C,OAAO,CACH,iCAAK,SAAS,EAAE,oBAAoB,aAC/B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU;uBACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;uBAC3C,IAAI,CAAC,QAAQ,CAAC,gBAAgB;yBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC;yBAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACV,2BAAC,uCAAe,OAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,+BAA+B,CAAC,EAAE,GAAI,CAChF,EAER,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzC,gCAAK,SAAS,EAAC,4BAA4B,YAAkC,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,IAArE,GAAG,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,CAAmD,CAChI,EACA,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU;uBACnB,IAAI,CAAC,QAAQ,CAAC,gBAAgB;yBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC;yBACzC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACV,2BAAC,uCAAe,OAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,6BAA6B,CAAC,EAAE,GAAI,CAC9E,EAER,IAAI,CAAC,QAAQ,CAAC,gBAAgB;qBAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;qBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACV,2BAAC,uCAAe,OAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,2BAA2B,CAAC,EAAE,GAAI,CAC5E,IAEH,CACT,CAAC;IACN,CAAC;IAES,2BAA2B,CAAC,OAA4B,EAAE,IAAkB;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,CAAC,MAAM,CACrE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACd,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,IAAI,CAAC;QAClB,CAAC,EACD,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO,0CAAM,SAAG,CAAC,QAAQ,CAAC,mDAAmD,EAAE,0BAA0B,CAAC,GAAO,CAAC;QACtH,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAES,iBAAiB,CAAC,IAA0B,EAAE,KAAoC;QACxF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,oBAAkB,CAAC,YAAY;YACzC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE;YAC9C,IAAI,EAAE,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,KAAK,CAAC,aAAa;SAC/B,CAAC,CAAC;QACH,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAEkB,WAAW,CAAC,KAAoB;QAC/C,wDAAwD;QACxD,8CAA8C;QAC9C,sEAAsE;QACtE,OAAO,KAAK,CAAC;IACjB,CAAC;;AApsBQ,gDAAkB;AAMR;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,sDAAwB,CAAC;;qEACoD;AAG/F;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,yEAAiC,CAAC;;8EACwC;AAGrG;IADT,IAAA,kBAAM,EAAC,0BAAgB,CAAC;;4DACoB;AAG1B;IADlB,IAAA,kBAAM,EAAC,2BAAiB,CAAC;;2DAC4B;AAG5C;IADT,IAAA,kBAAM,EAAC,sBAAe,CAAC;sCACG,sBAAe;2DAAC;AAGxB;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;;yDAC0B;AAGtC;IADT,IAAA,kBAAM,EAAC,sBAAY,CAAC;sCACG,sBAAY;wDAAC;AAGlB;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,kCAA0B,CAAC;;mEAC6B;AAGnF;IADT,IAAA,kBAAM,EAAC,oDAAsB,CAAC;;8DACsB;AAGlC;IADlB,IAAA,kBAAM,EAAC,6BAAmB,CAAC;;6DAC8B;AAGvC;IADlB,IAAA,kBAAM,EAAC,qBAAW,CAAC;;uDACwB;AAGzB;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;6DAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,+BAA+B,CAAC;;kDACrB;AAKhB;IADlB,IAAA,kBAAM,EAAC,iCAAc,CAAC;sCACQ,iCAAc;sDAAC;AAG3B;IADlB,IAAA,kBAAM,EAAC,2CAAmB,CAAC;sCACQ,2CAAmB;2DAAC;AAmDrC;IADlB,IAAA,yBAAa,GAAE;;;;8CAiDf;6BArJQ,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;IAmFJ,mBAAA,IAAA,kBAAM,EAAC,mBAAS,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAM,EAAC,mBAAS,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAM,EAAC,6BAAmB,CAAC,CAAA;6DAAsB,6BAAmB;GApFhE,kBAAkB,CAqsB9B;AAMD,MAAM,eAAe,GAAmC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IACnE,2CAA2C;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAwB,IAAI,CAAC,CAAC;IAE/D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7C,gBAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3B,WAAW;IACX,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CACjB,GAAG,EAAE;QACD,UAAU,CAAC,GAAG,EAAE;YACZ,8DAA8D;YAC9D,MAAM,CAAC,SAAS,CAAC,gBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEX,OAAO,gCAAK,GAAG,EAAE,YAAY,GAAI,CAAC;AACtC,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAC7B,EACI,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EACpE,sBAAsB,EAQzB,EAAE,EAAE;IACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,IAAI,kCAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,gCAAK,SAAS,EAAC,mBAAmB,YACrC,uBAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAoB,GACjD,CAAC;QACX,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9E,OAAO,CACH,iCAAK,SAAS,EAAC,0BAA0B,aACrC,gCAAK,SAAS,EAAE,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,YAC9C,gCAAK,SAAS,EAAC,2CAA2C,EAAC,KAAK,EAAC,UAAU,EAAC,OAAO,EAAE,GAAG,EAAE;4BACtF,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;wBACjC,CAAC,GAAQ,GACP,EACN,8CACI,6CAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,SAAS,EACjD,2CAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAQ,IACnC,EACR,gCAAK,SAAS,EAAE,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,YAC7C,gCAAK,SAAS,EAAC,4CAA4C,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE;4BACnF,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wBAC7B,CAAC,GAAQ,GACP,IACJ,CACT,CAAC;IACN,CAAC,CAAC;IAEF,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,6CAAoB,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAErG,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;aACzD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,6CAAoB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;aAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,6CAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC/C,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;aAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE;YACR,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QACP,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,CACH,gCAAK,SAAS,EAAC,gCAAgC,YAC1C,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;gBAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC;gBACtF,OAAO,CACH,gCAAa,SAAS,EAAC,qCAAqC,YACxD,gCACI,GAAG,EAAE,QAAQ,QAAQ,CAAC,QAAQ,WAAW,QAAQ,CAAC,IAAI,EAAE,EACxD,GAAG,EAAE,OAAO,GACd,IAJI,CAAC,CAKL,CACT,CAAC;YACN,CAAC,CAAC,GACA,CACT,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,CACH,iCAAK,SAAS,EAAC,mBAAmB,aAC9B,wCACK,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACvB,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC1D,IAAI,mBAAmB,EAAE,CAAC;wBACtB,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,IAAI,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC;wBAC5G,OAAO,CACH,iCAAkB,SAAS,EAAC,2EAA2E,YACnG,gCACI,GAAG,EAAE,QAAQ,mBAAmB,CAAC,QAAQ,WAAW,mBAAmB,CAAC,IAAI,EAAE,EAC9E,GAAG,EAAE,OAAO,GACd,IAJK,KAAK,CAKT,CACV,CAAC;oBACN,CAAC;oBACD,IAAI,IAAI,YAAY,oCAA0B,IAAI,IAAI,YAAY,uCAA6B,IAAI,IAAI,YAAY,uCAA6B,EAAE,CAAC;wBAC/I,IAAI,WAAW,GAAG,SAAS,CAAC;wBAC5B,IAAI,SAAS,GAAG,EAAE,CAAC;wBACnB,IAAI,IAAI,YAAY,oCAA0B,EAAE,CAAC;4BAC7C,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;4BACnE,SAAS,GAAG,8BAA8B,CAAC;wBAC/C,CAAC;6BAAM,IAAI,IAAI,YAAY,uCAA6B,EAAE,CAAC;4BACvD,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;4BAC1E,SAAS,GAAG,iCAAiC,CAAC;wBAClD,CAAC;6BAAM,IAAI,IAAI,YAAY,uCAA6B,EAAE,CAAC;4BACvD,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;4BAC5C,SAAS,GAAG,iCAAiC,CAAC;wBAClD,CAAC;wBACD,OAAO,CACH,uBAAC,cAAc,IAEX,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,IAJf,KAAK,CAKZ,CACL,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACJ,MAAM,GAAG,GAAG,IAAA,6CAAoB,EAC5B,0CAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/C,aAAa,EACb,IAAI,EACJ,SAAS;wBACT,gGAAgG;wBAChG,KAAK,CACR,CAAC;wBACF,OAAO,CACH,iCAAkB,GAAG,EAAE,GAAG,IAAf,KAAK,CAAmB,CACtC,CAAC;oBACN,CAAC;gBACL,CAAC,CAAC,GACF,EACH,mBAAmB,EAAE,EACrB,YAAY,EAAE,IACb,CACT,CAAC;AACN,CAAC,CAAC;AAjJW,QAAA,iBAAiB,qBAiJ5B;AAEF,MAAM,cAAc,GAAG,CACnB,EACI,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAM7C,EAAE,EAAE;IACL,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAmB,CAAC;IACnD,OAAO,CACH,iCACI,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,GAAG,EAAE;YACf,IAAI,WAAW,EAAE,CAAC;gBACd,YAAY,CAAC,YAAY,CAAC;oBACtB,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,OAAO,CAAC,OAAQ;oBACxB,QAAQ,EAAE,OAAO;iBACpB,CAAC,CAAC;YACP,CAAC;QACL,CAAC,YAEA,IAAI,GACF,CACV,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tells whether `json` may already be complete, i.e. whether handing it to `JSON.parse` can succeed at all.
|
|
3
|
+
*
|
|
4
|
+
* Tool call arguments are rendered repeatedly while they stream in, and the arguments object is truncated
|
|
5
|
+
* until the last delta arrives: `JSON.parse` would scan the whole string only to throw, which gets quadratic
|
|
6
|
+
* as the arguments grow (noticeable with large payloads such as whole-file writes). An arguments object can
|
|
7
|
+
* only be complete once it ends with `}`, so callers skip the parse until then. Text that does not start
|
|
8
|
+
* with `{` is not a streaming arguments object and is always considered worth parsing.
|
|
9
|
+
*/
|
|
10
|
+
export declare function mayBeCompleteJson(json: string): boolean;
|
|
1
11
|
/**
|
|
2
12
|
* Extracts a string field value from potentially incomplete JSON.
|
|
3
|
-
*
|
|
13
|
+
* Uses JSON.parse for complete JSON, and a scan of the top-level entries for streaming scenarios.
|
|
4
14
|
*/
|
|
5
15
|
export declare function extractJsonStringField(json: string | undefined, fieldName: string): string | undefined;
|
|
6
16
|
//# sourceMappingURL=toolcall-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolcall-utils.d.ts","sourceRoot":"","sources":["../../src/common/toolcall-utils.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"toolcall-utils.d.ts","sourceRoot":"","sources":["../../src/common/toolcall-utils.ts"],"names":[],"mappings":"AAgBA;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgBtG"}
|
|
@@ -15,26 +15,208 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.mayBeCompleteJson = mayBeCompleteJson;
|
|
18
19
|
exports.extractJsonStringField = extractJsonStringField;
|
|
20
|
+
/**
|
|
21
|
+
* Tells whether `json` may already be complete, i.e. whether handing it to `JSON.parse` can succeed at all.
|
|
22
|
+
*
|
|
23
|
+
* Tool call arguments are rendered repeatedly while they stream in, and the arguments object is truncated
|
|
24
|
+
* until the last delta arrives: `JSON.parse` would scan the whole string only to throw, which gets quadratic
|
|
25
|
+
* as the arguments grow (noticeable with large payloads such as whole-file writes). An arguments object can
|
|
26
|
+
* only be complete once it ends with `}`, so callers skip the parse until then. Text that does not start
|
|
27
|
+
* with `{` is not a streaming arguments object and is always considered worth parsing.
|
|
28
|
+
*/
|
|
29
|
+
function mayBeCompleteJson(json) {
|
|
30
|
+
const trimmed = json.trim();
|
|
31
|
+
return !trimmed.startsWith('{') || trimmed.endsWith('}');
|
|
32
|
+
}
|
|
19
33
|
/**
|
|
20
34
|
* Extracts a string field value from potentially incomplete JSON.
|
|
21
|
-
*
|
|
35
|
+
* Uses JSON.parse for complete JSON, and a scan of the top-level entries for streaming scenarios.
|
|
22
36
|
*/
|
|
23
37
|
function extractJsonStringField(json, fieldName) {
|
|
24
38
|
if (!json) {
|
|
25
39
|
return undefined;
|
|
26
40
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
41
|
+
if (mayBeCompleteJson(json)) {
|
|
42
|
+
try {
|
|
43
|
+
const parsed = JSON.parse(json);
|
|
44
|
+
if (parsed && typeof parsed === 'object' && fieldName in parsed && typeof parsed[fieldName] === 'string') {
|
|
45
|
+
return parsed[fieldName];
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// fall through to the streaming extraction
|
|
31
51
|
}
|
|
32
52
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
53
|
+
return extractTopLevelStringField(json, fieldName);
|
|
54
|
+
}
|
|
55
|
+
const BACKSLASH = 92;
|
|
56
|
+
/**
|
|
57
|
+
* Extracts a top-level string field from a truncated JSON object by walking its entries.
|
|
58
|
+
*
|
|
59
|
+
* A regex over the whole payload cannot tell nesting apart, so it reports the first `"<field>": "..."` anywhere,
|
|
60
|
+
* including one inside a nested object or array - a `{"edits": [{"path": "a"}], "path": "b"` argument object would
|
|
61
|
+
* be labelled with `a`. Walking the entries skips over nested values and over string contents, so only the keys of
|
|
62
|
+
* the arguments object itself can match, and escapes within the value are resolved instead of ending it early.
|
|
63
|
+
*
|
|
64
|
+
* Values are skipped with `indexOf`, which keeps large payloads (e.g. whole-file writes) a native scan.
|
|
65
|
+
*/
|
|
66
|
+
function extractTopLevelStringField(json, fieldName) {
|
|
67
|
+
let index = skipWhitespace(json, 0);
|
|
68
|
+
if (json[index] !== '{') {
|
|
69
|
+
// tool call arguments are always an object; anything else has no top-level field to report
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
index = skipWhitespace(json, index + 1);
|
|
73
|
+
while (index < json.length && json[index] !== '}') {
|
|
74
|
+
if (json[index] !== '"') {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
const keyStart = index;
|
|
78
|
+
const key = readString(json, index);
|
|
79
|
+
if (!key.terminated) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
index = skipWhitespace(json, key.end);
|
|
83
|
+
if (json[index] !== ':') {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
index = skipWhitespace(json, index + 1);
|
|
87
|
+
if (index >= json.length) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
const matches = matchesKey(json, keyStart, key, fieldName);
|
|
91
|
+
if (json[index] === '"') {
|
|
92
|
+
const value = readString(json, index);
|
|
93
|
+
if (matches) {
|
|
94
|
+
return unescapeJsonStringContent(json.substring(index + 1, value.bodyEnd), value.terminated);
|
|
95
|
+
}
|
|
96
|
+
if (!value.terminated) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
index = value.end;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
if (matches) {
|
|
103
|
+
// the field is present, but not a string - same as what the JSON.parse branch reports
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
const end = skipValue(json, index);
|
|
107
|
+
if (end < 0) {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
index = end;
|
|
111
|
+
}
|
|
112
|
+
index = skipWhitespace(json, index);
|
|
113
|
+
if (json[index] === ',') {
|
|
114
|
+
index = skipWhitespace(json, index + 1);
|
|
115
|
+
}
|
|
37
116
|
}
|
|
38
117
|
return undefined;
|
|
39
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Reads the string token starting at `start`, which must be a quote.
|
|
121
|
+
*
|
|
122
|
+
* The closing quote is searched with `indexOf`, so the body - up to megabytes of file content - is skipped by a native
|
|
123
|
+
* scan rather than a per-character loop, and only escaped quotes cost an iteration. Only the bounds are reported: the
|
|
124
|
+
* body of a value that is merely skipped over is never materialized.
|
|
125
|
+
*/
|
|
126
|
+
function readString(json, start) {
|
|
127
|
+
let index = start + 1;
|
|
128
|
+
for (;;) {
|
|
129
|
+
const quote = json.indexOf('"', index);
|
|
130
|
+
if (quote < 0) {
|
|
131
|
+
return { bodyEnd: json.length, end: json.length, terminated: false };
|
|
132
|
+
}
|
|
133
|
+
if (!isEscaped(json, quote)) {
|
|
134
|
+
return { bodyEnd: quote, end: quote + 1, terminated: true };
|
|
135
|
+
}
|
|
136
|
+
index = quote + 1;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/** Skips the non-string value starting at `start`, returning the index right after it, or `-1` if it is still streaming. */
|
|
140
|
+
function skipValue(json, start) {
|
|
141
|
+
let index = start;
|
|
142
|
+
if (json[index] === '{' || json[index] === '[') {
|
|
143
|
+
let depth = 0;
|
|
144
|
+
while (index < json.length) {
|
|
145
|
+
const character = json[index];
|
|
146
|
+
if (character === '"') {
|
|
147
|
+
const contained = readString(json, index);
|
|
148
|
+
if (!contained.terminated) {
|
|
149
|
+
return -1;
|
|
150
|
+
}
|
|
151
|
+
index = contained.end;
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
if (character === '{' || character === '[') {
|
|
155
|
+
depth++;
|
|
156
|
+
}
|
|
157
|
+
else if (character === '}' || character === ']') {
|
|
158
|
+
depth--;
|
|
159
|
+
if (depth === 0) {
|
|
160
|
+
return index + 1;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
index++;
|
|
164
|
+
}
|
|
165
|
+
return -1;
|
|
166
|
+
}
|
|
167
|
+
while (index < json.length && json[index] !== ',' && json[index] !== '}') {
|
|
168
|
+
index++;
|
|
169
|
+
}
|
|
170
|
+
return index < json.length ? index : -1;
|
|
171
|
+
}
|
|
172
|
+
function skipWhitespace(json, start) {
|
|
173
|
+
let index = start;
|
|
174
|
+
while (index < json.length) {
|
|
175
|
+
const character = json[index];
|
|
176
|
+
if (character !== ' ' && character !== '\n' && character !== '\r' && character !== '\t') {
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
index++;
|
|
180
|
+
}
|
|
181
|
+
return index;
|
|
182
|
+
}
|
|
183
|
+
/** Tells whether the character at `index` is preceded by an odd number of backslashes, i.e. whether it is escaped. */
|
|
184
|
+
function isEscaped(text, index) {
|
|
185
|
+
let backslashes = 0;
|
|
186
|
+
while (index - backslashes > 0 && text.charCodeAt(index - backslashes - 1) === BACKSLASH) {
|
|
187
|
+
backslashes++;
|
|
188
|
+
}
|
|
189
|
+
return backslashes % 2 === 1;
|
|
190
|
+
}
|
|
191
|
+
/** Compares a scanned key against the wanted field name, resolving escapes only in the rare case that the key has any. */
|
|
192
|
+
function matchesKey(json, keyStart, key, fieldName) {
|
|
193
|
+
const raw = json.substring(keyStart + 1, key.bodyEnd);
|
|
194
|
+
return (raw.indexOf('\\') < 0 ? raw : unescapeJsonStringContent(raw, true)) === fieldName;
|
|
195
|
+
}
|
|
196
|
+
/** Resolves the escapes of a JSON string body, dropping the escape the stream was cut off in the middle of. */
|
|
197
|
+
function unescapeJsonStringContent(raw, terminated) {
|
|
198
|
+
const content = terminated ? raw : dropIncompleteEscape(raw);
|
|
199
|
+
try {
|
|
200
|
+
return JSON.parse('"' + content + '"');
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
// control characters and other invalid contents: the raw text is still the best label we have
|
|
204
|
+
return content;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/** Drops a trailing escape sequence that has not fully arrived yet, so that the value can be unescaped. */
|
|
208
|
+
function dropIncompleteEscape(raw) {
|
|
209
|
+
let backslashes = 0;
|
|
210
|
+
while (backslashes < raw.length && raw.charCodeAt(raw.length - backslashes - 1) === BACKSLASH) {
|
|
211
|
+
backslashes++;
|
|
212
|
+
}
|
|
213
|
+
if (backslashes % 2 === 1) {
|
|
214
|
+
return raw.substring(0, raw.length - 1);
|
|
215
|
+
}
|
|
216
|
+
const unicodeEscape = /\\u[0-9a-fA-F]{0,3}$/.exec(raw);
|
|
217
|
+
if (unicodeEscape && !isEscaped(raw, unicodeEscape.index)) {
|
|
218
|
+
return raw.substring(0, unicodeEscape.index);
|
|
219
|
+
}
|
|
220
|
+
return raw;
|
|
221
|
+
}
|
|
40
222
|
//# sourceMappingURL=toolcall-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolcall-utils.js","sourceRoot":"","sources":["../../src/common/toolcall-utils.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;
|
|
1
|
+
{"version":3,"file":"toolcall-utils.js","sourceRoot":"","sources":["../../src/common/toolcall-utils.ts"],"names":[],"mappings":"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"}
|