@pollen-robotics/reachy-mini-sdk 1.12.0-dev.0.main.9aacaff → 1.12.0-dev.0.main.fca0550
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/lib/message-chunks.d.ts +22 -0
- package/dist/lib/message-chunks.d.ts.map +1 -0
- package/dist/lib/message-chunks.js +51 -0
- package/dist/lib/message-chunks.js.map +1 -0
- package/dist/lib/message-chunks.test.d.ts +2 -0
- package/dist/lib/message-chunks.test.d.ts.map +1 -0
- package/dist/lib/message-chunks.test.js +53 -0
- package/dist/lib/message-chunks.test.js.map +1 -0
- package/dist/lib/reachy-mini.d.ts.map +1 -1
- package/dist/lib/reachy-mini.js +9 -1
- package/dist/lib/reachy-mini.js.map +1 -1
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.js +1 -1
- package/host/dist/chunks/{centralRest-vcOOpQK6.js → centralRest-K3a9U_Sk.js} +104 -82
- package/host/dist/chunks/{index-BrKBhTE0.js → index-B79tSfbK.js} +1 -1
- package/host/dist/chunks/{mountHost-CMVKdpex.js → mountHost-CMP4uYnZ.js} +1 -1
- package/host/dist/entry/auto.js +2 -2
- package/host/dist/entry/embed.js +2 -2
- package/host/dist/index.js +3 -3
- package/package.json +1 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reassembly of daemon messages too large for one data channel frame.
|
|
3
|
+
*
|
|
4
|
+
* The data channel silently drops any message over 64 KiB, so the daemon
|
|
5
|
+
* splits larger ones into ordered `message_chunk` frames (see
|
|
6
|
+
* `split_for_data_channel` in `reachy_mini/media/webrtc_utils.py`). Each
|
|
7
|
+
* carries a slice of the original text in `data`; joined in order they are
|
|
8
|
+
* the message the daemon meant to send.
|
|
9
|
+
*
|
|
10
|
+
* One instance per control channel: the channel is ordered, and a new
|
|
11
|
+
* channel means a new session, so nothing survives across the two.
|
|
12
|
+
*/
|
|
13
|
+
export declare class MessageReassembler {
|
|
14
|
+
private readonly _partials;
|
|
15
|
+
/**
|
|
16
|
+
* Feed one parsed frame. Returns the message to handle: the frame itself
|
|
17
|
+
* when it is not a chunk, the reassembled message when this chunk
|
|
18
|
+
* completes one, or `null` while a message is still arriving.
|
|
19
|
+
*/
|
|
20
|
+
accept(frame: Record<string, unknown>): Record<string, unknown> | null;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=message-chunks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-chunks.d.ts","sourceRoot":"","sources":["../../lib/message-chunks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IAEzD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CA+BzE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reassembly of daemon messages too large for one data channel frame.
|
|
3
|
+
*
|
|
4
|
+
* The data channel silently drops any message over 64 KiB, so the daemon
|
|
5
|
+
* splits larger ones into ordered `message_chunk` frames (see
|
|
6
|
+
* `split_for_data_channel` in `reachy_mini/media/webrtc_utils.py`). Each
|
|
7
|
+
* carries a slice of the original text in `data`; joined in order they are
|
|
8
|
+
* the message the daemon meant to send.
|
|
9
|
+
*
|
|
10
|
+
* One instance per control channel: the channel is ordered, and a new
|
|
11
|
+
* channel means a new session, so nothing survives across the two.
|
|
12
|
+
*/
|
|
13
|
+
/** Upper bound on one reassembled message, against a runaway sender. */
|
|
14
|
+
const MAX_CHUNKS = 4096;
|
|
15
|
+
export class MessageReassembler {
|
|
16
|
+
_partials = new Map();
|
|
17
|
+
/**
|
|
18
|
+
* Feed one parsed frame. Returns the message to handle: the frame itself
|
|
19
|
+
* when it is not a chunk, the reassembled message when this chunk
|
|
20
|
+
* completes one, or `null` while a message is still arriving.
|
|
21
|
+
*/
|
|
22
|
+
accept(frame) {
|
|
23
|
+
if (frame.type !== 'message_chunk')
|
|
24
|
+
return frame;
|
|
25
|
+
const { id, index, count, data } = frame;
|
|
26
|
+
if (typeof id !== 'string' ||
|
|
27
|
+
typeof index !== 'number' ||
|
|
28
|
+
typeof count !== 'number' ||
|
|
29
|
+
typeof data !== 'string' ||
|
|
30
|
+
count < 1 ||
|
|
31
|
+
count > MAX_CHUNKS) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
let parts = this._partials.get(id);
|
|
35
|
+
if (index === 0) {
|
|
36
|
+
parts = [];
|
|
37
|
+
this._partials.set(id, parts);
|
|
38
|
+
}
|
|
39
|
+
// The channel is ordered, so a gap means the message is lost.
|
|
40
|
+
if (!parts || index !== parts.length) {
|
|
41
|
+
this._partials.delete(id);
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
parts.push(data);
|
|
45
|
+
if (parts.length < count)
|
|
46
|
+
return null;
|
|
47
|
+
this._partials.delete(id);
|
|
48
|
+
return JSON.parse(parts.join(''));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=message-chunks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-chunks.js","sourceRoot":"","sources":["../../lib/message-chunks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,wEAAwE;AACxE,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,OAAO,kBAAkB;IACV,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEzD;;;;OAIG;IACH,MAAM,CAAC,KAA8B;QACjC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,KAAK,CAAC;QACjD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACzC,IACI,OAAO,EAAE,KAAK,QAAQ;YACtB,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,IAAI,KAAK,QAAQ;YACxB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,UAAU,EACpB,CAAC;YACC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,8DAA8D;QAC9D,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK;YAAE,OAAO,IAAI,CAAC;QAEtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAA4B,CAAC;IACjE,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-chunks.test.d.ts","sourceRoot":"","sources":["../../lib/message-chunks.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MessageReassembler tests.
|
|
3
|
+
*
|
|
4
|
+
* The frames are the ones the daemon's `split_for_data_channel` produces:
|
|
5
|
+
* ordered `message_chunk` frames whose `data` slices join back into the
|
|
6
|
+
* original JSON text.
|
|
7
|
+
*/
|
|
8
|
+
import { describe, expect, it } from 'vitest';
|
|
9
|
+
import { MessageReassembler } from './message-chunks.js';
|
|
10
|
+
/** Split like the daemon does, into `size`-character slices. */
|
|
11
|
+
function chunk(message, id, size) {
|
|
12
|
+
const text = JSON.stringify(message);
|
|
13
|
+
const parts = [];
|
|
14
|
+
for (let i = 0; i < text.length; i += size)
|
|
15
|
+
parts.push(text.slice(i, i + size));
|
|
16
|
+
return parts.map((data, index) => ({ type: 'message_chunk', id, index, count: parts.length, data }));
|
|
17
|
+
}
|
|
18
|
+
describe('MessageReassembler', () => {
|
|
19
|
+
it('passes a frame that is not a chunk straight through', () => {
|
|
20
|
+
const frame = { jsonrpc: '2.0', id: 1, result: 'ok' };
|
|
21
|
+
expect(new MessageReassembler().accept(frame)).toBe(frame);
|
|
22
|
+
});
|
|
23
|
+
it('returns the message once its last chunk lands', () => {
|
|
24
|
+
const reply = { jsonrpc: '2.0', id: 'sorry_bro', result: { svg: '<svg/>'.repeat(5000) } };
|
|
25
|
+
const frames = chunk(reply, 'a', 4096);
|
|
26
|
+
const reassembler = new MessageReassembler();
|
|
27
|
+
const results = frames.map((f) => reassembler.accept(f));
|
|
28
|
+
expect(results.slice(0, -1).every((r) => r === null)).toBe(true);
|
|
29
|
+
expect(results.at(-1)).toEqual(reply);
|
|
30
|
+
});
|
|
31
|
+
it('keeps two messages apart when their chunks interleave', () => {
|
|
32
|
+
const first = { jsonrpc: '2.0', id: 1, result: 'a'.repeat(9000) };
|
|
33
|
+
const second = { jsonrpc: '2.0', id: 2, result: 'b'.repeat(9000) };
|
|
34
|
+
const [a, b] = [chunk(first, 'one', 4096), chunk(second, 'two', 4096)];
|
|
35
|
+
const reassembler = new MessageReassembler();
|
|
36
|
+
const done = [0, 1, 2]
|
|
37
|
+
.flatMap((i) => [a[i], b[i]])
|
|
38
|
+
.map((f) => reassembler.accept(f))
|
|
39
|
+
.filter((r) => r !== null);
|
|
40
|
+
expect(done).toEqual([first, second]);
|
|
41
|
+
});
|
|
42
|
+
it('drops a message with a missing chunk instead of corrupting it', () => {
|
|
43
|
+
const frames = chunk({ jsonrpc: '2.0', id: 1, result: 'x'.repeat(9000) }, 'a', 4096);
|
|
44
|
+
const reassembler = new MessageReassembler();
|
|
45
|
+
expect(reassembler.accept(frames[0])).toBeNull();
|
|
46
|
+
expect(reassembler.accept(frames[2])).toBeNull();
|
|
47
|
+
// The next message still reassembles.
|
|
48
|
+
const next = { jsonrpc: '2.0', id: 2, result: 'ok' };
|
|
49
|
+
const again = chunk(next, 'b', 8);
|
|
50
|
+
expect(again.map((f) => reassembler.accept(f)).at(-1)).toEqual(next);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=message-chunks.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-chunks.test.js","sourceRoot":"","sources":["../../lib/message-chunks.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reachy-mini.d.ts","sourceRoot":"","sources":["../../lib/reachy-mini.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"reachy-mini.d.ts","sourceRoot":"","sources":["../../lib/reachy-mini.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/reachy-mini.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { oauthHandleRedirectIfPresent, oauthLoginUrl, } from '@huggingface/hub';
|
|
7
7
|
import { createLogger } from './logger.js';
|
|
8
8
|
import { degToRad, rpyToMatrix } from './math.js';
|
|
9
|
+
import { MessageReassembler } from './message-chunks.js';
|
|
9
10
|
import { BroadcastTimeoutError, PendingReplies, SLOT_ROUNDTRIP_TIMEOUT_MS } from './pending-replies.js';
|
|
10
11
|
import { SessionSupervisor } from './session-supervisor.js';
|
|
11
12
|
import { SDK_VERSION } from './version.js';
|
|
@@ -626,7 +627,14 @@ export class ReachyMini extends EventTarget {
|
|
|
626
627
|
this._dcOpen = true;
|
|
627
628
|
this._checkSessionReady();
|
|
628
629
|
};
|
|
629
|
-
|
|
630
|
+
// Replies over 64 KiB arrive as ordered chunks; one
|
|
631
|
+
// reassembler per channel, so nothing leaks across sessions.
|
|
632
|
+
const reassembler = new MessageReassembler();
|
|
633
|
+
this._dc.onmessage = (ev) => {
|
|
634
|
+
const msg = reassembler.accept(JSON.parse(ev.data));
|
|
635
|
+
if (msg)
|
|
636
|
+
this._handleRobotMessage(msg);
|
|
637
|
+
};
|
|
630
638
|
};
|
|
631
639
|
this._sendToServer({ type: 'startSession', peerId: robotId }).then((r) => {
|
|
632
640
|
if (r?.type === 'sessionRejected') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reachy-mini.js","sourceRoot":"","sources":["../../lib/reachy-mini.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,4BAA4B,EAC5B,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAExG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,EAC7B,mBAAmB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,iBAAiB,EACjB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,GACtB,MAAM,qBAAqB,CAAC;AA4B7B,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAkChC,gFAAgF;AAChF,sEAAsE;AACtE,wDAAwD;AAExD;;;;;;;;;;;;;GAaG;AACH,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAEvC,MAAM,OAAO,UAAW,SAAQ,WAAW;IAEvC,wEAAwE;IACvD,aAAa,CAAS;IACtB,SAAS,CAAgB;IACzB,QAAQ,CAAS;IACjB,0BAA0B,CAAS;IAC5C,iBAAiB,CAAU;IAC3B,mBAAmB,CAAU;IAErC,wEAAwE;IAChE,MAAM,GAA+C,cAAc,CAAC;IACpE,OAAO,GAAgB,EAAE,CAAC;IAC1B,WAAW,GAAe,EAAE,CAAC;IACrC,yEAAyE;IACzE,yEAAyE;IACzE,kDAAkD;IAC1C,YAAY,GAAkB,IAAI,CAAC;IAC3C,yEAAyE;IACzE,wEAAwE;IAChE,gBAAgB,GAAG,CAAC,CAAC;IAC7B,uEAAuE;IACvE,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,yBAAyB;IACjB,YAAY,GAAG,CAAC,CAAC;IACR,mBAAmB,CAAgB;IAEpD,wEAAwE;IAChE,MAAM,GAAkB,IAAI,CAAC;IAC7B,SAAS,GAAkB,IAAI,CAAC;IAChC,aAAa,GAAyB,IAAI,CAAC;IAEnD,wEAAwE;IAChE,mBAAmB,GAA2B,IAAI,CAAC;IAE3D,wEAAwE;IACxE,GAAG,GAA6B,IAAI,CAAC;IAC7B,GAAG,GAA0B,IAAI,CAAC;IAClC,UAAU,GAAkB,IAAI,CAAC;IACjC,gBAAgB,GAAkB,IAAI,CAAC;IACvC,iBAAiB,GAA2C,EAAE,CAAC;IAEvE,wEAAwE;IACxE,UAAU,GAAuB,IAAI,CAAC;IAC9B,SAAS,GAAG,IAAI,CAAC;IACjB,WAAW,GAAG,IAAI,CAAC;IACnB,aAAa,GAAG,KAAK,CAAC;IAE9B,wEAAwE;IAChE,iBAAiB,GAA0C,IAAI,CAAC;IAChE,qBAAqB,GAA0C,IAAI,CAAC;IAE5E,wEAAwE;IACxE,+DAA+D;IAC/D,+DAA+D;IAC9C,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IAEjD,wEAAwE;IACvD,eAAe,GAAuB,IAAI,GAAG,EAAE,CAAC;IAChD,0BAA0B,GAAgC,IAAI,GAAG,EAAE,CAAC;IAErF,wEAAwE;IACxE,6DAA6D;IAC7D,6CAA6C;IAC5B,aAAa,GAAG,IAAI,GAAG,EAA0D,CAAC;IAEnG,wEAAwE;IAChE,mBAAmB,GAAkB,IAAI,CAAC;IAC1C,oBAAoB,GAAkB,IAAI,CAAC;IAEnD,wEAAwE;IAChE,eAAe,GAAwB,IAAI,CAAC;IAC5C,cAAc,GAAkC,IAAI,CAAC;IACrD,aAAa,GAAG,KAAK,CAAC;IACtB,OAAO,GAAG,KAAK,CAAC;IAExB,wEAAwE;IACxE,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,+DAA+D;IAC9C,WAAW,CAAoB;IAEhD,wEAAwE;IAChE,aAAa,GAA4B,IAAI,CAAC;IAEtD,YAAY,UAA6B,EAAE;QACvC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,sDAAsD,CAAC;QACpG,oEAAoE;QACpE,qEAAqE;QACrE,qEAAqE;QACrE,iDAAiD;QACjD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;QAC7C,IAAI,CAAC,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,6BAA6B,EAAE,CAAC;QAC3D,kEAAkE;QAClE,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC;YACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,IAAI,IAAI;YACpD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;YACvB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW;YAC9C,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC;YACjE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,cAAc;YACrD,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB;YAC5C,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC1B,IAAI,CAAC,IAAI,CAAC,cAAc;oBAAE,OAAO,KAAK,CAAC;gBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,CAAC;gBACZ,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;YACxC,qDAAqD;YACrD,4DAA4D;YAC5D,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;YACtD,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAClD,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;SACnD,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,wEAAwE;IAExE,IAAI,KAAK,KAAiD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,IAAI,MAAM,KAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,IAAI,UAAU,KAAiB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,IAAI,QAAQ,KAAoB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,IAAI,eAAe,KAAc,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,IAAI,YAAY,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,IAAI,UAAU,KAAc,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,IAAI,kBAAkB,KAAoB,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC5E,IAAI,UAAU,KAAc,OAAO,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC;IACvE;;;;;OAKG;IACH,IAAI,cAAc,KAA+B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnE;;;;;;OAMG;IACH,IAAI,UAAU,KAAa,OAAO,WAAW,CAAC,CAAC,CAAC;IAEhD;0CACsC;IACtC,MAAM,KAAK,OAAO,KAAa,OAAO,WAAW,CAAC,CAAC,CAAC;IAEpD;;;;;OAKG;IACH,eAAe;QACX,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACpC,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACrC,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACxC,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO;YACxC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,wEAAwE;IAExE,KAAK,CAAC,YAAY;QACd,IAAI,CAAC;YACD,0BAA0B,EAAE,CAAC;YAE7B,iEAAiE;YACjE,6DAA6D;YAC7D,+DAA+D;YAC/D,gEAAgE;YAChE,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;YAC9C,IAAI,WAAW,EAAE,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,4BAA4B,EAAE,CAAuC,CAAC;YAC5F,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;gBACpF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;gBACjC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,oBAAoB,CAAC;gBACjD,gBAAgB,CAAC;oBACb,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;oBAC9B,OAAO,EACH,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;wBAClC,CAAC,CAAC,IAAI,CAAC,aAAa;wBACpB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;iBAC7C,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,+DAA+D;YAC/D,yDAAyD;YACzD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;YACjC,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACjC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;gBACpC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAsB;QAC9B,MAAM,IAAI,GAA0B,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QACnD,IAAI,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QACpC,mEAAmE;QACnE,6DAA6D;QAC7D,oEAAoE;QACpE,iEAAiE;QACjE,2CAA2C;QAC3C,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED,MAAM;QACF,gBAAgB,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,wEAAwE;IAExE,KAAK,CAAC,OAAO,CAAC,KAAc;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzE,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1F,IAAI,CAAC,mBAAmB,GAAG,IAAI,eAAe,EAAE,CAAC;QAEjD,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,KAAK,CACb,GAAG,IAAI,CAAC,aAAa,SAAS,EAC9B;gBACI,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM;gBACvC,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;aACxD,CACJ,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,MAAM,CAAC,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAK,CAAC,SAAS,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;gBACvC,IAAI,CAAC;oBACD,OAAO,IAAI,EAAE,CAAC;wBACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC5C,IAAI,IAAI;4BAAE,MAAM;wBAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;wBAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gCAAE,SAAS;4BACxC,IAAI,CAAC;gCACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAqB,CAAC;gCACjE,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oCACpD,QAAQ,GAAG,IAAI,CAAC;oCAChB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;oCAC1B,MAAM,IAAI,CAAC,aAAa,CAAC;wCACrB,IAAI,EAAE,eAAe;wCACrB,KAAK,EAAE,CAAC,UAAU,CAAC;wCACnB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;qCAChC,CAAC,CAAC;oCACH,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oCAChD,OAAO,EAAE,CAAC;gCACd,CAAC;gCACD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;4BACtC,CAAC;4BAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;wBAC3C,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAK,CAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACrC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAU,EAAE,CAAC,CAAC;oBACpE,CAAC;oBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAAC,MAAM,CAAC,CAAU,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;gBAClD,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;oBACjC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;oBAC7B,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,CAAC,QAAQ;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC;YAEF,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAA8B,EAAE;QAC9C,MAAM,EACF,KAAK,EACL,SAAS,EACT,gBAAgB,GAAG,IAAI,EACvB,UAAU,GAAG,IAAI,EACjB,aAAa,GAAG,IAAI,GACvB,GAAG,OAAO,CAAC;QAEZ,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACtE,OAAO;gBACH,OAAO,EAAE,IAAI,CAAC,gBAAiB;gBAC/B,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI;gBAClC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,gBAAgB,EAAE,IAAI;aACzB,CAAC;QACN,CAAC;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACxB,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;YAED,IAAI,OAAe,CAAC;YACpB,IAAI,SAAS,GAAkB,IAAI,CAAC;YACpC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC,mBAAoB,CAAC;gBACpC,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAClD,CAAC;gBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;gBAC1D,SAAS,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;oBAC9D,OAAO,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;oBACxB,SAAS,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;gBAChC,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACnB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;oBACvC,IAAI,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;oBAC1D,OAAO,GAAG,MAAM,CAAC;oBACjB,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;gBAClE,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CACX,wEAAwE,CAC3E,CAAC;gBACN,CAAC;YACL,CAAC;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAEjC,IAAI,aAAa,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAAC,CAAC;gBACjC,OAAO,CAAC,EAAE,CAAC;oBAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;gBAAC,CAAC;YAClE,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/D,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC;QACnD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC3B,EAAE,UAAU,GAAG,IAAI,KAA+B,EAAE;QAEpD,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,mBAAmB,EAAE;gBAC9D,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;aACxD,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAS1B,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkC,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;gBAClC,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI;oBAAE,SAAS;gBACnC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC;gBAClE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;oBACV,EAAE,EAAE,CAAC,CAAC,MAAM;oBACZ,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI;oBACzC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBACd,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;oBAC9B,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAA4B;oBAC/C,kBAAkB,EAAE,CAAC,CAAC,qBAAqB,IAAI,IAAI;iBACtD,CAAC,CAAC;YACP,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,IAAI,QAAQ,CAAC,CACpF,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI;gBAC1B,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAA4B;gBAC/C,kBAAkB,EAAE,IAAI;aAC3B,CAAC,CAAC,CAAC;QACR,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,OAAe,EAAE,SAAiB;QAC1D,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1E,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,GAAS,EAAE;gBACxB,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;oBACpD,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACpD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,OAAO,UAAU,CAAC,CAAC,CAAC;YACtE,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe;QAC9B,yDAAyD;QACzD,2DAA2D;QAC3D,8DAA8D;QAC9D,uCAAuC;QACvC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,OAAe;QAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B,8DAA8D;QAC9D,kEAAkE;QAClE,gEAAgE;QAChE,gEAAgE;QAChE,gEAAgE;QAChE,+DAA+D;QAC/D,4DAA4D;QAC5D,gEAAgE;QAChE,8CAA8C;QAC9C,IAAI,CAAC;YACD,wDAAwD;YACxD,2DAA2D;YAC3D,0DAA0D;YAC1D,oBAAoB;YACpB,MAAM,CAAC,GAAG,MAGT,CAAC;YACF,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,kBAAkB,CAAC;YACnD,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,4BAA4B,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACpB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,iBAAiB,CAAC;YAC7B,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAA0B;SAClF,CAAC,CAAC;QAEH,6DAA6D;QAC7D,oDAAoD;QACpD,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;QAE3C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAE7B,IAAI,CAAC,GAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;gBACtB,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC;oBAC3C,IAAI,CAAC;wBACA,CAAC,CAAC,QAA6D;6BAC3D,kBAAkB,GAAG,EAAE,CAAC;oBACjC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBACxB,IAAI,CAAC;wBACA,CAAC,CAAC,QAA2D;6BACzD,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;oBACtC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBACxB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;gBACxE,CAAC;YACL,CAAC,CAAC;YAEF,IAAI,CAAC,GAAI,CAAC,cAAc,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,aAAa,CAAC;wBACrB,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,IAAI,CAAC,UAAU;wBAC1B,GAAG,EAAE;4BACD,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS;4BAChC,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,aAAa;4BACxC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;yBAC7B;qBACJ,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC;YAEF,IAAI,CAAC,GAAI,CAAC,0BAA0B,GAAG,GAAG,EAAE;gBACxC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC;gBACvC,IAAI,CAAC,CAAC;oBAAE,OAAO;gBACf,yDAAyD;gBACzD,0DAA0D;gBAC1D,uDAAuD;gBACvD,+CAA+C;gBAC/C,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAE3C,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;oBACzC,0DAA0D;oBAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;oBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;oBACvB,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;oBACrC,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;oBAC/B,OAAO;gBACX,CAAC;YACL,CAAC,CAAC;YAEF,IAAI,CAAC,GAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE;gBAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC;gBACrB,iDAAiD;gBACjD,6DAA6D;gBAC7D,8CAA8C;gBAC9C,2DAA2D;gBAC3D,2DAA2D;gBAC3D,0DAA0D;gBAC1D,uDAAuD;gBACvD,yDAAyD;gBACzD,iCAAiC;gBACjC,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBACtB,qDAAqD;oBACrD,yDAAyD;oBACzD,gDAAgD;oBAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE;wBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBAChC,mDAAmD;wBACnD,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;4BAC9B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY;gCAAE,OAAO;4BACvE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC;wBAChC,CAAC;wBACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACnC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACxC,CAAC,CAAC;oBACF,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;oBACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,CAAC,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrE,IAAI,CAAC,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAChC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;oBAC7B,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,EAAE,SAAS;oBAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC;YACpD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;OAUG;IACK,eAAe,CAAC,SAAgB;QACpC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,MAAM,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,6DAA6D;QAC7D,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAAC,CAAC;QACjH,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAAC,CAAC;QACrG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAAC,CAAC;QACtG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAAC,CAAC;QACpD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,oBAAoB,CAAC,GAAqB;QAC9C,MAAM,GAAG,GAAG,IAAI,KAAK,CACjB,GAAG,CAAC,MAAM,KAAK,YAAY;YACvB,CAAC,CAAC,mBAAmB,GAAG,CAAC,SAAS,IAAI,aAAa,wBAAwB;YAC3E,CAAC,CAAC,qBAAqB,GAAG,CAAC,MAAM,IAAI,gBAAgB,EAAE,CACxC,CAAC;QACxB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC;QAChC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC;QAEtC,4DAA4D;QAC5D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAE1B,gEAAgE;QAChE,kEAAkE;QAClE,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACb,+DAA+D;QAC/D,yDAAyD;QACzD,6DAA6D;QAC7D,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACrE,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;QACjD,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IAED,UAAU;QACN,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAAC,CAAC;QACpG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAClE,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,wEAAwE;IACxE,kEAAkE;IAClE,mEAAmE;IACnE,iBAAiB;IAEjB;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,OAAgB;QAC7B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;OAUG;IACK,kBAAkB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC1E,+DAA+D;QAC/D,kEAAkE;QAClE,4DAA4D;QAC5D,uCAAuC;QACvC,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;YAAE,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;IAC/D,CAAC;IAED,wEAAwE;IAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,SAAS,CACL,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,KAAkE,EAAE;QAE9F,MAAM,GAAG,GAA4B,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QACjE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;mBACvC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,SAAS,CACf,iEAAiE;sBAC/D,0BAA0B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAC5F,CAAC;YACN,CAAC;YACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;mBAC9C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,SAAS,CACf,sEAAsE;sBACpE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,QAAQ,EAAE,CACrF,CAAC;YACN,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,SAAS,CACf,8DAA8D,QAAQ,EAAE,CAC3E,CAAC;YACN,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CACN,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAC6C;QAEjF,MAAM,GAAG,GAA4B,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;mBACvC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,SAAS,CACf,kEAAkE;sBAChE,0BAA0B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAC5F,CAAC;YACN,CAAC;YACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;mBAC9C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,SAAS,CACf,uEAAuE;sBACrE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,QAAQ,EAAE,CACrF,CAAC;YACN,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,SAAS,CACf,+DAA+D,QAAQ,EAAE,CAC5E,CAAC;YACN,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CACf,wEAAwE,QAAQ,EAAE,CACrF,CAAC;QACN,CAAC;QACD,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,QAAgB,EAAE,MAAc;QAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,cAAc,CAAC,QAAgB,EAAE,OAAe;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,aAAa,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB,CACZ,QAAgB,EAChB,EACI,OAAO,EACP,mBAAmB,MACiC,EAAE;QAE1D,OAAO,IAAI,CAAC,YAAY,CAAC;YACrB,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,QAAQ;YACnB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,mBAAmB,IAAI,mBAAmB,GAAG,CAAC;gBAC9C,CAAC,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACZ,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,cAAc,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;;OASG;IACH,qBAAqB,CACjB,OAAe,EACf,EAAE,SAAS,GAAG,MAAM,KAA6B,EAAE;QAEnD,sEAAsE;QACtE,qEAAqE;QACrE,eAAe;QACf,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ;aACf,cAAc,CACX,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,iBAAiB,IAAI,CAAC,CAAC,YAAY,KAAK,OAAO,EACpE,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,OAAO,GAAG,EAAE,CAC3D;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;aAC9B,KAAK,CAAC,CAAC,GAAY,EAAQ,EAAE;YAC1B,IAAI,GAAG,YAAY,qBAAqB;gBAAE,OAAO,IAAI,CAAC;YACtD,MAAM,GAAG,CAAC;QACd,CAAC,CAAC,CAAC;IACX,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,iBAAiB,CAAC,MAAM,GAAG,GAAG;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,0DAA0D,MAAM,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,YAAY,CAAC;YACrB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,aAAa;SACxB,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CACb,EAAE,UAAU,GAAG,KAAK,EAAE,UAAU,KAA+B,EAAE;QAEjE,IAAI,UAAU;YAAE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,YAAY,CAAC,IAAqD;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,cAAc,CAAC,EAAW,EAAE,MAAuB,IAAI;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,KAAyB,EAAE;QAChD,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,KAAyB,EAAE;QACnD,OAAO,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAEO,2BAA2B,CAC/B,OAAsB,EACtB,SAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YACxC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,OAAO,yBAAyB,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;QAC1C,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,sBAAsB,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI;QAC9B,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChC,MAAM,IAAI,GAAG,GAAS,EAAE;oBACpB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACxC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC;gBACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,qEAAqE;QACrE,mEAAmE;QACnE,sEAAsE;QACtE,+DAA+D;QAC/D,mEAAmE;QACnE,qEAAqE;QACrE,sEAAsE;QACtE,oBAAoB;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,KAAK,sBAAsB,EAAE,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YACxF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7B,iEAAiE;YACjE,qCAAqC;YACrC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,qEAAqE;QACrE,kEAAkE;QAClE,mEAAmE;QACnE,qEAAqE;QACrE,sEAAsE;QACtE,GAAG,CAAC,IAAI,CAAC,yCAAyC,IAAI,CAAC,WAAW,EAAE,UAAU,IAAI,SAAS,oBAAoB,CAAC,CAAC;QACjH,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,2CAA2C,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,IAAI,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,kDAAkD;YAClD,GAAG,CAAC,IAAI,CAAC,4CAA4C,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,mBAAmB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,mBAAmB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED;;;;;;OAMG;IACH,cAAc;QACV,qEAAqE;QACrE,kEAAkE;QAClE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,WAAoB;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED;;;;OAIG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,gBAAgB,CACZ,MAA0B,EAC1B,EAAE,MAAM,GAAG,IAAI,KAA8B,EAAE;QAE/C,OAAO,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;aAC3F,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAClB,IAAO,EACP,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC9C,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,CAAC,IAAa;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CACH,OAAmD,EACnD,EAAE,SAAS,GAAG,yBAAyB,EAAE,KAAK,KAAqB,EAAE;QAErE,gEAAgE;QAChE,iEAAiE;QACjE,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,SAAS,GAAG,KAAK;eAChB,CAAC,CAAC,CAA0B,EAAW,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,QAAQ;aACf,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;aAChF,KAAK,CAAC,CAAC,GAAY,EAAQ,EAAE;YAC1B,4DAA4D;YAC5D,uDAAuD;YACvD,wBAAwB;YACxB,IAAI,GAAG,YAAY,qBAAqB;gBAAE,OAAO,IAAI,CAAC;YACtD,MAAM,GAAG,CAAC;QACd,CAAC,CAAC,CAAC;IACX,CAAC;IAED,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAwB;QACnD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,GAAG,GAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,QAAQ;YAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAE5D,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,EAAE;YACR,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACpD,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,aAAa;QACT,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,8EAA8E;IAC9E,eAAe;QACX,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,mCAAmC;QAC3E,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,wEAAwE;IAExE,aAAa,CAAC,KAAc;QACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;IAC7D,CAAC;IAED,WAAW,CAAC,KAAc;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IAED,wEAAwE;IAExE,WAAW,CAAC,YAA8B;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAEtC,MAAM,YAAY,GAAG,CAAC,CAAQ,EAAQ,EAAE;YACpC,MAAM,EAAE,GAAG,CAAkE,CAAC;YAC9E,YAAY,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1C,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;YAChC,IAAI,2BAA2B,IAAI,YAAY,EAAE,CAAC;gBAC9C,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAS,EAAE,GAAG,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAE1D,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAAC,CAAC;YACrG,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC;IACN,CAAC;IAED,wEAAwE;IAExE,KAAK,CAAC,QAAQ,CACV,MAAgB,EAChB,EACI,SAAS,GAAG,IAAI,EAChB,WAAW,GAAG,CAAC,GAAG,EAClB,WAAW,GAAG,MAAM,EACpB,QAAQ,GAAG,aAAa,EACxB,aAAa,GAAG,GAAG,EACnB,mBAAmB,GAAG,CAAC,EACvB,cAAc,GAAG,IAAI,EACrB,UAAU,GAAG,GAAG,EAAE,GAAe,CAAC,EAClC,SAAS,GAAG,GAAG,EAAE,GAAe,CAAC,MAChB,EAAE;QAEvB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QAEpC,MAAM,QAAQ,GAAG;YACb,WAAW;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,eAAe,EAAE,MAAM,CAAC,eAAe;SAC1C,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,OAAe,CAAC;QACpB,IAAI,iBAAyC,CAAC;QAC9C,IAAI,QAAQ,KAAK,aAAa,IAAI,oBAAoB,EAAE,EAAE,CAAC;YACvD,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,iBAAiB,GAAG,aAAa,CAAC;QACtC,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,OAAO,CAAC;YAClB,iBAAiB,GAAG,MAAM,CAAC;QAC/B,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEvE,UAAU,CAAC;YACP,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,QAAQ,EAAE,iBAAiB;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,mBAAmB;YACzB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,WAAW;YACzB,WAAW;YACX,QAAQ,EAAE,iBAAiB;SAC9B,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,0BAA0B,EAAE,CAAC;gBACvD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,GAAG,iBAAiB,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC;gBACd,IAAI,EAAE,mBAAmB;gBACzB,SAAS,EAAE,QAAQ;gBACnB,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAAC;aACzD,CAAC,CAAC;YACH,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAEzE,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvE,UAAU,CAAC;gBACP,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,QAAQ,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC;gBACd,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,UAAU;gBACxB,QAAQ,EAAE,mBAAmB,CAAC,SAAS,CAAC;gBACxC,WAAW;aACd,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,0BAA0B,EAAE,CAAC;oBACvD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACxC,CAAC;gBACD,MAAM,KAAK,GAAG,CAAC,GAAG,iBAAiB,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC;oBACd,IAAI,EAAE,oBAAoB;oBAC1B,SAAS,EAAE,QAAQ;oBACnB,WAAW,EAAE,CAAC;oBACd,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAAC;iBAC1D,CAAC,CAAC;gBACH,UAAU,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxE,UAAU,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,QAAQ;YACnB,cAAc,EAAE,aAAa;YAC7B,qBAAqB,EAAE,mBAAmB;YAC1C,aAAa,EAAE,WAAW;SAC7B,CAAC,CAAC;QACH,IAAI,UAAmC,CAAC;QACxC,IAAI,CAAC;YACD,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACrC,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,EAAE,IAAI,KAAK,oBAAoB;mBAC7B,CAAC,EAAE,SAAS,KAAK,QAAQ;mBACzB,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,EAC1D,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,4BAA4B,EAAE,CAC1E,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACX,+CAA+C;kBAC7C,0EAA0E;kBAC1E,eAAgB,CAAW,CAAC,OAAO,EAAE,CAC1C,CAAC;QACN,CAAC;QACD,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC;YACD,SAAS,CAAC;gBACN,UAAU,EAAE,UAAU,CAAC,UAAoB;gBAC3C,SAAS,EAAE,UAAU,CAAC,SAAS,KAAK,IAAI;aAC3C,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,UAAoB,EAAE,CAAC,CAAC;QAE9E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,EAAE,IAAI,KAAK,oBAAoB;eAC7B,CAAC,EAAE,SAAS,KAAK,QAAQ;eACzB,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI;mBAChB,CAAC,CAAC,SAAS,KAAK,IAAI;mBACpB,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,EACvC;YACI,SAAS,EAAE,CAAE,UAAU,CAAC,UAAqB,GAAG,EAAE,CAAC,GAAG,IAAI;YAC1D,UAAU,EAAE,0BAA0B;SACzC,CACJ,CAAC;QACF,IAAI,IAAI,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,OAAO,KAAuB,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,WAA0B,IAAI;QACrC,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC;QAChD,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,WAAW,CACb,SAAe,EACf,EAAE,WAAW,GAAG,OAAO,EAAE,UAAU,GAAG,GAAG,EAAE,GAAe,CAAC,KAAyB,EAAE;QAEtF,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClE,UAAU,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,mBAAmB,CAAC,SAAS,CAAC;YACxC,WAAW;SACd,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,0BAA0B,EAAE,CAAC;gBACvD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,GAAG,iBAAiB,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC;gBACd,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,QAAQ;gBACnB,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAAC;aAC1D,CAAC,CAAC;YACH,UAAU,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,UAAU,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACnB,QAAgB,EAChB,EAAE,SAAS,GAAG,IAAI,KAA+B,EAAE;QAEnD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CACjC,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,EAAE,IAAI,KAAK,qBAAqB;eAC9B,CAAC,EAAE,SAAS,KAAK,QAAQ;eACzB,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,EAC1D,EAAE,SAAS,EAAE,UAAU,EAAE,6BAA6B,EAAE,CAC3D,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC;QACzB,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;QACrC,OAAO,GAAwB,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,WAA0B,IAAI;QACtC,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,oBAAoB,CAAC;QACjD,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,IAAI,IAAI,CAAC,oBAAoB,KAAK,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,wEAAwE;IAEhE,KAAK,CACT,IAAO,EACP,MAAuC;QAEvC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEO,iBAAiB,CACrB,SAAkD,EAClD,OAAoD,EAAE;QAEtD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAChC,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,yBAAyB,EAAE,CAAC;YACrE,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CACvB,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrE,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,OAAO,EAAE;gBAClD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;iBAC3C;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACV,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC;oBAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBACvD,GAAG,CAAC,IAAI,CACJ,mBAAmB,GAAG,CAAC,MAAM,cAAe,OAA6B,EAAE,IAAI,UAAU,IAAI,IAAI,SAAS,EAAE,CAC/G,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,MAAM,GAAG,CAAC,IAAI,EAAsB,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,GAAY;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACH,MAAc,EACd,SAAkC,EAAE,EACpC,OAA+B,EAAE;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CACxD,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAC9C,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,cAAc,CACV,MAAc,EACd,EAA6C;QAE7C,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;IACN,CAAC;IAEO,iBAAiB,CAAC,IAA6B;QACnD,+CAA+C;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAAE,OAAO;QAClD,+DAA+D;QAC/D,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,MAAM,GAAI,IAAI,CAAC,MAA8C,IAAI,EAAE,CAAC;YAC1E,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzD,IAAI,CAAC;oBACD,EAAE,CAAC,MAAM,CAAC,CAAC;gBACf,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC1D,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAEO,kBAAkB;QACtB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7D,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,mEAAmE;YACnE,8DAA8D;YAC9D,gEAAgE;YAChE,kEAAkE;YAClE,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;gBAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACzE,iEAAiE;YACjE,8DAA8D;YAC9D,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC1C,2DAA2D;gBAC3D,wBAAwB;gBACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,GAAG,oBAAoB;oBAAE,OAAO;gBACtE,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAW,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAiB,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,GAAqB;QACvD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,SAAS;gBACV,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM;YACV,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxD,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;oBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC9B,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtD,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC3B,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,gBAAgB;gBACjB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC;gBACxC,MAAM;YACV,KAAK,iBAAiB;gBAClB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM;YACV,KAAK,YAAY;gBACb,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM;QACd,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,GAAqB;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,KAAK,sBAAsB;YAC9C,CAAC,CAAC,8CAA8C;YAChD,CAAC,CAAC,MAAM,KAAK,mBAAmB;gBAC5B,CAAC,CAAC,uDAAuD;gBACzD,CAAC,CAAC,MAAM,KAAK,kBAAkB;oBAC3B,CAAC,CAAC,kDAAkD;oBACpD,CAAC,CAAC,IAAI,CAAC;QAEnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,KAAK,CACjB,QAAQ,IAAI,wCAAwC,MAAM,IAAI,gBAAgB,EAAE,CAC7D,CAAC;YACxB,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC;YAC5B,8DAA8D;YAC9D,wDAAwD;YACxD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,mDAAmD;YACnD,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YAAC,CAAC;YACpD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAAC,CAAC;YACtG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,CAAC;YACZ,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBACzB,MAAM,EAAE,MAAM,IAAI,YAAY;gBAC9B,OAAO,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAiB,CAAC,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,GAAqB;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;QACtB,IAAI,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;gBACpB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACvB,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACjD,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;oBACjC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;oBAEvD,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;4BACnD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC9C,CAAC;oBACL,CAAC;oBAED,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;oBAC7C,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAM,IAAI,CAAC,aAAa,CAAC;wBACrB,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,IAAI,CAAC,UAAU;wBAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;qBAC3C,CAAC,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACvC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC5B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;oBAC5B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;wBACxB,IAAI,CAAC;4BACD,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACX,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;wBACtD,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,wDAAwD;gBACxD,uDAAuD;gBACvD,kDAAkD;gBAClD,uDAAuD;gBACvD,mDAAmD;gBACnD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS;oBAAE,OAAO;gBAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,iBAAiB;wBAAE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;oBACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAU,EAAE,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,IAA6B,EAAE,cAAc,GAAG,KAAK;QAC7E,8DAA8D;QAC9D,+DAA+D;QAC/D,iCAAiC;QACjC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAClC,oEAAoE;QACpE,oEAAoE;QACpE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,iEAAiE;QACjE,iEAAiE;QACjE,sDAAsD;QACtD,IAAI,SAAS,IAAI,IAAI;eACd,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAG,IAAI,CAAC,OAAyB,IAAI,IAAI,CAAC,EAAE,CAAC;YACvF,OAAO;QACX,CAAC;QACD,IAAI,aAAa,IAAI,IAAI;eAClB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAG,IAAI,CAAC,WAA6B,IAAI,IAAI,CAAC,EAAE,CAAC;YAC/F,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,MAAiB,CAAC,CAAC;YAClG,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,uBAAuB,IAAI,IAAI,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;YACvF,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,MAAiB,CAAC,CAAC;YACtG,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,mBAAmB,IAAI,IAAI,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;YAC/E,IAAI,CAAC,QAAQ,CAAC,eAAe,CACzB,eAAe,EACf,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CACvD,CAAC;YACF,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,eAAe,CACzB,YAAY,EACZ,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAsB,IAAI,IAAI,CAAC,CAC1E,CAAC;YACF,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;YAC1E,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzF,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,eAAe,CACzB,sBAAsB,EACtB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,MAA+B,IAAI,IAAI,CAAC,CACtE,CAAC;YACF,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAG,IAAI,CAAC,WAAsC,IAAI,IAAI,CAAC,CAAC;YACpG,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAG,IAAI,CAAC,GAAkC,IAAI,IAAI,CAAC,CAAC;YACvF,OAAO;QACX,CAAC;QACD,IACI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC;eAC1D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAwB,EAAE,IAAI,CAAC,EACpE,CAAC;YACC,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACD,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAc,EAAE,CAAC,CAAC;gBACnF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACpC,IAAI,CAAC;wBAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;oBAAC,CAAC;oBAC1C,OAAO,CAAC,EAAE,CAAC;wBAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC;gBAC/D,CAAC;YACL,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YAClC,+DAA+D;YAC/D,iEAAiE;YACjE,kEAAkE;YAClE,+CAA+C;YAC/C,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAwB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3E,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAC/C,IAAI,CAAC;wBAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAAC,CAAC;oBAClB,OAAO,CAAC,EAAE,CAAC;wBAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC;gBACtE,CAAC;YACL,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAClC,MAAM,KAAK,GAAwB;gBAC/B,MAAM,EAAE,IAAI,CAAC,MAAuC;gBACpD,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC3D,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACjE,CAAC;YACF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAClB,OAAO,CAAC,EAAE,CAAC;oBAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;gBAAC,CAAC;YACtE,CAAC;YACD,OAAO;QACX,CAAC;QACD,qEAAqE;QACrE,mEAAmE;QACnE,kEAAkE;QAClE,sEAAsE;QACtE,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,qEAAqE;QACrE,kEAAkE;QAClE,uEAAuE;QACvE,sDAAsD;QACtD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,CAAC,EAAE,CAAC;YAC/F,MAAM,CAAC,GAAG,IAAI,CAAC,KAUd,CAAC;YACF,IAAI,CAAC,CAAC,SAAS;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5D,IAAI,CAAC,CAAC,QAAQ;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,CAAC,oBAAoB;gBAAE,IAAI,CAAC,WAAW,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC;YAC3F,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC3E,IAAI,CAAC,CAAC,UAAU;gBAAE,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;YAC7D,IAAI,OAAO,CAAC,CAAC,eAAe,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;YACjG,IAAI,CAAC,CAAC,WAAW;gBAAE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;YAChE,mEAAmE;YACnE,4DAA4D;YAC5D,IAAI,KAAK,IAAI,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC;YAC1D,+DAA+D;YAC/D,+DAA+D;YAC/D,IAAI,KAAK,IAAI,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAe,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;YAAE,OAAO;IACnD,CAAC;IAED,sEAAsE;IAC9D,oBAAoB,CAAC,KAAuB;QAChD,IAAI,IAAI,CAAC,iBAAiB;YAAE,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC3B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpC,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC;gBACpC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;oBACZ,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACrE,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"reachy-mini.js","sourceRoot":"","sources":["../../lib/reachy-mini.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.12.0-dev.0.main.
|
|
1
|
+
export declare const SDK_VERSION = "1.12.0-dev.0.main.fca0550";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/lib/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// AUTO-GENERATED by scripts/gen-version.mjs — DO NOT EDIT.
|
|
2
2
|
// Source of truth is the `version` field in package.json (bumped by CI at
|
|
3
3
|
// release). Regenerated by the `prebuild:sdk` npm lifecycle hook.
|
|
4
|
-
export const SDK_VERSION = "1.12.0-dev.0.main.
|
|
4
|
+
export const SDK_VERSION = "1.12.0-dev.0.main.fca0550";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|
|
@@ -195,10 +195,27 @@ function ue(s, e, t) {
|
|
|
195
195
|
[0, 0, 0, 1]
|
|
196
196
|
];
|
|
197
197
|
}
|
|
198
|
+
const he = 4096;
|
|
199
|
+
class _e {
|
|
200
|
+
_partials = /* @__PURE__ */ new Map();
|
|
201
|
+
/**
|
|
202
|
+
* Feed one parsed frame. Returns the message to handle: the frame itself
|
|
203
|
+
* when it is not a chunk, the reassembled message when this chunk
|
|
204
|
+
* completes one, or `null` while a message is still arriving.
|
|
205
|
+
*/
|
|
206
|
+
accept(e) {
|
|
207
|
+
if (e.type !== "message_chunk") return e;
|
|
208
|
+
const { id: t, index: n, count: r, data: i } = e;
|
|
209
|
+
if (typeof t != "string" || typeof n != "number" || typeof r != "number" || typeof i != "string" || r < 1 || r > he)
|
|
210
|
+
return null;
|
|
211
|
+
let o = this._partials.get(t);
|
|
212
|
+
return n === 0 && (o = [], this._partials.set(t, o)), !o || n !== o.length ? (this._partials.delete(t), null) : (o.push(i), o.length < r ? null : (this._partials.delete(t), JSON.parse(o.join(""))));
|
|
213
|
+
}
|
|
214
|
+
}
|
|
198
215
|
const ee = 4e3;
|
|
199
216
|
class P extends Error {
|
|
200
217
|
}
|
|
201
|
-
class
|
|
218
|
+
class pe {
|
|
202
219
|
_replySlots = /* @__PURE__ */ new Map();
|
|
203
220
|
_rpcCounter = 0;
|
|
204
221
|
_pendingRpc = /* @__PURE__ */ new Map();
|
|
@@ -356,8 +373,8 @@ class he {
|
|
|
356
373
|
this._broadcastWaiters = [];
|
|
357
374
|
}
|
|
358
375
|
}
|
|
359
|
-
const M = O("session"), q = 3e3, G = 1e3,
|
|
360
|
-
class
|
|
376
|
+
const M = O("session"), q = 3e3, G = 1e3, fe = 6e4, V = [0, 2e3, 4e3, 8e3, 8e3], me = 15e3, J = 1e3, ge = 2500, we = 8e3;
|
|
377
|
+
class be {
|
|
361
378
|
_deps;
|
|
362
379
|
// ICE-blip debounce. All handler slots are scoped to the lifetime
|
|
363
380
|
// of a live session (armed from the pc's state handler, cleared by
|
|
@@ -487,7 +504,7 @@ class ge {
|
|
|
487
504
|
if (typeof document < "u" && document.hidden || (document.removeEventListener("visibilitychange", t), this._pendingVisibilityHandler = null, !this._deps.hasPc())) return;
|
|
488
505
|
const n = this._deps.iceState();
|
|
489
506
|
if (!(n === "connected" || n === "completed")) {
|
|
490
|
-
if (Date.now() - e >
|
|
507
|
+
if (Date.now() - e > fe) {
|
|
491
508
|
const r = new Error("Session expired while tab was backgrounded");
|
|
492
509
|
if (this._deps.rejectPendingSession(r)) {
|
|
493
510
|
this._redialing || this._emitError(r);
|
|
@@ -580,9 +597,9 @@ class ge {
|
|
|
580
597
|
for (let i = 1; i <= n; i++) {
|
|
581
598
|
if (!this._redialing || (this._deps.emit("sessionReconnecting", { attempt: i, maxAttempts: n, cause: t }), await this._redialSleep(V[i - 1]), !this._redialing)) return;
|
|
582
599
|
try {
|
|
583
|
-
if (this._deps.isSignalingDown() && await this._deps.reconnectSignaling(), !this._redialing || (await
|
|
600
|
+
if (this._deps.isSignalingDown() && await this._deps.reconnectSignaling(), !this._redialing || (await ye(
|
|
584
601
|
this._deps.dial(e),
|
|
585
|
-
|
|
602
|
+
me,
|
|
586
603
|
"auto-reconnect dial timed out"
|
|
587
604
|
), !this._redialing)) return;
|
|
588
605
|
this._redialing = !1, M.info(`auto-reconnect: recovered on attempt ${i}`), this._deps.emit("sessionReconnected", { attempt: i });
|
|
@@ -651,25 +668,25 @@ class ge {
|
|
|
651
668
|
return;
|
|
652
669
|
}
|
|
653
670
|
const n = e - this._lastDcInboundAt;
|
|
654
|
-
if (n <
|
|
671
|
+
if (n < ge) return;
|
|
655
672
|
if (!this._dcSilenceNudged) {
|
|
656
673
|
this._dcSilenceNudged = !0, this._deps.nudgeState();
|
|
657
674
|
return;
|
|
658
675
|
}
|
|
659
|
-
if (n <
|
|
676
|
+
if (n < we) return;
|
|
660
677
|
this._dcSilenceNudged = !1;
|
|
661
678
|
const r = `No data-channel traffic for ${n}ms`;
|
|
662
679
|
this.maybeBeginRedial(r) || (this.stopDcWatchdog(), this._emitError(new Error(r)));
|
|
663
680
|
}
|
|
664
681
|
}
|
|
665
|
-
function
|
|
682
|
+
function ye(s, e, t) {
|
|
666
683
|
return Promise.race([
|
|
667
684
|
s,
|
|
668
685
|
new Promise((n, r) => setTimeout(() => r(new Error(t)), e))
|
|
669
686
|
]);
|
|
670
687
|
}
|
|
671
|
-
const z = "0.0.0-managed-by-ci",
|
|
672
|
-
function
|
|
688
|
+
const z = "0.0.0-managed-by-ci", Se = O("sdk");
|
|
689
|
+
function ve() {
|
|
673
690
|
if (typeof window > "u" || !window.location.hash) return;
|
|
674
691
|
const s = window.location.hash.startsWith("#") ? window.location.hash.slice(1) : window.location.hash;
|
|
675
692
|
let e;
|
|
@@ -684,7 +701,7 @@ function ye() {
|
|
|
684
701
|
try {
|
|
685
702
|
sessionStorage.setItem("hf_token", t), sessionStorage.setItem("hf_username", n), sessionStorage.setItem("hf_token_expires", i);
|
|
686
703
|
} catch (c) {
|
|
687
|
-
|
|
704
|
+
Se.warn("could not persist pre-seeded HF credentials:", c);
|
|
688
705
|
}
|
|
689
706
|
e.delete("hf_token"), e.delete("hf_username"), e.delete("hf_token_expires");
|
|
690
707
|
const o = e.toString(), a = window.location.pathname + window.location.search + (o ? "#" + o : "");
|
|
@@ -693,7 +710,7 @@ function ye() {
|
|
|
693
710
|
} catch {
|
|
694
711
|
}
|
|
695
712
|
}
|
|
696
|
-
function
|
|
713
|
+
function Re() {
|
|
697
714
|
if (typeof window > "u") return null;
|
|
698
715
|
if (window.location.hash) {
|
|
699
716
|
const s = window.location.hash.startsWith("#") ? window.location.hash.slice(1) : window.location.hash;
|
|
@@ -711,7 +728,7 @@ function Se() {
|
|
|
711
728
|
}
|
|
712
729
|
return null;
|
|
713
730
|
}
|
|
714
|
-
function
|
|
731
|
+
function Ie(s) {
|
|
715
732
|
const e = s.split(`\r
|
|
716
733
|
`);
|
|
717
734
|
let t = !1;
|
|
@@ -719,58 +736,58 @@ function ve(s) {
|
|
|
719
736
|
if (n.startsWith("m=audio") ? t = !0 : n.startsWith("m=") && (t = !1), t && n === "a=sendrecv") return !0;
|
|
720
737
|
return !1;
|
|
721
738
|
}
|
|
722
|
-
const j = "hf_token",
|
|
723
|
-
function
|
|
739
|
+
const j = "hf_token", x = "hf_username", F = "hf_token_expires", U = "hf_token_last_seen", ke = 1440 * 60 * 1e3;
|
|
740
|
+
function Ee(s) {
|
|
724
741
|
try {
|
|
725
|
-
sessionStorage.setItem(j, s.token), sessionStorage.setItem(
|
|
742
|
+
sessionStorage.setItem(j, s.token), sessionStorage.setItem(x, s.username), sessionStorage.setItem(F, s.expires), sessionStorage.setItem(U, (/* @__PURE__ */ new Date()).toISOString());
|
|
726
743
|
} catch {
|
|
727
744
|
}
|
|
728
745
|
}
|
|
729
|
-
function
|
|
746
|
+
function Te(s = Date.now()) {
|
|
730
747
|
try {
|
|
731
|
-
const e = sessionStorage.getItem(j), t = sessionStorage.getItem(
|
|
748
|
+
const e = sessionStorage.getItem(j), t = sessionStorage.getItem(x), n = sessionStorage.getItem(F);
|
|
732
749
|
if (!e || !n) return null;
|
|
733
750
|
if (new Date(n).getTime() <= s)
|
|
734
|
-
return
|
|
735
|
-
const r = sessionStorage.getItem(
|
|
751
|
+
return N(), null;
|
|
752
|
+
const r = sessionStorage.getItem(U);
|
|
736
753
|
if (r !== null) {
|
|
737
754
|
const i = new Date(r).getTime();
|
|
738
|
-
if (!Number.isFinite(i) || s - i >
|
|
739
|
-
return
|
|
755
|
+
if (!Number.isFinite(i) || s - i > ke)
|
|
756
|
+
return N(), null;
|
|
740
757
|
}
|
|
741
|
-
return sessionStorage.setItem(
|
|
758
|
+
return sessionStorage.setItem(U, new Date(s).toISOString()), { token: e, username: t ?? "", expires: n };
|
|
742
759
|
} catch {
|
|
743
760
|
return null;
|
|
744
761
|
}
|
|
745
762
|
}
|
|
746
|
-
function
|
|
763
|
+
function N() {
|
|
747
764
|
try {
|
|
748
|
-
sessionStorage.removeItem(j), sessionStorage.removeItem(
|
|
765
|
+
sessionStorage.removeItem(j), sessionStorage.removeItem(x), sessionStorage.removeItem(F), sessionStorage.removeItem(U);
|
|
749
766
|
} catch {
|
|
750
767
|
}
|
|
751
768
|
}
|
|
752
|
-
const
|
|
769
|
+
const Ae = /* @__PURE__ */ new Set([
|
|
753
770
|
"login_required",
|
|
754
771
|
"consent_required",
|
|
755
772
|
"interaction_required",
|
|
756
773
|
"access_denied"
|
|
757
774
|
]);
|
|
758
|
-
function
|
|
775
|
+
function Ce() {
|
|
759
776
|
try {
|
|
760
777
|
const s = new URL(window.location.href), e = s.searchParams.get("error");
|
|
761
|
-
return e === null || !
|
|
778
|
+
return e === null || !Ae.has(e) ? null : (s.searchParams.delete("error"), s.searchParams.delete("error_description"), s.searchParams.delete("state"), window.history.replaceState(null, "", s.toString()), e);
|
|
762
779
|
} catch {
|
|
763
780
|
return null;
|
|
764
781
|
}
|
|
765
782
|
}
|
|
766
|
-
const y = 12 * 1024,
|
|
767
|
-
function
|
|
783
|
+
const y = 12 * 1024, L = 1 * 1024 * 1024, Me = 512 * 1024;
|
|
784
|
+
function De() {
|
|
768
785
|
return typeof CompressionStream < "u";
|
|
769
786
|
}
|
|
770
787
|
function K() {
|
|
771
788
|
return "u" + Math.random().toString(36).slice(2, 11) + Date.now().toString(36);
|
|
772
789
|
}
|
|
773
|
-
function
|
|
790
|
+
function $(s) {
|
|
774
791
|
let e = "";
|
|
775
792
|
for (let n = 0; n < s.length; n += 32768)
|
|
776
793
|
e += String.fromCharCode.apply(
|
|
@@ -779,11 +796,11 @@ function N(s) {
|
|
|
779
796
|
);
|
|
780
797
|
return btoa(e);
|
|
781
798
|
}
|
|
782
|
-
async function
|
|
799
|
+
async function Ue(s) {
|
|
783
800
|
const e = new TextEncoder().encode(s), t = await new Response(
|
|
784
801
|
new Blob([e]).stream().pipeThrough(new CompressionStream("gzip"))
|
|
785
802
|
).arrayBuffer();
|
|
786
|
-
return
|
|
803
|
+
return $(new Uint8Array(t));
|
|
787
804
|
}
|
|
788
805
|
function Y(s) {
|
|
789
806
|
const e = Math.round(Number(s) || 0);
|
|
@@ -812,8 +829,8 @@ function X(s) {
|
|
|
812
829
|
return "wav-base64";
|
|
813
830
|
}
|
|
814
831
|
}
|
|
815
|
-
const _ = O("sdk"), Q = 750,
|
|
816
|
-
class
|
|
832
|
+
const _ = O("sdk"), Q = 750, Le = 5e3;
|
|
833
|
+
class Be extends EventTarget {
|
|
817
834
|
// ─── Config ──────────────────────────────────────────────────────────
|
|
818
835
|
_signalingUrl;
|
|
819
836
|
_clientId;
|
|
@@ -862,7 +879,7 @@ class He extends EventTarget {
|
|
|
862
879
|
// ─── Pending replies (reply slots / JSON-RPC / motion / broadcast) ───
|
|
863
880
|
// All request/response waiters on the data channel live in one
|
|
864
881
|
// ledger so every teardown path settles them in a single call.
|
|
865
|
-
_pending = new
|
|
882
|
+
_pending = new pe();
|
|
866
883
|
// ─── Log subscribers ─────────────────────────────────────────────────
|
|
867
884
|
_logSubscribers = /* @__PURE__ */ new Set();
|
|
868
885
|
_updateProgressSubscribers = /* @__PURE__ */ new Set();
|
|
@@ -887,7 +904,7 @@ class He extends EventTarget {
|
|
|
887
904
|
// ─── Video element ───────────────────────────────────────────────────
|
|
888
905
|
_videoElement = null;
|
|
889
906
|
constructor(e = {}) {
|
|
890
|
-
super(), this._signalingUrl = e.signalingUrl || "https://pollen-robotics-reachy-mini-central.hf.space", this._clientId = e.clientId || null, this._appName = e.appName || "unknown", this._videoJitterBufferTargetMs = e.videoJitterBufferTargetMs ?? 0, this._autoStartFromUrl = e.autoStartFromUrl === !0, this._autoStartAttempted = !1, this._preselectedRobotId =
|
|
907
|
+
super(), this._signalingUrl = e.signalingUrl || "https://pollen-robotics-reachy-mini-central.hf.space", this._clientId = e.clientId || null, this._appName = e.appName || "unknown", this._videoJitterBufferTargetMs = e.videoJitterBufferTargetMs ?? 0, this._autoStartFromUrl = e.autoStartFromUrl === !0, this._autoStartAttempted = !1, this._preselectedRobotId = Re(), this._supervisor = new be({
|
|
891
908
|
iceState: () => this._pc?.iceConnectionState ?? null,
|
|
892
909
|
hasPc: () => !!this._pc,
|
|
893
910
|
isStreaming: () => this._state === "streaming",
|
|
@@ -984,17 +1001,17 @@ class He extends EventTarget {
|
|
|
984
1001
|
// ─── Auth ────────────────────────────────────────────────────────────
|
|
985
1002
|
async authenticate() {
|
|
986
1003
|
try {
|
|
987
|
-
|
|
988
|
-
const e =
|
|
1004
|
+
ve();
|
|
1005
|
+
const e = Ce();
|
|
989
1006
|
e && _.info("silent sign-in declined:", e);
|
|
990
1007
|
const t = await ae();
|
|
991
1008
|
if (t)
|
|
992
|
-
return this._username = t.userInfo.preferred_username || t.userInfo.name || null, this._token = t.accessToken, this._tokenExpires = t.accessTokenExpiresAt,
|
|
1009
|
+
return this._username = t.userInfo.preferred_username || t.userInfo.name || null, this._token = t.accessToken, this._tokenExpires = t.accessTokenExpiresAt, Ee({
|
|
993
1010
|
token: this._token,
|
|
994
1011
|
username: this._username ?? "",
|
|
995
1012
|
expires: typeof this._tokenExpires == "string" ? this._tokenExpires : this._tokenExpires.toISOString()
|
|
996
1013
|
}), !0;
|
|
997
|
-
const n =
|
|
1014
|
+
const n = Te();
|
|
998
1015
|
return n && n.username ? (this._token = n.token, this._username = n.username, this._tokenExpires = n.expires, !0) : !1;
|
|
999
1016
|
} catch (e) {
|
|
1000
1017
|
return _.error("authenticate failed:", e), !1;
|
|
@@ -1011,7 +1028,7 @@ class He extends EventTarget {
|
|
|
1011
1028
|
window.location.href = n;
|
|
1012
1029
|
}
|
|
1013
1030
|
logout() {
|
|
1014
|
-
|
|
1031
|
+
N(), this._username = null, this._tokenExpires = null, this.disconnect();
|
|
1015
1032
|
}
|
|
1016
1033
|
// ─── Lifecycle ───────────────────────────────────────────────────────
|
|
1017
1034
|
async connect(e) {
|
|
@@ -1232,19 +1249,24 @@ class He extends EventTarget {
|
|
|
1232
1249
|
}, this._pc.ondatachannel = (r) => {
|
|
1233
1250
|
const i = r.channel;
|
|
1234
1251
|
if (i.label === "pose") {
|
|
1235
|
-
this._lastPoseSeq = null, i.onmessage = (
|
|
1236
|
-
const
|
|
1237
|
-
if (typeof
|
|
1238
|
-
if (this._lastPoseSeq !== null &&
|
|
1239
|
-
this._lastPoseSeq =
|
|
1252
|
+
this._lastPoseSeq = null, i.onmessage = (a) => {
|
|
1253
|
+
const c = JSON.parse(a.data);
|
|
1254
|
+
if (typeof c.seq == "number") {
|
|
1255
|
+
if (this._lastPoseSeq !== null && c.seq <= this._lastPoseSeq) return;
|
|
1256
|
+
this._lastPoseSeq = c.seq;
|
|
1240
1257
|
}
|
|
1241
|
-
this._lastPoseFrameAt = Date.now(), this._handleRobotMessage(
|
|
1258
|
+
this._lastPoseFrameAt = Date.now(), this._handleRobotMessage(c, !0);
|
|
1242
1259
|
};
|
|
1243
1260
|
return;
|
|
1244
1261
|
}
|
|
1245
1262
|
this._dc = i, this._dc.onopen = () => {
|
|
1246
1263
|
this._dcOpen = !0, this._checkSessionReady();
|
|
1247
|
-
}
|
|
1264
|
+
};
|
|
1265
|
+
const o = new _e();
|
|
1266
|
+
this._dc.onmessage = (a) => {
|
|
1267
|
+
const c = o.accept(JSON.parse(a.data));
|
|
1268
|
+
c && this._handleRobotMessage(c);
|
|
1269
|
+
};
|
|
1248
1270
|
}, this._sendToServer({ type: "startSession", peerId: e }).then((r) => {
|
|
1249
1271
|
if (r?.type === "sessionRejected") {
|
|
1250
1272
|
this._failSessionRejected(r);
|
|
@@ -1545,7 +1567,7 @@ class He extends EventTarget {
|
|
|
1545
1567
|
_.info(`ensureAwake: robot asleep (motor_mode=${this._robotState?.motor_mode ?? "unknown"}), playing wake-up`);
|
|
1546
1568
|
const t = Date.now();
|
|
1547
1569
|
try {
|
|
1548
|
-
await this.wakeUp({ timeoutMs:
|
|
1570
|
+
await this.wakeUp({ timeoutMs: Le }), _.info(`ensureAwake: wake-up trajectory done in ${Date.now() - t}ms`);
|
|
1549
1571
|
} catch (n) {
|
|
1550
1572
|
_.warn(`ensureAwake: wake-up not confirmed after ${Date.now() - t}ms (continuing):`, n);
|
|
1551
1573
|
}
|
|
@@ -1762,7 +1784,7 @@ class He extends EventTarget {
|
|
|
1762
1784
|
set_target_data: e.set_target_data
|
|
1763
1785
|
}, g = JSON.stringify(m);
|
|
1764
1786
|
let f, v;
|
|
1765
|
-
i === "gzip+base64" &&
|
|
1787
|
+
i === "gzip+base64" && De() ? (f = await Ue(g), v = "gzip+base64") : (f = g, v = "json");
|
|
1766
1788
|
const w = Math.ceil(f.length / y) || 1;
|
|
1767
1789
|
d({
|
|
1768
1790
|
phase: "starting",
|
|
@@ -1778,7 +1800,7 @@ class He extends EventTarget {
|
|
|
1778
1800
|
encoding: v
|
|
1779
1801
|
});
|
|
1780
1802
|
for (let h = 0; h < w; h++) {
|
|
1781
|
-
this._dc.bufferedAmount >
|
|
1803
|
+
this._dc.bufferedAmount > L && await this._awaitDataChannelDrain();
|
|
1782
1804
|
const p = h * y;
|
|
1783
1805
|
this._sendCommand({
|
|
1784
1806
|
type: "upload_move_chunk",
|
|
@@ -1788,7 +1810,7 @@ class He extends EventTarget {
|
|
|
1788
1810
|
}), d({ phase: "upload", sent: h + 1, total: w });
|
|
1789
1811
|
}
|
|
1790
1812
|
if (this._sendCommand({ type: "upload_move_finish", upload_id: l }), d({ phase: "uploaded", sent: w, total: w }), t) {
|
|
1791
|
-
const h = new Uint8Array(await t.arrayBuffer()), p =
|
|
1813
|
+
const h = new Uint8Array(await t.arrayBuffer()), p = $(h), R = Math.ceil(p.length / y) || 1;
|
|
1792
1814
|
d({
|
|
1793
1815
|
phase: "audio-starting",
|
|
1794
1816
|
sent: 0,
|
|
@@ -1802,7 +1824,7 @@ class He extends EventTarget {
|
|
|
1802
1824
|
description: r
|
|
1803
1825
|
});
|
|
1804
1826
|
for (let T = 0; T < R; T++) {
|
|
1805
|
-
this._dc.bufferedAmount >
|
|
1827
|
+
this._dc.bufferedAmount > L && await this._awaitDataChannelDrain();
|
|
1806
1828
|
const W = T * y;
|
|
1807
1829
|
this._sendCommand({
|
|
1808
1830
|
type: "upload_audio_chunk",
|
|
@@ -1861,7 +1883,7 @@ class He extends EventTarget {
|
|
|
1861
1883
|
throw new Error("data channel not open");
|
|
1862
1884
|
if (!(e instanceof Blob))
|
|
1863
1885
|
throw new TypeError("uploadAudio: expected a Blob");
|
|
1864
|
-
const r = K(), i = new Uint8Array(await e.arrayBuffer()), o =
|
|
1886
|
+
const r = K(), i = new Uint8Array(await e.arrayBuffer()), o = $(i), a = Math.ceil(o.length / y) || 1;
|
|
1865
1887
|
n({ phase: "audio-starting", sent: 0, total: a, bytes: o.length }), this._sendCommand({
|
|
1866
1888
|
type: "upload_audio_start",
|
|
1867
1889
|
upload_id: r,
|
|
@@ -1870,7 +1892,7 @@ class He extends EventTarget {
|
|
|
1870
1892
|
description: t
|
|
1871
1893
|
});
|
|
1872
1894
|
for (let c = 0; c < a; c++) {
|
|
1873
|
-
this._dc.bufferedAmount >
|
|
1895
|
+
this._dc.bufferedAmount > L && await this._awaitDataChannelDrain();
|
|
1874
1896
|
const d = c * y;
|
|
1875
1897
|
this._sendCommand({
|
|
1876
1898
|
type: "upload_audio_chunk",
|
|
@@ -1905,7 +1927,7 @@ class He extends EventTarget {
|
|
|
1905
1927
|
return this._pending.awaitBroadcast(e, t);
|
|
1906
1928
|
}
|
|
1907
1929
|
async _awaitDataChannelDrain() {
|
|
1908
|
-
for (; this._dc && this._dc.bufferedAmount >
|
|
1930
|
+
for (; this._dc && this._dc.bufferedAmount > Me; )
|
|
1909
1931
|
if (await new Promise((e) => setTimeout(e, 30)), !this._dc || this._dc.readyState !== "open")
|
|
1910
1932
|
throw new Error("data channel closed mid-upload");
|
|
1911
1933
|
}
|
|
@@ -2028,7 +2050,7 @@ class He extends EventTarget {
|
|
|
2028
2050
|
if (e.sdp) {
|
|
2029
2051
|
const t = e.sdp;
|
|
2030
2052
|
if (t.type === "offer") {
|
|
2031
|
-
const r =
|
|
2053
|
+
const r = Ie(t.sdp);
|
|
2032
2054
|
if (this._micSupported = r, this._emit("micSupported", { supported: r }), r && this._micStream)
|
|
2033
2055
|
for (const o of this._micStream.getAudioTracks())
|
|
2034
2056
|
this._pc.addTrack(o, this._micStream);
|
|
@@ -2182,7 +2204,7 @@ class He extends EventTarget {
|
|
|
2182
2204
|
}, 2e3);
|
|
2183
2205
|
}
|
|
2184
2206
|
}
|
|
2185
|
-
const
|
|
2207
|
+
const Pe = "pollen-robotics/reachy_mini", Ne = `https://api.github.com/repos/${Pe}/releases/latest`, te = "reachy.daemonLatestRelease.v1", $e = 360 * 60 * 1e3, ne = "1.8.2";
|
|
2186
2208
|
function k(s) {
|
|
2187
2209
|
if (typeof s != "string") return null;
|
|
2188
2210
|
const e = s.trim().replace(/^v/i, "").match(/^(\d+)\.(\d+)\.(\d+)/);
|
|
@@ -2195,21 +2217,21 @@ function k(s) {
|
|
|
2195
2217
|
function H(s, e) {
|
|
2196
2218
|
return s.major - e.major || s.minor - e.minor || s.patch - e.patch;
|
|
2197
2219
|
}
|
|
2198
|
-
function
|
|
2220
|
+
function Oe(s, e) {
|
|
2199
2221
|
const t = k(s), n = k(e);
|
|
2200
2222
|
return !t || !n ? !1 : H(t, n) < 0;
|
|
2201
2223
|
}
|
|
2202
|
-
function
|
|
2224
|
+
function qe(s, e) {
|
|
2203
2225
|
const t = k(s);
|
|
2204
2226
|
if (!t) return null;
|
|
2205
2227
|
const n = k(ne);
|
|
2206
|
-
return n && H(t, n) < 0 ? "block" :
|
|
2228
|
+
return n && H(t, n) < 0 ? "block" : Oe(s, e) ? "notice" : null;
|
|
2207
2229
|
}
|
|
2208
|
-
function
|
|
2230
|
+
function Ge(s) {
|
|
2209
2231
|
const e = k(s), t = k(ne);
|
|
2210
2232
|
return !!e && !!t && H(e, t) >= 0;
|
|
2211
2233
|
}
|
|
2212
|
-
function
|
|
2234
|
+
function je() {
|
|
2213
2235
|
try {
|
|
2214
2236
|
const s = localStorage.getItem(te);
|
|
2215
2237
|
if (!s) return null;
|
|
@@ -2222,11 +2244,11 @@ function Ne() {
|
|
|
2222
2244
|
return null;
|
|
2223
2245
|
}
|
|
2224
2246
|
}
|
|
2225
|
-
async function
|
|
2226
|
-
const s =
|
|
2227
|
-
if (s && Date.now() - s.at <
|
|
2247
|
+
async function Ve() {
|
|
2248
|
+
const s = je();
|
|
2249
|
+
if (s && Date.now() - s.at < $e) return s.value;
|
|
2228
2250
|
try {
|
|
2229
|
-
const e = await fetch(
|
|
2251
|
+
const e = await fetch(Ne, {
|
|
2230
2252
|
headers: { Accept: "application/vnd.github+json" }
|
|
2231
2253
|
});
|
|
2232
2254
|
if (!e.ok)
|
|
@@ -2241,14 +2263,14 @@ async function qe() {
|
|
|
2241
2263
|
return s?.value ?? null;
|
|
2242
2264
|
}
|
|
2243
2265
|
}
|
|
2244
|
-
const
|
|
2245
|
-
function
|
|
2266
|
+
const xe = 8e3;
|
|
2267
|
+
function Fe(s) {
|
|
2246
2268
|
if (!s) return null;
|
|
2247
2269
|
const e = s.id ?? s.peerId ?? s.peer_id;
|
|
2248
2270
|
return typeof e == "string" && e.length > 0 ? e : null;
|
|
2249
2271
|
}
|
|
2250
|
-
function
|
|
2251
|
-
const e =
|
|
2272
|
+
function He(s) {
|
|
2273
|
+
const e = Fe(s);
|
|
2252
2274
|
if (!e) return null;
|
|
2253
2275
|
const t = s.meta?.name ?? s.name, n = typeof s.meta?.transport == "string" && s.meta.transport.length > 0 ? s.meta.transport : null, r = typeof s.meta?.hardware_id == "string" && s.meta.hardware_id.length > 0 ? s.meta.hardware_id : null;
|
|
2254
2276
|
return {
|
|
@@ -2260,12 +2282,12 @@ function Fe(s) {
|
|
|
2260
2282
|
hardwareId: r
|
|
2261
2283
|
};
|
|
2262
2284
|
}
|
|
2263
|
-
async function
|
|
2285
|
+
async function Je(s) {
|
|
2264
2286
|
const { signalingUrl: e, hfToken: t } = s;
|
|
2265
2287
|
if (!t) return { ok: !1, robots: [], reason: "No HF token" };
|
|
2266
2288
|
if (!e)
|
|
2267
2289
|
return { ok: !1, robots: [], reason: "No signaling URL" };
|
|
2268
|
-
const n = `${e.replace(/\/$/, "")}/api/robot-status`, r = new AbortController(), i = setTimeout(() => r.abort(),
|
|
2290
|
+
const n = `${e.replace(/\/$/, "")}/api/robot-status`, r = new AbortController(), i = setTimeout(() => r.abort(), xe), o = s.signal ? We([r.signal, s.signal]) : r.signal;
|
|
2269
2291
|
try {
|
|
2270
2292
|
const a = await fetch(n, {
|
|
2271
2293
|
method: "GET",
|
|
@@ -2284,7 +2306,7 @@ async function Ge(s) {
|
|
|
2284
2306
|
reason: `Central returned HTTP ${a.status}`
|
|
2285
2307
|
};
|
|
2286
2308
|
const c = await a.json();
|
|
2287
|
-
return { ok: !0, robots: (Array.isArray(c.robots) ? c.robots : []).map(
|
|
2309
|
+
return { ok: !0, robots: (Array.isArray(c.robots) ? c.robots : []).map(He).filter((l) => l != null) };
|
|
2288
2310
|
} catch (a) {
|
|
2289
2311
|
if (a instanceof DOMException && a.name === "AbortError")
|
|
2290
2312
|
return { ok: !1, robots: [], reason: "Central request timed out" };
|
|
@@ -2294,7 +2316,7 @@ async function Ge(s) {
|
|
|
2294
2316
|
clearTimeout(i);
|
|
2295
2317
|
}
|
|
2296
2318
|
}
|
|
2297
|
-
function
|
|
2319
|
+
function We(s) {
|
|
2298
2320
|
const e = new AbortController();
|
|
2299
2321
|
for (const t of s) {
|
|
2300
2322
|
if (t.aborted)
|
|
@@ -2305,11 +2327,11 @@ function xe(s) {
|
|
|
2305
2327
|
}
|
|
2306
2328
|
export {
|
|
2307
2329
|
ne as M,
|
|
2308
|
-
|
|
2309
|
-
|
|
2330
|
+
Be as R,
|
|
2331
|
+
Je as a,
|
|
2310
2332
|
O as c,
|
|
2311
|
-
|
|
2312
|
-
|
|
2333
|
+
qe as d,
|
|
2334
|
+
Ve as f,
|
|
2313
2335
|
k as p,
|
|
2314
|
-
|
|
2336
|
+
Ge as s
|
|
2315
2337
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { decodeCredsFromHash as $, PROTOCOL_VERSION as y, PROTOCOL_SOURCE as b, isProtocolMessage as D } from "../lib/protocol.js";
|
|
2
|
-
import { p as L, a as J, c as G } from "./centralRest-
|
|
2
|
+
import { p as L, a as J, c as G } from "./centralRest-K3a9U_Sk.js";
|
|
3
3
|
const Y = "@pollen-robotics/reachy-mini-sdk", Z = `https://registry.npmjs.org/${Y}/latest`, V = "reachy.sdkLatestRelease.v1", F = "reachy.sdkStalenessDismissed.v1", Q = 360 * 60 * 1e3, v = "reachy-sdk-outdated-overlay";
|
|
4
4
|
function X() {
|
|
5
5
|
try {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as Xs, f as cx, a as sx, d as fx, s as dx, M as ev } from "./centralRest-
|
|
1
|
+
import { c as Xs, f as cx, a as sx, d as fx, s as dx, M as ev } from "./centralRest-K3a9U_Sk.js";
|
|
2
2
|
import { isProtocolMessage as px, PROTOCOL_VERSION as eu, PROTOCOL_SOURCE as tu, encodeCredsToHash as hx } from "../lib/protocol.js";
|
|
3
3
|
function mx(o, u) {
|
|
4
4
|
for (var f = 0; f < u.length; f++) {
|
package/host/dist/entry/auto.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as i } from "../chunks/centralRest-
|
|
2
|
-
import { m as n } from "../chunks/mountHost-
|
|
1
|
+
import { R as i } from "../chunks/centralRest-K3a9U_Sk.js";
|
|
2
|
+
import { m as n } from "../chunks/mountHost-CMP4uYnZ.js";
|
|
3
3
|
typeof window < "u" && (window.ReachyMini || (window.ReachyMini = i, window.dispatchEvent(new Event("reachymini:ready"))), window.ReachyMiniHost = { mountHost: n });
|
|
4
4
|
export {
|
|
5
5
|
n as mountHost
|
package/host/dist/entry/embed.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as i } from "../chunks/centralRest-
|
|
2
|
-
import { a as n, c as o } from "../chunks/index-
|
|
1
|
+
import { R as i } from "../chunks/centralRest-K3a9U_Sk.js";
|
|
2
|
+
import { a as n, c as o } from "../chunks/index-B79tSfbK.js";
|
|
3
3
|
typeof window < "u" && (window.ReachyMini || (window.ReachyMini = i, window.dispatchEvent(new Event("reachymini:ready"))), window.ReachyMiniHostEmbed = { connectToHost: o, connectToHostCredsOnly: n });
|
|
4
4
|
export {
|
|
5
5
|
o as connectToHost,
|
package/host/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { R as o } from "./chunks/centralRest-
|
|
2
|
-
import { R as i, m as a } from "./chunks/mountHost-
|
|
3
|
-
import { c as r, a as c } from "./chunks/index-
|
|
1
|
+
import { R as o } from "./chunks/centralRest-K3a9U_Sk.js";
|
|
2
|
+
import { R as i, m as a } from "./chunks/mountHost-CMP4uYnZ.js";
|
|
3
|
+
import { c as r, a as c } from "./chunks/index-B79tSfbK.js";
|
|
4
4
|
import { PROTOCOL_VERSION as m, decodeCredsFromHash as w, encodeCredsToHash as h, isProtocolMessage as y } from "./lib/protocol.js";
|
|
5
5
|
typeof window < "u" && !window.ReachyMini && (window.ReachyMini = o, window.dispatchEvent(new Event("reachymini:ready")));
|
|
6
6
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pollen-robotics/reachy-mini-sdk",
|
|
3
|
-
"version": "1.12.0-dev.0.main.
|
|
3
|
+
"version": "1.12.0-dev.0.main.fca0550",
|
|
4
4
|
"description": "Browser SDK for controlling a Reachy Mini robot over WebRTC, plus an optional Hugging Face Spaces host shell (OAuth + robot picker + iframe bridge) exposed via the ./host subpath.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/reachy-mini-sdk.js",
|