@markusylisiurunen/tau 0.3.14 → 0.3.16
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/core/diff_review/bridge.js +30 -2
- package/dist/core/diff_review/bridge.js.map +1 -1
- package/dist/core/session/session_engine.js +1 -4
- package/dist/core/session/session_engine.js.map +1 -1
- package/dist/core/telegram/adapter.js +15 -0
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/tools/nook.js +16 -5
- package/dist/core/tools/nook.js.map +1 -1
- package/dist/core/utils/gemini_transcription.js +17 -3
- package/dist/core/utils/gemini_transcription.js.map +1 -1
- package/dist/core/utils/messages.js +13 -0
- package/dist/core/utils/messages.js.map +1 -1
- package/dist/core/utils/speech_to_text.js +1 -0
- package/dist/core/utils/speech_to_text.js.map +1 -1
- package/dist/core/utils/speech_to_text_context.js +76 -0
- package/dist/core/utils/speech_to_text_context.js.map +1 -0
- package/dist/core/version.js +1 -1
- package/dist/diff_tool/app/dist/assets/index-D466OuVg.js +1580 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-CyvmCCZW.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-protanopia-deuteranopia-Rgc0TwpF.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-soft-BHGpRqa4.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-tritanopia-Beq2gCRQ.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-dark-vibrant-BWBVywrn.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-480U9XYS.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-protanopia-deuteranopia-CaVOBURG.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-soft-CVdyfjmI.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-tritanopia-B4_gpKOM.js +1 -0
- package/dist/diff_tool/app/dist/assets/pierre-light-vibrant-DdTDNdfJ.js +1 -0
- package/dist/diff_tool/app/dist/index.html +1 -1
- package/dist/host/session_protocol_handler.js +99 -79
- package/dist/host/session_protocol_handler.js.map +1 -1
- package/dist/nook/README.md +1 -1
- package/dist/nook/worker/index.js +4 -2
- package/dist/nook/worker/index.js.map +1 -1
- package/dist/tui/chat_controller/history_message_model.js +2 -11
- package/dist/tui/chat_controller/history_message_model.js.map +1 -1
- package/dist/tui/chat_controller/queued_user_messages.js +6 -0
- package/dist/tui/chat_controller/queued_user_messages.js.map +1 -1
- package/dist/tui/listen_capture.js +1 -0
- package/dist/tui/listen_capture.js.map +1 -1
- package/dist/tui/session_chat_controller.js +14 -25
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/ui/agent_activity_format.js +4 -0
- package/dist/tui/ui/agent_activity_format.js.map +1 -1
- package/dist/tui/ui/diff_review_message.js +2 -2
- package/dist/tui/ui/diff_review_message.js.map +1 -1
- package/package.json +10 -10
- package/dist/diff_tool/app/dist/assets/index-ivRn2dP2.js +0 -258
- package/dist/diff_tool/app/dist/assets/pierre-dark-Dy3oF52j.js +0 -1
- package/dist/diff_tool/app/dist/assets/pierre-dark-soft-K7D5SChL.js +0 -1
- package/dist/diff_tool/app/dist/assets/pierre-light-DhMpYZcV.js +0 -1
- package/dist/diff_tool/app/dist/assets/pierre-light-soft-cPlVRKcQ.js +0 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<title>Tau diff tool</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-D466OuVg.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-2iDVL7Tb.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { formatSteeringUserMessage } from "../core/runtime/steering.js";
|
|
2
2
|
import { createSessionProtocolErrorResponse, createSessionProtocolReadyMessage, createSessionProtocolSuccessResponse, SESSION_PROTOCOL_ERROR_CODES, SESSION_PROTOCOL_METHODS, SESSION_PROTOCOL_VERSION, } from "../protocol/session_protocol.js";
|
|
3
3
|
const sessionMutationQueues = new WeakMap();
|
|
4
|
+
const sessionLiveStates = new WeakMap();
|
|
5
|
+
function getSessionLiveState(session) {
|
|
6
|
+
let state = sessionLiveStates.get(session);
|
|
7
|
+
if (!state) {
|
|
8
|
+
state = { pendingSteeringSubmits: [], pendingQueuedSubmits: [] };
|
|
9
|
+
sessionLiveStates.set(session, state);
|
|
10
|
+
}
|
|
11
|
+
return state;
|
|
12
|
+
}
|
|
4
13
|
function getSessionMutationQueueState(session) {
|
|
5
14
|
let state = sessionMutationQueues.get(session);
|
|
6
15
|
if (!state) {
|
|
@@ -129,16 +138,16 @@ export class SessionProtocolHandler {
|
|
|
129
138
|
const states = [...this.sessionStates.values()];
|
|
130
139
|
for (const state of states) {
|
|
131
140
|
this.unsubscribeDeltaListener(state);
|
|
132
|
-
if (interruptActiveTurns && (state.activeSubmit || state.session.isTurnRunning)) {
|
|
141
|
+
if (interruptActiveTurns && (state.live.activeSubmit || state.session.isTurnRunning)) {
|
|
133
142
|
state.session.interruptTurn();
|
|
134
143
|
}
|
|
135
|
-
if (interruptActiveTurns && state.activeBash) {
|
|
136
|
-
state.activeBash.abortController.abort();
|
|
144
|
+
if (interruptActiveTurns && state.live.activeBash) {
|
|
145
|
+
state.live.activeBash.abortController.abort();
|
|
137
146
|
}
|
|
138
147
|
}
|
|
139
148
|
if (interruptActiveTurns) {
|
|
140
|
-
await Promise.allSettled(states.map((state) => state.activeSubmit?.promise).filter((promise) => promise));
|
|
141
|
-
await Promise.allSettled(states.map((state) => state.activeBash?.promise).filter((promise) => promise));
|
|
149
|
+
await Promise.allSettled(states.map((state) => state.live.activeSubmit?.promise).filter((promise) => promise));
|
|
150
|
+
await Promise.allSettled(states.map((state) => state.live.activeBash?.promise).filter((promise) => promise));
|
|
142
151
|
}
|
|
143
152
|
this.sessionStates.clear();
|
|
144
153
|
this.clientToolRegistration?.unregister();
|
|
@@ -205,8 +214,8 @@ export class SessionProtocolHandler {
|
|
|
205
214
|
}
|
|
206
215
|
finally {
|
|
207
216
|
await this.enqueueMutation(state, () => {
|
|
208
|
-
if (state.activeSubmit === activeSubmit) {
|
|
209
|
-
state.activeSubmit = undefined;
|
|
217
|
+
if (state.live.activeSubmit === activeSubmit) {
|
|
218
|
+
state.live.activeSubmit = undefined;
|
|
210
219
|
}
|
|
211
220
|
});
|
|
212
221
|
this.schedulePendingSubmitDrains(state);
|
|
@@ -223,8 +232,8 @@ export class SessionProtocolHandler {
|
|
|
223
232
|
return;
|
|
224
233
|
}
|
|
225
234
|
const startedSubmit = await this.enqueueMutation(state, () => {
|
|
226
|
-
if (state.activeSubmit || state.session.isTurnRunning || state.activeBash) {
|
|
227
|
-
state.pendingQueuedSubmits.push(request);
|
|
235
|
+
if (state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash) {
|
|
236
|
+
state.live.pendingQueuedSubmits.push({ handler: this, request });
|
|
228
237
|
return undefined;
|
|
229
238
|
}
|
|
230
239
|
return this.startUserMessageTurn(state, request);
|
|
@@ -238,8 +247,8 @@ export class SessionProtocolHandler {
|
|
|
238
247
|
}
|
|
239
248
|
finally {
|
|
240
249
|
await this.enqueueMutation(state, () => {
|
|
241
|
-
if (state.activeSubmit === activeSubmit) {
|
|
242
|
-
state.activeSubmit = undefined;
|
|
250
|
+
if (state.live.activeSubmit === activeSubmit) {
|
|
251
|
+
state.live.activeSubmit = undefined;
|
|
243
252
|
}
|
|
244
253
|
});
|
|
245
254
|
this.schedulePendingSubmitDrains(state);
|
|
@@ -256,9 +265,12 @@ export class SessionProtocolHandler {
|
|
|
256
265
|
return;
|
|
257
266
|
}
|
|
258
267
|
const startedSubmit = await this.enqueueMutation(state, () => {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
state.
|
|
268
|
+
const hasActiveSessionWork = state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash;
|
|
269
|
+
if (state.live.pendingSteeringSubmits.length > 0 || hasActiveSessionWork) {
|
|
270
|
+
state.live.pendingSteeringSubmits.push({ handler: this, request });
|
|
271
|
+
if (hasActiveSessionWork) {
|
|
272
|
+
state.session.requestTurnBoundaryStop();
|
|
273
|
+
}
|
|
262
274
|
return undefined;
|
|
263
275
|
}
|
|
264
276
|
return this.startUserMessageTurn(state, request);
|
|
@@ -272,8 +284,8 @@ export class SessionProtocolHandler {
|
|
|
272
284
|
}
|
|
273
285
|
finally {
|
|
274
286
|
await this.enqueueMutation(state, () => {
|
|
275
|
-
if (state.activeSubmit === activeSubmit) {
|
|
276
|
-
state.activeSubmit = undefined;
|
|
287
|
+
if (state.live.activeSubmit === activeSubmit) {
|
|
288
|
+
state.live.activeSubmit = undefined;
|
|
277
289
|
}
|
|
278
290
|
});
|
|
279
291
|
this.schedulePendingSubmitDrains(state);
|
|
@@ -286,9 +298,9 @@ export class SessionProtocolHandler {
|
|
|
286
298
|
return;
|
|
287
299
|
}
|
|
288
300
|
if (this.getPendingMutationCount(state) > 0 ||
|
|
289
|
-
state.activeSubmit ||
|
|
301
|
+
state.live.activeSubmit ||
|
|
290
302
|
state.session.isTurnRunning ||
|
|
291
|
-
state.activeBash) {
|
|
303
|
+
state.live.activeBash) {
|
|
292
304
|
this.sendSubmitBusy(state, request.id);
|
|
293
305
|
return;
|
|
294
306
|
}
|
|
@@ -301,8 +313,8 @@ export class SessionProtocolHandler {
|
|
|
301
313
|
}
|
|
302
314
|
finally {
|
|
303
315
|
await this.enqueueMutation(state, () => {
|
|
304
|
-
if (state.activeBash === activeBash) {
|
|
305
|
-
state.activeBash = undefined;
|
|
316
|
+
if (state.live.activeBash === activeBash) {
|
|
317
|
+
state.live.activeBash = undefined;
|
|
306
318
|
}
|
|
307
319
|
});
|
|
308
320
|
this.schedulePendingSubmitDrains(state);
|
|
@@ -328,8 +340,8 @@ export class SessionProtocolHandler {
|
|
|
328
340
|
}
|
|
329
341
|
finally {
|
|
330
342
|
await this.enqueueMutation(state, () => {
|
|
331
|
-
if (state.activeSubmit === activeSubmit) {
|
|
332
|
-
state.activeSubmit = undefined;
|
|
343
|
+
if (state.live.activeSubmit === activeSubmit) {
|
|
344
|
+
state.live.activeSubmit = undefined;
|
|
333
345
|
}
|
|
334
346
|
});
|
|
335
347
|
this.schedulePendingSubmitDrains(state);
|
|
@@ -409,7 +421,7 @@ export class SessionProtocolHandler {
|
|
|
409
421
|
});
|
|
410
422
|
}
|
|
411
423
|
async startUserMessageTurn(state, request) {
|
|
412
|
-
if (state.activeSubmit || state.session.isTurnRunning || state.activeBash) {
|
|
424
|
+
if (state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash) {
|
|
413
425
|
this.sendSubmitBusy(state, request.id);
|
|
414
426
|
return undefined;
|
|
415
427
|
}
|
|
@@ -422,32 +434,32 @@ export class SessionProtocolHandler {
|
|
|
422
434
|
});
|
|
423
435
|
const submitPromise = this.executeSubmit(state, request.id, request.method, userHistoryEntryId);
|
|
424
436
|
const activeSubmit = { requestId: request.id, promise: submitPromise };
|
|
425
|
-
state.activeSubmit = activeSubmit;
|
|
437
|
+
state.live.activeSubmit = activeSubmit;
|
|
426
438
|
return {
|
|
427
439
|
activeSubmit,
|
|
428
440
|
};
|
|
429
441
|
}
|
|
430
442
|
startRetry(state, request) {
|
|
431
|
-
if (state.activeSubmit || state.session.isTurnRunning || state.activeBash) {
|
|
443
|
+
if (state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash) {
|
|
432
444
|
this.sendSubmitBusy(state, request.id);
|
|
433
445
|
return undefined;
|
|
434
446
|
}
|
|
435
447
|
const retryPromise = this.executeRetry(state, request.id);
|
|
436
448
|
const activeSubmit = { requestId: request.id, promise: retryPromise };
|
|
437
|
-
state.activeSubmit = activeSubmit;
|
|
449
|
+
state.live.activeSubmit = activeSubmit;
|
|
438
450
|
return {
|
|
439
451
|
activeSubmit,
|
|
440
452
|
};
|
|
441
453
|
}
|
|
442
454
|
startExec(state, request) {
|
|
443
|
-
if (state.activeSubmit || state.session.isTurnRunning || state.activeBash) {
|
|
455
|
+
if (state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash) {
|
|
444
456
|
this.sendSubmitBusy(state, request.id);
|
|
445
457
|
return undefined;
|
|
446
458
|
}
|
|
447
459
|
const abortController = new AbortController();
|
|
448
460
|
const promise = this.executeExec(state, request, abortController.signal);
|
|
449
461
|
const activeBash = { requestId: request.id, abortController, promise };
|
|
450
|
-
state.activeBash = activeBash;
|
|
462
|
+
state.live.activeBash = activeBash;
|
|
451
463
|
return activeBash;
|
|
452
464
|
}
|
|
453
465
|
schedulePendingSubmitDrains(state) {
|
|
@@ -460,31 +472,31 @@ export class SessionProtocolHandler {
|
|
|
460
472
|
}
|
|
461
473
|
async drainPendingSteeringSubmits(state) {
|
|
462
474
|
const batch = await this.enqueueMutation(state, async () => {
|
|
463
|
-
if (state.pendingSteeringSubmits.length === 0 ||
|
|
464
|
-
state.activeSubmit ||
|
|
475
|
+
if (state.live.pendingSteeringSubmits.length === 0 ||
|
|
476
|
+
state.live.activeSubmit ||
|
|
465
477
|
state.session.isTurnRunning) {
|
|
466
478
|
return undefined;
|
|
467
479
|
}
|
|
468
|
-
const requests = state.pendingSteeringSubmits.splice(0);
|
|
480
|
+
const requests = state.live.pendingSteeringSubmits.splice(0);
|
|
469
481
|
const primaryRequest = requests[0];
|
|
470
|
-
const preferredHistoryEntryId = requests.length === 1 ? primaryRequest.params.historyEntryId : undefined;
|
|
482
|
+
const preferredHistoryEntryId = requests.length === 1 ? primaryRequest.request.params.historyEntryId : undefined;
|
|
471
483
|
let userHistoryEntryId;
|
|
472
484
|
try {
|
|
473
485
|
({ userHistoryEntryId } = await state.session.record({
|
|
474
|
-
text: formatSteeringUserMessage(requests.map((item) => item.params.text)),
|
|
486
|
+
text: formatSteeringUserMessage(requests.map((item) => item.request.params.text)),
|
|
475
487
|
...(preferredHistoryEntryId ? { historyEntryId: preferredHistoryEntryId } : {}),
|
|
476
488
|
}));
|
|
477
489
|
}
|
|
478
490
|
catch (error) {
|
|
479
|
-
this.sendUserMessageDrainFailure(
|
|
491
|
+
this.sendUserMessageDrainFailure(requests, error);
|
|
480
492
|
return undefined;
|
|
481
493
|
}
|
|
482
|
-
const submitPromise =
|
|
494
|
+
const submitPromise = primaryRequest.handler.executeSubmit(state, primaryRequest.request.id, "session.steer", userHistoryEntryId, requests);
|
|
483
495
|
const activeSubmit = {
|
|
484
|
-
requestId: primaryRequest.id,
|
|
496
|
+
requestId: primaryRequest.request.id,
|
|
485
497
|
promise: submitPromise,
|
|
486
498
|
};
|
|
487
|
-
state.activeSubmit = activeSubmit;
|
|
499
|
+
state.live.activeSubmit = activeSubmit;
|
|
488
500
|
return { activeSubmit };
|
|
489
501
|
});
|
|
490
502
|
if (!batch) {
|
|
@@ -495,8 +507,8 @@ export class SessionProtocolHandler {
|
|
|
495
507
|
}
|
|
496
508
|
finally {
|
|
497
509
|
await this.enqueueMutation(state, () => {
|
|
498
|
-
if (state.activeSubmit === batch.activeSubmit) {
|
|
499
|
-
state.activeSubmit = undefined;
|
|
510
|
+
if (state.live.activeSubmit === batch.activeSubmit) {
|
|
511
|
+
state.live.activeSubmit = undefined;
|
|
500
512
|
}
|
|
501
513
|
});
|
|
502
514
|
this.schedulePendingSubmitDrains(state);
|
|
@@ -504,17 +516,17 @@ export class SessionProtocolHandler {
|
|
|
504
516
|
}
|
|
505
517
|
async drainPendingQueuedSubmits(state) {
|
|
506
518
|
const next = await this.enqueueMutation(state, async () => {
|
|
507
|
-
if (state.pendingQueuedSubmits.length === 0 ||
|
|
508
|
-
state.activeSubmit ||
|
|
519
|
+
if (state.live.pendingQueuedSubmits.length === 0 ||
|
|
520
|
+
state.live.activeSubmit ||
|
|
509
521
|
state.session.isTurnRunning) {
|
|
510
522
|
return undefined;
|
|
511
523
|
}
|
|
512
|
-
const
|
|
524
|
+
const pending = state.live.pendingQueuedSubmits.shift();
|
|
513
525
|
try {
|
|
514
|
-
return await
|
|
526
|
+
return await pending.handler.startUserMessageTurn(state, pending.request);
|
|
515
527
|
}
|
|
516
528
|
catch (error) {
|
|
517
|
-
this.sendUserMessageDrainFailure(
|
|
529
|
+
this.sendUserMessageDrainFailure([pending], error);
|
|
518
530
|
return undefined;
|
|
519
531
|
}
|
|
520
532
|
});
|
|
@@ -526,8 +538,8 @@ export class SessionProtocolHandler {
|
|
|
526
538
|
}
|
|
527
539
|
finally {
|
|
528
540
|
await this.enqueueMutation(state, () => {
|
|
529
|
-
if (state.activeSubmit === next.activeSubmit) {
|
|
530
|
-
state.activeSubmit = undefined;
|
|
541
|
+
if (state.live.activeSubmit === next.activeSubmit) {
|
|
542
|
+
state.live.activeSubmit = undefined;
|
|
531
543
|
}
|
|
532
544
|
});
|
|
533
545
|
this.schedulePendingSubmitDrains(state);
|
|
@@ -535,13 +547,13 @@ export class SessionProtocolHandler {
|
|
|
535
547
|
}
|
|
536
548
|
failPendingUserMessageRequests(state, method, error) {
|
|
537
549
|
const pending = method === "session.steer"
|
|
538
|
-
? state.pendingSteeringSubmits.splice(0)
|
|
539
|
-
: state.pendingQueuedSubmits.splice(0);
|
|
540
|
-
this.sendUserMessageDrainFailure(
|
|
550
|
+
? state.live.pendingSteeringSubmits.splice(0)
|
|
551
|
+
: state.live.pendingQueuedSubmits.splice(0);
|
|
552
|
+
this.sendUserMessageDrainFailure(pending, error);
|
|
541
553
|
}
|
|
542
|
-
sendUserMessageDrainFailure(
|
|
543
|
-
for (const request of requests) {
|
|
544
|
-
|
|
554
|
+
sendUserMessageDrainFailure(requests, error) {
|
|
555
|
+
for (const { handler, request } of requests) {
|
|
556
|
+
handler.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.internalError, "failed to drain pending user message", { cause: error instanceof Error ? error.message : String(error) }));
|
|
545
557
|
}
|
|
546
558
|
}
|
|
547
559
|
async executeSubmit(state, requestId, method, userHistoryEntryId, responseRequests) {
|
|
@@ -556,8 +568,8 @@ export class SessionProtocolHandler {
|
|
|
556
568
|
},
|
|
557
569
|
};
|
|
558
570
|
if (responseRequests) {
|
|
559
|
-
for (const request of responseRequests) {
|
|
560
|
-
|
|
571
|
+
for (const { handler, request } of responseRequests) {
|
|
572
|
+
handler.sendMessage(createSessionProtocolSuccessResponse(request.id, method, result));
|
|
561
573
|
}
|
|
562
574
|
}
|
|
563
575
|
else {
|
|
@@ -566,9 +578,13 @@ export class SessionProtocolHandler {
|
|
|
566
578
|
}
|
|
567
579
|
catch (error) {
|
|
568
580
|
await this.snapshotAfterFailedSubmit(state);
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
581
|
+
if (responseRequests) {
|
|
582
|
+
for (const { handler, request } of responseRequests) {
|
|
583
|
+
handler.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.internalError, "failed to run session turn", { cause: error instanceof Error ? error.message : String(error) }));
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
else {
|
|
587
|
+
this.sendMessage(createSessionProtocolErrorResponse(requestId, SESSION_PROTOCOL_ERROR_CODES.internalError, "failed to run session turn", { cause: error instanceof Error ? error.message : String(error) }));
|
|
572
588
|
}
|
|
573
589
|
}
|
|
574
590
|
}
|
|
@@ -620,8 +636,8 @@ export class SessionProtocolHandler {
|
|
|
620
636
|
return;
|
|
621
637
|
}
|
|
622
638
|
const interrupted = state.session.interruptTurn();
|
|
623
|
-
const interruptedBash = Boolean(state.activeBash);
|
|
624
|
-
state.activeBash?.abortController.abort();
|
|
639
|
+
const interruptedBash = Boolean(state.live.activeBash);
|
|
640
|
+
state.live.activeBash?.abortController.abort();
|
|
625
641
|
this.rejectPendingSteeringSubmits(state, "session was interrupted");
|
|
626
642
|
const result = {
|
|
627
643
|
interrupted: interrupted || interruptedBash,
|
|
@@ -737,15 +753,20 @@ export class SessionProtocolHandler {
|
|
|
737
753
|
this.sendSessionNotFound(request.id, request.params.sessionId);
|
|
738
754
|
return;
|
|
739
755
|
}
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
756
|
+
try {
|
|
757
|
+
const result = await state.session.submitEphemeralThread({
|
|
758
|
+
contextId: request.params.contextId,
|
|
759
|
+
threadId: request.params.threadId,
|
|
760
|
+
...(request.params.forkFromThreadId !== undefined
|
|
761
|
+
? { forkFromThreadId: request.params.forkFromThreadId }
|
|
762
|
+
: {}),
|
|
763
|
+
message: request.params.message,
|
|
764
|
+
});
|
|
765
|
+
this.sendMessage(createSessionProtocolSuccessResponse(request.id, "session.ephemeral.submit", result));
|
|
766
|
+
}
|
|
767
|
+
catch (error) {
|
|
768
|
+
this.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.internalError, error instanceof Error ? error.message : String(error)));
|
|
769
|
+
}
|
|
749
770
|
}
|
|
750
771
|
async handleEphemeralClose(request) {
|
|
751
772
|
await this.withSessionMutation(request, "ephemeral context closed", async (mutationState) => {
|
|
@@ -771,15 +792,15 @@ export class SessionProtocolHandler {
|
|
|
771
792
|
});
|
|
772
793
|
}
|
|
773
794
|
rejectPendingSteeringSubmits(state, message) {
|
|
774
|
-
const requests = state.pendingSteeringSubmits.splice(0);
|
|
775
|
-
for (const request of requests) {
|
|
776
|
-
|
|
795
|
+
const requests = state.live.pendingSteeringSubmits.splice(0);
|
|
796
|
+
for (const { handler, request } of requests) {
|
|
797
|
+
handler.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.invalidRequest, message));
|
|
777
798
|
}
|
|
778
799
|
}
|
|
779
800
|
rejectPendingQueuedSubmits(state, message) {
|
|
780
|
-
const requests = state.pendingQueuedSubmits.splice(0);
|
|
781
|
-
for (const request of requests) {
|
|
782
|
-
|
|
801
|
+
const requests = state.live.pendingQueuedSubmits.splice(0);
|
|
802
|
+
for (const { handler, request } of requests) {
|
|
803
|
+
handler.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.invalidRequest, message));
|
|
783
804
|
}
|
|
784
805
|
}
|
|
785
806
|
registerSession(session, options = {}) {
|
|
@@ -789,9 +810,8 @@ export class SessionProtocolHandler {
|
|
|
789
810
|
}
|
|
790
811
|
const state = {
|
|
791
812
|
session,
|
|
813
|
+
live: getSessionLiveState(session),
|
|
792
814
|
...(options.bufferInitialDeltas ? { bufferedDeltas: [] } : {}),
|
|
793
|
-
pendingSteeringSubmits: [],
|
|
794
|
-
pendingQueuedSubmits: [],
|
|
795
815
|
};
|
|
796
816
|
state.unsubscribeDelta = session.onDelta((delta) => {
|
|
797
817
|
if (this.closed || !this.sessionStates.has(session.sessionId)) {
|
|
@@ -851,7 +871,7 @@ export class SessionProtocolHandler {
|
|
|
851
871
|
sendSubmitBusy(state, id) {
|
|
852
872
|
const message = this.getPendingMutationCount(state) > 0
|
|
853
873
|
? "a mutating session request is in progress"
|
|
854
|
-
: state.activeBash
|
|
874
|
+
: state.live.activeBash
|
|
855
875
|
? "a bash command is already running"
|
|
856
876
|
: "a session turn is already running";
|
|
857
877
|
this.sendMessage(createSessionProtocolErrorResponse(id, SESSION_PROTOCOL_ERROR_CODES.busy, message));
|
|
@@ -876,8 +896,8 @@ export class SessionProtocolHandler {
|
|
|
876
896
|
return getSessionMutationQueueState(state.session).pending;
|
|
877
897
|
}
|
|
878
898
|
async interruptAndWaitForActiveSubmit(state) {
|
|
879
|
-
const activeSubmit = state.activeSubmit;
|
|
880
|
-
const activeBash = state.activeBash;
|
|
899
|
+
const activeSubmit = state.live.activeSubmit;
|
|
900
|
+
const activeBash = state.live.activeBash;
|
|
881
901
|
if (!activeSubmit && !state.session.isTurnRunning && !activeBash) {
|
|
882
902
|
return;
|
|
883
903
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_protocol_handler.js","sourceRoot":"","sources":["../../src/host/session_protocol_handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,EACpC,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,GAOzB,MAAM,iCAAiC,CAAC;AAmCzC,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAA+C,CAAC;AAEzF,SAAS,4BAA4B,CAAC,OAAyB;IAC7D,IAAI,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACjD,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAmBD,MAAM,OAAO,sBAAsB;IAChB,IAAI,CAAiB;IACrB,IAAI,CAAoD;IACxD,aAAa,GAAG,IAAI,GAAG,EAA8C,CAAC;IAC/E,WAAW,GAAG,KAAK,CAAC;IACpB,sBAAsB,CAI5B;IACM,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,OAAsC;QAChD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAsC;QACxD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,YAAY;oBACf,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC/B,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,cAAc;oBACjB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC/B,OAAO;gBACT,KAAK,iBAAiB;oBACpB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,mBAAmB;oBACtB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACpC,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,eAAe;oBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAChC,OAAO;gBACT,KAAK,eAAe;oBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAChC,OAAO;gBACT,KAAK,eAAe;oBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAChC,OAAO;gBACT,KAAK,cAAc;oBACjB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC/B,OAAO;gBACT,KAAK,mBAAmB;oBACtB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACpC,OAAO;gBACT,KAAK,kBAAkB;oBACrB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBACnC,OAAO;gBACT,KAAK,iBAAiB;oBACpB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO;gBACT,KAAK,sBAAsB;oBACzB,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACvC,OAAO;gBACT,KAAK,oBAAoB;oBACvB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO;gBACT,KAAK,uBAAuB;oBAC1B,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBACxC,OAAO;gBACT,KAAK,2BAA2B;oBAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBAC5C,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,iBAAiB;oBACpB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO;gBACT,KAAK,eAAe;oBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAChC,OAAO;gBACT,KAAK,gBAAgB;oBACnB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACT,KAAK,2BAA2B;oBAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBAC5C,OAAO;gBACT,KAAK,0BAA0B;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;oBAC1C,OAAO;gBACT,KAAK,0BAA0B;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;oBAC1C,OAAO;gBACT,KAAK,yBAAyB;oBAC5B,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBACzC,OAAO;gBACT,KAAK,wBAAwB;oBAC3B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO;gBACT,KAAK,2BAA2B;oBAC9B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO;YACX,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,aAAa,EAC1C,iCAAiC,EACjC;gBACE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAqC;QAC/C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,YAAY,GAAG,IAAI,KAAK,eAAe,CAAC;QAC9C,MAAM,oBAAoB,GAAG,IAAI,KAAK,WAAW,IAAI,YAAY,CAAC;QAElE,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAErC,IAAI,oBAAoB,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAChF,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAChC,CAAC;YACD,IAAI,oBAAoB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7C,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,OAAO,CAAC,UAAU,CACtB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAChF,CAAC;YACF,MAAM,OAAO,CAAC,UAAU,CACtB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAC9E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,sBAAsB,EAAE,UAAU,EAAE,CAAC;QAC1C,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAExC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,WAAW,CAAC,iCAAiC,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,gBAAgB,CACtB,OAAyE;QAEzE,MAAM,MAAM,GAAgD;YAC1D,eAAe,EAAE,wBAAwB;YACzC,OAAO,EAAE,CAAC,GAAG,wBAAwB,CAAC;YACtC,kBAAkB,EAAE,IAAI,CAAC,WAAW;SACrC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC7D,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEO,mBAAmB,CAAC,KAA4C;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC1D,KAAK;YACL,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAChD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CACzB,OAAqF;QAErF,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACtF,KAAK,CAAC;QACR,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,CAAC,CACzF,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,OAAwF;QAExF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9B,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;YACxD,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YAC3F,KAAK,CAAC;QACR,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,2BAA2B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAC5F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAC3D,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1C,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBACxC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA4E;QAE5E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3D,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC1E,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBACxC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA4E;QAE5E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3D,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC1E,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3C,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACxC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBACxC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,OAA2E;QAE3E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IACE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC;YACvC,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,OAAO,CAAC,aAAa;YAC3B,KAAK,CAAC,UAAU,EAChB,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,OAAO,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBACpC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC/B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA4E;QAE5E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAE9F,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;QAEtC,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBACxC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC7F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,OAA2E;QAE3E,MAAM,MAAM,GAAkD;YAC5D,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;SACzC,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7F,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA8E;QAE9E,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;YACjE,mBAAmB,EAAE,CAAC,WAAW;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,QAAQ,EACrC,mBAAmB,EACnB,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CACxC,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1C,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAC9E,CAAC;YACF,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrB,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,OAAgF;QAEhF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAuD;YACjE,UAAU,EAAE,IAAI;SACjB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAClG,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YACpF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;gBAChD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;gBACzB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;oBAC7C,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,KAAyC,EACzC,OAKC;QAUD,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1E,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc;YAC9C,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;YACnD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACxD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACvE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;QAElC,OAAO;YACL,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,UAAU,CAChB,KAAyC,EACzC,OAA4E;QAE5E,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1E,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACtE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;QAElC,OAAO;YACL,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,SAAS,CACf,KAAyC,EACzC,OAA2E;QAE3E,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1E,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;QACvE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9B,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,2BAA2B,CAAC,KAAyC;QAC3E,KAAK,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3D,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACzD,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,KAAyC;QAEzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACzD,IACE,KAAK,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC;gBACzC,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,OAAO,CAAC,aAAa,EAC3B,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YACpC,MAAM,uBAAuB,GAC3B,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,CAAC,EAAE,kBAAkB,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,IAAI,EAAE,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACzE,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChF,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACnE,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CACtC,KAAK,EACL,cAAc,CAAC,EAAE,EACjB,eAAe,EACf,kBAAkB,EAClB,QAAQ,CACT,CAAC;YACF,MAAM,YAAY,GAAG;gBACnB,SAAS,EAAE,cAAc,CAAC,EAAE;gBAC5B,OAAO,EAAE,aAAa;aACvB,CAAC;YACF,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;YAElC,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;QACnC,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC9C,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,KAAyC;QAEzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACxD,IACE,KAAK,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC;gBACvC,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,OAAO,CAAC,aAAa,EAC3B,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAG,CAAC;YACpD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpE,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrC,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC7C,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,8BAA8B,CACpC,KAAyC,EACzC,MAAyC,EACzC,KAAc;QAEd,MAAM,OAAO,GACX,MAAM,KAAK,eAAe;YACxB,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEO,2BAA2B,CACjC,MAAyC,EACzC,QAAkF,EAClF,KAAc;QAEd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,aAAa,EAC1C,sCAAsC,EACtC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,KAAyC,EACzC,SAAmC,EACnC,MAA4D,EAC5D,kBAA0B,EAC1B,gBAA2F;QAE3F,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAE/B,MAAM,MAAM,GAAiD;gBAC3D,kBAAkB;gBAClB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D;aACF,CAAC;YAEF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;oBACvC,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,gBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,aAAa,EAC1C,4BAA4B,EAC5B,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClE,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,KAAyC;QAEzC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,qFAAqF;YACrF,uCAAuC;QACzC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,KAAyC,EACzC,SAAmC;QAEnC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAE/B,MAAM,MAAM,GAAmD;gBAC7D,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D;aACF,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,SAAS,EACT,4BAA4B,CAAC,aAAa,EAC1C,4BAA4B,EAC5B,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,KAAyC,EACzC,OAA2E,EAC3E,MAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;gBAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,MAAM;aACP,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,MAAM,CAAC,OAAO;gBACZ,CAAC,CAAC,4BAA4B,CAAC,cAAc;gBAC7C,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,iCAAiC,EACxF,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,OAAgF;QAEhF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAClD,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClD,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAuD;YACjE,WAAW,EAAE,WAAW,IAAI,eAAe;YAC3C,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,eAAe;SAC9D,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAClG,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAA+E;QAE/E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CACd,oCAAoC,CAClC,OAAO,CAAC,EAAE,EACV,kBAAkB,EAClB,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC/B,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,OAA8E;QAE9E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACpF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5E,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAC9E,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,OAAmF;QAEnF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,sBAAsB,EAAE,MAAM,CAAC,CACjF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,OAAiF;QAEjF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACjF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CACjF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,OAAoF;QAEpF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAClF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,OAAwF;QAExF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACnD,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,2BAA2B,EAAE,MAAM,CAAC,CACtF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,OAA8E;QAE9E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACzC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;gBACzB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA4E;QAE5E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAClD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;gBACjC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;gBACjC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA6E;QAE7E,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACzE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACzF,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,OAAwF;QAExF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACxF,IAAI,CAAC,WAAW,CACd,oCAAoC,CAClC,OAAO,CAAC,EAAE,EACV,2BAA2B,EAC3B,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CACjE,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAuF;QAEvF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YAC3F,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBAChE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY;gBACzC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;gBAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;aACpC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,0BAA0B,EAAE,MAAM,CAAC,CACrF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAuF;QAEvF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACvD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;YACjC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;gBAC/C,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBACvD,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,0BAA0B,EAAE,MAAM,CAAC,CACrF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAAsF;QAEtF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YAC1F,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3F,IAAI,CAAC,WAAW,CACd,oCAAoC,CAAC,OAAO,CAAC,EAAE,EAAE,yBAAyB,EAAE,MAAM,CAAC,CACpF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,OAAuC,EACvC,8BAAsC,EACtC,OAAqE;QAErE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;YACzE,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;YACvE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,4BAA4B,CAClC,KAAyC,EACzC,OAAe;QAEf,MAAM,QAAQ,GAAG,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,cAAc,EAC3C,OAAO,CACR,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,0BAA0B,CAChC,KAAyC,EACzC,OAAe;QAEf,MAAM,QAAQ,GAAG,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,OAAO,CAAC,EAAE,EACV,4BAA4B,CAAC,cAAc,EAC3C,OAAO,CACR,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,eAAe,CACrB,OAAyB,EACzB,UAA6C,EAAE;QAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAuC;YAChD,OAAO;YACP,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,sBAAsB,EAAE,EAAE;YAC1B,oBAAoB,EAAE,EAAE;SACzB,CAAC;QAEF,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,SAAiB,EACjB,UAA6C,EAAE;QAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5E,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IAEO,gCAAgC,CACtC,KAAyC,EACzC,gBAAwB;QAExB,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC;gBACxC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,EAA4B,EAAE,SAAiB;QACzE,IAAI,CAAC,WAAW,CACd,kCAAkC,CAChC,EAAE,EACF,4BAA4B,CAAC,QAAQ,EACrC,mBAAmB,EACnB,EAAE,SAAS,EAAE,CACd,CACF,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,KAAyC,EACzC,EAA4B;QAE5B,MAAM,OAAO,GACX,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,2CAA2C;YAC7C,CAAC,CAAC,KAAK,CAAC,UAAU;gBAChB,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,mCAAmC,CAAC;QAE5C,IAAI,CAAC,WAAW,CACd,kCAAkC,CAAC,EAAE,EAAE,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,CACnF,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,KAAyC,EACzC,OAA6B;QAE7B,MAAM,KAAK,GAAG,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CACpB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,KAAyC,EACzC,OAAyB;QAEzB,MAAM,KAAK,GAAG,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,KAAyC;QACvE,OAAO,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAC3C,KAAyC;QAEzC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9B,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;QAEpC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,EAAE,OAAO,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,EAAE,OAAO,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,KAAyC;QACxE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,2BAA2B,CAAC,KAAyC;QAC3E,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEpE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC5B,sCAAsC;QACxC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACzB,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC/B,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC7B,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAAuC;QACzD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"session_protocol_handler.js","sourceRoot":"","sources":["../../src/host/session_protocol_handler.ts"],"names":[],"mappings":"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"}
|
package/dist/nook/README.md
CHANGED
|
@@ -72,7 +72,7 @@ Deploy requirements:
|
|
|
72
72
|
|
|
73
73
|
## browser SDK
|
|
74
74
|
|
|
75
|
-
The Worker injects `/<site>/__nook/client.js`
|
|
75
|
+
The Worker injects `/<site>/__nook/client.js` just after the opening HTML body tag. If your code runs from the document head, wait for `DOMContentLoaded` (or otherwise run after the page has loaded) before using `window.nook`:
|
|
76
76
|
|
|
77
77
|
```js
|
|
78
78
|
window.addEventListener("DOMContentLoaded", async () => {
|
|
@@ -20,7 +20,9 @@ Deploy a finished static directory only. The directory must contain /index.html,
|
|
|
20
20
|
|
|
21
21
|
Sites are served at https://<nook-domain>/<site>/.
|
|
22
22
|
|
|
23
|
-
The Worker injects /<site>/__nook/client.js
|
|
23
|
+
The Worker injects /<site>/__nook/client.js just after the opening HTML body tag.
|
|
24
|
+
|
|
25
|
+
Code that runs from the document head should wait until DOMContentLoaded, or otherwise run after the page has loaded, before using window.nook:
|
|
24
26
|
|
|
25
27
|
\`\`\`js
|
|
26
28
|
window.addEventListener("DOMContentLoaded", async () => {
|
|
@@ -439,7 +441,7 @@ function injectNookClientScript(response, site) {
|
|
|
439
441
|
const scriptTag = nookClientScriptTag(site);
|
|
440
442
|
const injector = {
|
|
441
443
|
element(element) {
|
|
442
|
-
element.
|
|
444
|
+
element.prepend(scriptTag, { html: true });
|
|
443
445
|
delete injector.end;
|
|
444
446
|
},
|
|
445
447
|
end(end) {
|