@stinkycomputing/sesame-api-client 1.5.1 → 1.5.4
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/LICENSE +22 -22
- package/README.md +433 -433
- package/dist/browser.cjs +21664 -0
- package/dist/browser.cjs.map +7 -0
- package/dist/browser.d.ts +16 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.mjs +21631 -0
- package/dist/browser.mjs.map +7 -0
- package/dist/command-list.d.ts +2 -1
- package/dist/command-list.d.ts.map +1 -1
- package/dist/index.browser.mjs +42 -5
- package/dist/index.browser.mjs.map +2 -2
- package/dist/index.cjs +42 -5
- package/dist/index.cjs.map +2 -2
- package/dist/index.mjs +42 -5
- package/dist/index.mjs.map +2 -2
- package/dist/proto/.gitignore +2 -2
- package/dist/proto/api.d.ts +8 -1
- package/dist/proto/api.js +35 -0
- package/dist/sesame-api-client.d.ts +4 -1
- package/dist/sesame-api-client.d.ts.map +1 -1
- package/dist/sesame-binary-protocol.d.ts +99 -0
- package/dist/sesame-binary-protocol.d.ts.map +1 -0
- package/docs/protocol-reference.md +2368 -2207
- package/package.json +1 -1
package/dist/proto/.gitignore
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
*.js
|
|
2
|
-
*.d.ts
|
|
1
|
+
*.js
|
|
2
|
+
*.d.ts
|
package/dist/proto/api.d.ts
CHANGED
|
@@ -3299,7 +3299,8 @@ export namespace sesame {
|
|
|
3299
3299
|
SOURCE_TRANSPORT_CMD_NEXT = 12,
|
|
3300
3300
|
SOURCE_TRANSPORT_CMD_SKIP_NEXT = 13,
|
|
3301
3301
|
SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED = 14,
|
|
3302
|
-
SOURCE_TRANSPORT_CMD_SET_SCRUBBING = 15
|
|
3302
|
+
SOURCE_TRANSPORT_CMD_SET_SCRUBBING = 15,
|
|
3303
|
+
SOURCE_TRANSPORT_CMD_SET_END_NOTIFICATION = 16
|
|
3303
3304
|
}
|
|
3304
3305
|
|
|
3305
3306
|
/** SourceTextureSize enum. */
|
|
@@ -9442,6 +9443,9 @@ export namespace sesame {
|
|
|
9442
9443
|
|
|
9443
9444
|
/** TransportEvent metadata */
|
|
9444
9445
|
metadata?: (sesame.v1.common.ITransportMetadata|null);
|
|
9446
|
+
|
|
9447
|
+
/** TransportEvent nearEnd */
|
|
9448
|
+
nearEnd?: (boolean|null);
|
|
9445
9449
|
}
|
|
9446
9450
|
|
|
9447
9451
|
/** Represents a TransportEvent. */
|
|
@@ -9507,6 +9511,9 @@ export namespace sesame {
|
|
|
9507
9511
|
/** TransportEvent metadata. */
|
|
9508
9512
|
public metadata?: (sesame.v1.common.ITransportMetadata|null);
|
|
9509
9513
|
|
|
9514
|
+
/** TransportEvent nearEnd. */
|
|
9515
|
+
public nearEnd: boolean;
|
|
9516
|
+
|
|
9510
9517
|
/**
|
|
9511
9518
|
* Creates a new TransportEvent instance using the specified properties.
|
|
9512
9519
|
* @param [properties] Properties to set
|
package/dist/proto/api.js
CHANGED
|
@@ -8685,6 +8685,7 @@ export const sesame = $root.sesame = (() => {
|
|
|
8685
8685
|
* @property {number} SOURCE_TRANSPORT_CMD_SKIP_NEXT=13 SOURCE_TRANSPORT_CMD_SKIP_NEXT value
|
|
8686
8686
|
* @property {number} SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED=14 SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED value
|
|
8687
8687
|
* @property {number} SOURCE_TRANSPORT_CMD_SET_SCRUBBING=15 SOURCE_TRANSPORT_CMD_SET_SCRUBBING value
|
|
8688
|
+
* @property {number} SOURCE_TRANSPORT_CMD_SET_END_NOTIFICATION=16 SOURCE_TRANSPORT_CMD_SET_END_NOTIFICATION value
|
|
8688
8689
|
*/
|
|
8689
8690
|
sources.SourceTransportCommandType = (function() {
|
|
8690
8691
|
const valuesById = {}, values = Object.create(valuesById);
|
|
@@ -8704,6 +8705,7 @@ export const sesame = $root.sesame = (() => {
|
|
|
8704
8705
|
values[valuesById[13] = "SOURCE_TRANSPORT_CMD_SKIP_NEXT"] = 13;
|
|
8705
8706
|
values[valuesById[14] = "SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED"] = 14;
|
|
8706
8707
|
values[valuesById[15] = "SOURCE_TRANSPORT_CMD_SET_SCRUBBING"] = 15;
|
|
8708
|
+
values[valuesById[16] = "SOURCE_TRANSPORT_CMD_SET_END_NOTIFICATION"] = 16;
|
|
8707
8709
|
return values;
|
|
8708
8710
|
})();
|
|
8709
8711
|
|
|
@@ -15099,6 +15101,7 @@ export const sesame = $root.sesame = (() => {
|
|
|
15099
15101
|
case 13:
|
|
15100
15102
|
case 14:
|
|
15101
15103
|
case 15:
|
|
15104
|
+
case 16:
|
|
15102
15105
|
break;
|
|
15103
15106
|
}
|
|
15104
15107
|
if (message.value != null && message.hasOwnProperty("value")) {
|
|
@@ -15194,6 +15197,10 @@ export const sesame = $root.sesame = (() => {
|
|
|
15194
15197
|
case 15:
|
|
15195
15198
|
message.cmdType = 15;
|
|
15196
15199
|
break;
|
|
15200
|
+
case "SOURCE_TRANSPORT_CMD_SET_END_NOTIFICATION":
|
|
15201
|
+
case 16:
|
|
15202
|
+
message.cmdType = 16;
|
|
15203
|
+
break;
|
|
15197
15204
|
}
|
|
15198
15205
|
if (object.value != null) {
|
|
15199
15206
|
if (typeof object.value !== "object")
|
|
@@ -16039,6 +16046,7 @@ export const sesame = $root.sesame = (() => {
|
|
|
16039
16046
|
case 13:
|
|
16040
16047
|
case 14:
|
|
16041
16048
|
case 15:
|
|
16049
|
+
case 16:
|
|
16042
16050
|
break;
|
|
16043
16051
|
}
|
|
16044
16052
|
if (message.value != null && message.hasOwnProperty("value")) {
|
|
@@ -16132,6 +16140,10 @@ export const sesame = $root.sesame = (() => {
|
|
|
16132
16140
|
case 15:
|
|
16133
16141
|
message.cmdType = 15;
|
|
16134
16142
|
break;
|
|
16143
|
+
case "SOURCE_TRANSPORT_CMD_SET_END_NOTIFICATION":
|
|
16144
|
+
case 16:
|
|
16145
|
+
message.cmdType = 16;
|
|
16146
|
+
break;
|
|
16135
16147
|
}
|
|
16136
16148
|
if (object.value != null) {
|
|
16137
16149
|
if (typeof object.value !== "object")
|
|
@@ -25149,6 +25161,7 @@ export const sesame = $root.sesame = (() => {
|
|
|
25149
25161
|
* @property {number|null} [preroll] TransportEvent preroll
|
|
25150
25162
|
* @property {number|null} [postroll] TransportEvent postroll
|
|
25151
25163
|
* @property {sesame.v1.common.ITransportMetadata|null} [metadata] TransportEvent metadata
|
|
25164
|
+
* @property {boolean|null} [nearEnd] TransportEvent nearEnd
|
|
25152
25165
|
*/
|
|
25153
25166
|
|
|
25154
25167
|
/**
|
|
@@ -25310,6 +25323,14 @@ export const sesame = $root.sesame = (() => {
|
|
|
25310
25323
|
*/
|
|
25311
25324
|
TransportEvent.prototype.metadata = null;
|
|
25312
25325
|
|
|
25326
|
+
/**
|
|
25327
|
+
* TransportEvent nearEnd.
|
|
25328
|
+
* @member {boolean} nearEnd
|
|
25329
|
+
* @memberof sesame.v1.status.TransportEvent
|
|
25330
|
+
* @instance
|
|
25331
|
+
*/
|
|
25332
|
+
TransportEvent.prototype.nearEnd = false;
|
|
25333
|
+
|
|
25313
25334
|
/**
|
|
25314
25335
|
* Creates a new TransportEvent instance using the specified properties.
|
|
25315
25336
|
* @function create
|
|
@@ -25370,6 +25391,8 @@ export const sesame = $root.sesame = (() => {
|
|
|
25370
25391
|
writer.uint32(/* id 17, wireType 0 =*/136).uint32(message.postroll);
|
|
25371
25392
|
if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata"))
|
|
25372
25393
|
$root.sesame.v1.common.TransportMetadata.encode(message.metadata, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();
|
|
25394
|
+
if (message.nearEnd != null && Object.hasOwnProperty.call(message, "nearEnd"))
|
|
25395
|
+
writer.uint32(/* id 19, wireType 0 =*/152).bool(message.nearEnd);
|
|
25373
25396
|
return writer;
|
|
25374
25397
|
};
|
|
25375
25398
|
|
|
@@ -25478,6 +25501,10 @@ export const sesame = $root.sesame = (() => {
|
|
|
25478
25501
|
message.metadata = $root.sesame.v1.common.TransportMetadata.decode(reader, reader.uint32());
|
|
25479
25502
|
break;
|
|
25480
25503
|
}
|
|
25504
|
+
case 19: {
|
|
25505
|
+
message.nearEnd = reader.bool();
|
|
25506
|
+
break;
|
|
25507
|
+
}
|
|
25481
25508
|
default:
|
|
25482
25509
|
reader.skipType(tag & 7);
|
|
25483
25510
|
break;
|
|
@@ -25577,6 +25604,9 @@ export const sesame = $root.sesame = (() => {
|
|
|
25577
25604
|
if (error)
|
|
25578
25605
|
return "metadata." + error;
|
|
25579
25606
|
}
|
|
25607
|
+
if (message.nearEnd != null && message.hasOwnProperty("nearEnd"))
|
|
25608
|
+
if (typeof message.nearEnd !== "boolean")
|
|
25609
|
+
return "nearEnd: boolean expected";
|
|
25580
25610
|
return null;
|
|
25581
25611
|
};
|
|
25582
25612
|
|
|
@@ -25706,6 +25736,8 @@ export const sesame = $root.sesame = (() => {
|
|
|
25706
25736
|
throw TypeError(".sesame.v1.status.TransportEvent.metadata: object expected");
|
|
25707
25737
|
message.metadata = $root.sesame.v1.common.TransportMetadata.fromObject(object.metadata);
|
|
25708
25738
|
}
|
|
25739
|
+
if (object.nearEnd != null)
|
|
25740
|
+
message.nearEnd = Boolean(object.nearEnd);
|
|
25709
25741
|
return message;
|
|
25710
25742
|
};
|
|
25711
25743
|
|
|
@@ -25769,6 +25801,7 @@ export const sesame = $root.sesame = (() => {
|
|
|
25769
25801
|
object.preroll = 0;
|
|
25770
25802
|
object.postroll = 0;
|
|
25771
25803
|
object.metadata = null;
|
|
25804
|
+
object.nearEnd = false;
|
|
25772
25805
|
}
|
|
25773
25806
|
if (message.sourceId != null && message.hasOwnProperty("sourceId"))
|
|
25774
25807
|
object.sourceId = message.sourceId;
|
|
@@ -25827,6 +25860,8 @@ export const sesame = $root.sesame = (() => {
|
|
|
25827
25860
|
object.postroll = message.postroll;
|
|
25828
25861
|
if (message.metadata != null && message.hasOwnProperty("metadata"))
|
|
25829
25862
|
object.metadata = $root.sesame.v1.common.TransportMetadata.toObject(message.metadata, options);
|
|
25863
|
+
if (message.nearEnd != null && message.hasOwnProperty("nearEnd"))
|
|
25864
|
+
object.nearEnd = message.nearEnd;
|
|
25830
25865
|
return object;
|
|
25831
25866
|
};
|
|
25832
25867
|
|
|
@@ -49,6 +49,9 @@ export interface TopicDataCallback {
|
|
|
49
49
|
interface CallbackMessage {
|
|
50
50
|
(event: string, data: string): void;
|
|
51
51
|
}
|
|
52
|
+
export interface ISesameClientOptions {
|
|
53
|
+
wsClientLabel?: string;
|
|
54
|
+
}
|
|
52
55
|
export declare class SesameClient extends EventEmitter {
|
|
53
56
|
private conn;
|
|
54
57
|
private rpc;
|
|
@@ -60,7 +63,7 @@ export declare class SesameClient extends EventEmitter {
|
|
|
60
63
|
onMediaPacket: MediaPacketCallback;
|
|
61
64
|
onCallbackMessage: CallbackMessage;
|
|
62
65
|
isConnected(): boolean;
|
|
63
|
-
constructor(portOrUrl: number | string);
|
|
66
|
+
constructor(portOrUrl: number | string, clientOptions?: ISesameClientOptions);
|
|
64
67
|
private sendSubscriptions;
|
|
65
68
|
addMediaSubscription(id: string): void;
|
|
66
69
|
addSubscription(topic: sesame.v1.common.EventTopic, callback: TopicDataCallback): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sesame-api-client.d.ts","sourceRoot":"","sources":["../src/sesame-api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAoB,MAAM,qBAAqB,CAAA;AAE3E,OAAO,EAAkB,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,YAAY,gBAAgB;IAC5B,aAAa,iBAAiB;IAC9B,eAAe,mBAAmB;IAClC,QAAQ,YAAY;IACpB,SAAS,aAAa;IACtB,WAAW,eAAe;IAC1B,UAAU,cAAc;IACxB,WAAW,eAAe;IAC1B,aAAa,iBAAiB;IAC9B,UAAU,cAAc;IACxB,WAAW,eAAe;IAC1B,aAAa,iBAAiB;IAC9B,aAAa,iBAAiB;IAC9B,cAAc,kBAAkB;IAChC,gBAAgB,oBAAoB;IACpC,cAAc,kBAAkB;IAChC,eAAe,mBAAmB;IAClC,iBAAiB,qBAAqB;IACtC,WAAW,eAAe;IAC1B,YAAY,gBAAgB;IAC5B,cAAc,kBAAkB;IAChC,SAAS,aAAa;IACtB,UAAU,cAAc;IACxB,YAAY,gBAAgB;IAC5B,UAAU,cAAc;IACxB,WAAW,eAAe;IAC1B,aAAa,iBAAiB;IAC9B,OAAO,WAAW;IAClB,QAAQ,YAAY;IACpB,UAAU,cAAc;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;CACxE;AAED,UAAU,eAAe;IACvB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAOD,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,GAAG,CAA4C;IACvD,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,aAAa,CAA2B;IAEhD,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,QAAQ,EAAE,WAAW,CAAC;IACtC,SAAgB,IAAI,EAAE,OAAO,CAAC;IAEvB,aAAa,EAAE,mBAAmB,CAAY;IAC9C,iBAAiB,EAAE,eAAe,CAAY;IAE9C,WAAW,IAAI,OAAO;gBAIjB,SAAS,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"sesame-api-client.d.ts","sourceRoot":"","sources":["../src/sesame-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sesame Binary Protocol - TypeScript Implementation
|
|
3
|
+
*
|
|
4
|
+
* This module provides TypeScript implementation of the Sesame binary protocol
|
|
5
|
+
* for serializing and deserializing multimedia data packets.
|
|
6
|
+
*/
|
|
7
|
+
export declare const PROTOCOL_MAGIC = 1297302867;
|
|
8
|
+
export declare const PROTOCOL_VERSION = 1;
|
|
9
|
+
export declare const HEADER_DATA_SIZE = 32;
|
|
10
|
+
export declare const HEADER_CODEC_DATA_SIZE = 24;
|
|
11
|
+
export declare const HEADER_METADATA_SIZE = 64;
|
|
12
|
+
export declare const FLAG_HAS_CODEC_DATA: number;
|
|
13
|
+
export declare const FLAG_HAS_METADATA: number;
|
|
14
|
+
export declare const FLAG_IS_KEYFRAME: number;
|
|
15
|
+
export declare enum PacketType {
|
|
16
|
+
VIDEO_FRAME = 1,
|
|
17
|
+
AUDIO_FRAME = 2,
|
|
18
|
+
RPC = 3,
|
|
19
|
+
MUXED_DATA = 4,
|
|
20
|
+
DECODER_DATA = 5
|
|
21
|
+
}
|
|
22
|
+
export declare enum CodecType {
|
|
23
|
+
VIDEO_VP8 = 1,
|
|
24
|
+
VIDEO_VP9 = 2,
|
|
25
|
+
VIDEO_AVC = 3,
|
|
26
|
+
VIDEO_HEVC = 4,
|
|
27
|
+
VIDEO_AV1 = 5,
|
|
28
|
+
AUDIO_OPUS = 64,
|
|
29
|
+
AUDIO_AAC = 65,
|
|
30
|
+
AUDIO_PCM = 66
|
|
31
|
+
}
|
|
32
|
+
export interface HeaderData {
|
|
33
|
+
magic: number;
|
|
34
|
+
flags: number;
|
|
35
|
+
pts: bigint;
|
|
36
|
+
id: bigint;
|
|
37
|
+
version: number;
|
|
38
|
+
header_size: number;
|
|
39
|
+
type: PacketType;
|
|
40
|
+
reserved: number;
|
|
41
|
+
}
|
|
42
|
+
export interface HeaderCodecData {
|
|
43
|
+
sample_rate: number;
|
|
44
|
+
timebase_num: number;
|
|
45
|
+
timebase_den: number;
|
|
46
|
+
codec_profile: number;
|
|
47
|
+
codec_level: number;
|
|
48
|
+
width: number;
|
|
49
|
+
height: number;
|
|
50
|
+
codec_type: CodecType;
|
|
51
|
+
channels: number;
|
|
52
|
+
bit_depth: number;
|
|
53
|
+
reserved: number;
|
|
54
|
+
}
|
|
55
|
+
export interface HeaderMetadata {
|
|
56
|
+
metadata: string;
|
|
57
|
+
}
|
|
58
|
+
export interface ParsedData {
|
|
59
|
+
valid: boolean;
|
|
60
|
+
header: HeaderData | null;
|
|
61
|
+
metadata: HeaderMetadata | null;
|
|
62
|
+
codec_data: HeaderCodecData | null;
|
|
63
|
+
payload: Uint8Array | null;
|
|
64
|
+
payload_size: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Main binary protocol class with static methods for serialization/deserialization
|
|
68
|
+
*/
|
|
69
|
+
export declare class SesameBinaryProtocol {
|
|
70
|
+
/**
|
|
71
|
+
* Initialize a header data structure with proper defaults
|
|
72
|
+
*/
|
|
73
|
+
static initHeader(type: PacketType, flags: number, pts: bigint, id: bigint): HeaderData;
|
|
74
|
+
/**
|
|
75
|
+
* Calculate the total header size based on flags
|
|
76
|
+
*/
|
|
77
|
+
static calculateHeaderSize(flags: number): number;
|
|
78
|
+
/**
|
|
79
|
+
* Validate a header structure
|
|
80
|
+
*/
|
|
81
|
+
static validateHeader(header: HeaderData, totalSize: number): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Serialize data into a Uint8Array buffer
|
|
84
|
+
*/
|
|
85
|
+
static serialize(header: HeaderData, metadata?: HeaderMetadata | null, codecData?: HeaderCodecData | null, payload?: Uint8Array | null): Uint8Array | null;
|
|
86
|
+
/**
|
|
87
|
+
* Parse incoming binary data
|
|
88
|
+
*/
|
|
89
|
+
static parseData(data: Uint8Array): ParsedData;
|
|
90
|
+
/**
|
|
91
|
+
* Helper: Convert string to fixed-size byte array (null-terminated)
|
|
92
|
+
*/
|
|
93
|
+
private static stringToFixedBytes;
|
|
94
|
+
/**
|
|
95
|
+
* Helper: Convert fixed-size byte array to string (null-terminated)
|
|
96
|
+
*/
|
|
97
|
+
private static fixedBytesToString;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=sesame-binary-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sesame-binary-protocol.d.ts","sourceRoot":"","sources":["../src/sesame-binary-protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAIlC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAGvC,oBAAY,UAAU;IACpB,WAAW,IAAI;IACf,WAAW,IAAI;IACf,GAAG,IAAI;IACP,UAAU,IAAI;IACd,YAAY,IAAI;CACjB;AAED,oBAAY,SAAS;IACnB,SAAS,IAAI;IACb,SAAS,IAAI;IACb,SAAS,IAAI;IACb,UAAU,IAAI;IACd,SAAS,IAAI;IACb,UAAU,KAAK;IACf,SAAS,KAAK;IACd,SAAS,KAAK;CACf;AAID,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAE/B;;OAEG;IACH,MAAM,CAAC,UAAU,CACf,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,GACT,UAAU;IAab;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAcjD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAyBrE;;OAEG;IACH,MAAM,CAAC,SAAS,CACd,MAAM,EAAE,UAAU,EAClB,QAAQ,GAAE,cAAc,GAAG,IAAW,EACtC,SAAS,GAAE,eAAe,GAAG,IAAW,EACxC,OAAO,GAAE,UAAU,GAAG,IAAW,GAChC,UAAU,GAAG,IAAI;IA4DpB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAmF9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAuBjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAmBlC"}
|