@camera.ui/camera-ui-homekit 0.0.26 → 0.0.28

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.
@@ -22,13 +22,13 @@ export class AudioProcessor {
22
22
  sampleRate;
23
23
  packetTime;
24
24
  isOpus;
25
- logger;
25
+ cameraLogger;
26
26
  audioSrtpSession;
27
27
  opusRepacketizer;
28
28
  audioIntervalScale;
29
29
  firstTimestamp;
30
30
  audioPacketCount = 0;
31
- constructor(cameraAccessory, audioSsrc, audioSrtp, audioSplitter, targetAddress, targetPort, payloadType, sampleRate, packetTime, isOpus, logger) {
31
+ constructor(cameraAccessory, audioSsrc, audioSrtp, audioSplitter, targetAddress, targetPort, payloadType, sampleRate, packetTime, isOpus, cameraLogger) {
32
32
  this.cameraAccessory = cameraAccessory;
33
33
  this.audioSsrc = audioSsrc;
34
34
  this.audioSrtp = audioSrtp;
@@ -39,7 +39,7 @@ export class AudioProcessor {
39
39
  this.sampleRate = sampleRate;
40
40
  this.packetTime = packetTime;
41
41
  this.isOpus = isOpus;
42
- this.logger = logger;
42
+ this.cameraLogger = cameraLogger;
43
43
  this.audioSrtpSession = new SrtpSession(getSessionConfig(this.audioSrtp));
44
44
  this.opusRepacketizer = new OpusRepacketizer(this.packetTime / 20);
45
45
  this.audioIntervalScale = ((this.sampleRate / 8) * this.packetTime) / 20;
@@ -73,7 +73,7 @@ export class AudioProcessor {
73
73
  });
74
74
  }
75
75
  catch (error) {
76
- this.logger.trace(this.cameraAccessory.logPrefix, 'Error sending audio packet:', error);
76
+ this.cameraLogger.trace('Error sending audio packet:', error);
77
77
  }
78
78
  }
79
79
  }
@@ -103,19 +103,18 @@ export class VideoProcessor {
103
103
  targetPort;
104
104
  mtu;
105
105
  payloadType;
106
- logger;
106
+ cameraLogger;
107
107
  videoSrtpSession;
108
108
  sequenceNumber;
109
- timestamp;
110
- lastTimestamp;
111
109
  sps = null;
112
110
  pps = null;
113
111
  incompleteFrame = null;
112
+ incompleteFrameTimestamp = null;
114
113
  lastSequenceNumber = -1;
115
114
  sendQueue = [];
116
115
  isSending = false;
117
116
  isStopped = false;
118
- constructor(cameraAccessory, streamSession, videoSsrc, videoSrtp, videoSplitter, targetAddress, targetPort, mtu, payloadType, logger) {
117
+ constructor(cameraAccessory, streamSession, videoSsrc, videoSrtp, videoSplitter, targetAddress, targetPort, mtu, payloadType, cameraLogger) {
119
118
  this.cameraAccessory = cameraAccessory;
120
119
  this.streamSession = streamSession;
121
120
  this.videoSsrc = videoSsrc;
@@ -125,32 +124,32 @@ export class VideoProcessor {
125
124
  this.targetPort = targetPort;
126
125
  this.mtu = mtu;
127
126
  this.payloadType = payloadType;
128
- this.logger = logger;
127
+ this.cameraLogger = cameraLogger;
129
128
  this.videoSrtpSession = new SrtpSession(getSessionConfig(this.videoSrtp));
130
129
  this.sequenceNumber = Math.floor(Math.random() * 65536);
131
- this.timestamp = Math.floor(Math.random() * 4294967296);
132
- this.lastTimestamp = this.timestamp;
133
130
  this.streamSession.onCallEnded.subscribe(() => this.stop());
134
131
  }
135
132
  processPacket(rtp) {
136
133
  if (!rtp || !rtp.payload) {
137
- this.logger.trace(this.cameraAccessory.logPrefix, 'Invalid RTP packet or missing payload.');
134
+ this.cameraLogger.trace('Invalid RTP packet or missing payload.');
138
135
  return;
139
136
  }
140
137
  const sequenceNumber = rtp.header.sequenceNumber;
141
138
  // Check for sequence number jumps
142
139
  if (this.lastSequenceNumber !== -1 && sequenceNumber !== (this.lastSequenceNumber + 1) % 65536) {
143
140
  const gap = (sequenceNumber - this.lastSequenceNumber + 65536) % 65536;
144
- // this.logger.trace(this.cameraAccessory.logPrefix,`Sequence number gap detected. Missing ${gap - 1} packets.`);
145
- if (this.incompleteFrame) {
146
- this.logger.trace(this.cameraAccessory.logPrefix, `Incomplete frame detected during packet loss (${gap - 1}). Discarding ${this.incompleteFrame.length} bytes.`);
141
+ if (gap > 1) {
142
+ this.cameraLogger.trace(`Sequence number gap detected. Missing ${gap - 1} packets.`);
143
+ if (this.incompleteFrame) {
144
+ this.cameraLogger.trace(`Incomplete frame detected during packet loss (${gap - 1}). Discarding ${this.incompleteFrame.length} bytes.`);
145
+ this.incompleteFrame = null;
146
+ this.incompleteFrameTimestamp = null;
147
+ }
147
148
  }
148
149
  }
149
150
  this.lastSequenceNumber = sequenceNumber;
150
- // Process the ordered packet
151
- this.updateTimestamp(rtp.header.timestamp);
152
151
  const naluType = rtp.payload[0] & NAL_UNIT_TYPE_MASK;
153
- // this.logger.trace(this.cameraAccessory.logPrefix,
152
+ // this.cameraLogger.trace(
154
153
  // `Received ordered packet: NAL Unit Type: ${naluType}, Payload length: ${orderedPacket.payload.length}, First 10 bytes: ${orderedPacket.payload.subarray(0, 10).toString('hex')}`,
155
154
  // );
156
155
  // Process the packet based on its NAL Unit type
@@ -172,29 +171,58 @@ export class VideoProcessor {
172
171
  }
173
172
  }
174
173
  processFuAPacket(rtp) {
175
- const fuHeader = rtp.payload[1];
174
+ const payload = rtp.payload;
175
+ if (payload.length < 2) {
176
+ this.cameraLogger.trace('FU-A packet too short. Discarding.');
177
+ return;
178
+ }
179
+ const fuIndicator = payload[0]; // Original NAL header with FU-A type
180
+ const fuHeader = payload[1]; // FU-A header containing S, E, and NAL unit type
176
181
  const startBit = (fuHeader & 0x80) !== 0;
177
182
  const endBit = (fuHeader & 0x40) !== 0;
178
- const fuType = fuHeader & NAL_UNIT_TYPE_MASK;
183
+ const naluType = fuHeader & NAL_UNIT_TYPE_MASK;
184
+ const originalNalHeader = (fuIndicator & 0xe0) | naluType;
185
+ // If start of a new fragmented NALU
179
186
  if (startBit) {
187
+ // If there's an incomplete frame, discard it
180
188
  if (this.incompleteFrame) {
181
- // this.logger.trace(this.cameraAccessory.logPrefix,'Received start of new FU-A before previous frame was completed. Discarding incomplete frame.');
189
+ this.cameraLogger.trace('Incomplete frame detected. Discarding previous incomplete frame.');
182
190
  this.incompleteFrame = null;
191
+ this.incompleteFrameTimestamp = null;
183
192
  }
184
- this.incompleteFrame = Buffer.from([fuType | (rtp.payload[0] & 0xe0)]);
193
+ // Initialize the incomplete frame buffer with the reconstructed NALU header
194
+ this.incompleteFrame = Buffer.from([originalNalHeader]);
195
+ // Set the timestamp for the incomplete frame
196
+ this.incompleteFrameTimestamp = rtp.header.timestamp;
185
197
  }
198
+ // Append the current payload (excluding the FU-A indicator and header) to the incomplete frame
186
199
  if (this.incompleteFrame) {
187
- this.incompleteFrame = Buffer.concat([this.incompleteFrame, rtp.payload.subarray(2)]);
200
+ this.incompleteFrame = Buffer.concat([this.incompleteFrame, payload.subarray(2)]);
188
201
  }
189
202
  else {
190
- // this.logger.trace(this.cameraAccessory.logPrefix,'Received FU-A continuation or end without start. Discarding.');
203
+ // this.cameraLogger.trace( 'Received FU-A continuation or end without start. Discarding.');
191
204
  return;
192
205
  }
206
+ // If this is the end of the fragmented NALU
193
207
  if (endBit) {
194
- this.processCompleteFrame(this.incompleteFrame, rtp.header.marker, rtp.header.timestamp);
208
+ // Process the complete frame
209
+ this.processCompleteFrame(this.incompleteFrame, rtp.header.marker, this.incompleteFrameTimestamp);
210
+ // Reset the incomplete frame variables
195
211
  this.incompleteFrame = null;
212
+ this.incompleteFrameTimestamp = null;
196
213
  }
197
214
  }
215
+ createStapAPacket(nalus) {
216
+ const nalRefIdc = 3 << 5; // nal_ref_idc = 3
217
+ const stapANalUnitType = NAL_UNIT_TYPE_STAP_A;
218
+ const stapAHeader = Buffer.from([nalRefIdc | stapANalUnitType]);
219
+ const naluBuffers = nalus.map((nalu) => {
220
+ const size = Buffer.alloc(2);
221
+ size.writeUInt16BE(nalu.length);
222
+ return Buffer.concat([size, nalu]);
223
+ });
224
+ return Buffer.concat([stapAHeader, ...naluBuffers]);
225
+ }
198
226
  processSTAP(rtp) {
199
227
  const payload = rtp.payload;
200
228
  let offset = 1; // Skip STAP header
@@ -209,7 +237,7 @@ export class VideoProcessor {
209
237
  const nalu = payload.subarray(offset, offset + naluSize);
210
238
  offset += naluSize;
211
239
  nalus.push(nalu);
212
- // this.logger.trace(this.cameraAccessory.logPrefix,`Processing embedded NALU of size: ${naluSize}, Total embedded NALUs: ${nalus.length}`);
240
+ // this.cameraLogger.trace(`Processing embedded NALU of size: ${naluSize}, Total embedded NALUs: ${nalus.length}`);
213
241
  }
214
242
  // Process all buffered NALUs
215
243
  nalus.forEach((nalu, index) => {
@@ -230,13 +258,13 @@ export class VideoProcessor {
230
258
  offset += naluSize;
231
259
  // Calculate the timestamp for this NALU
232
260
  const naluTimestamp = (rtp.header.timestamp + tsOffset) & 0xffffffff;
233
- // this.logger.trace(this.cameraAccessory.logPrefix,`Processing MTAP NALU: size ${naluSize}, timestamp offset ${tsOffset}, DOND ${dond}`);
261
+ // this.cameraLogger.trace(`Processing MTAP NALU: size ${naluSize}, timestamp offset ${tsOffset}, DOND ${dond}`);
234
262
  this.processCompleteFrame(nalu, offset >= payload.length && rtp.header.marker, naluTimestamp);
235
263
  }
236
264
  }
237
265
  processSimpleNALU(rtp) {
238
266
  const naluType = rtp.payload[0] & NAL_UNIT_TYPE_MASK;
239
- // this.logger.trace(this.cameraAccessory.logPrefix,`Processing Simple NAL Unit Type: ${naluType}, Marker: ${rtp.header.marker}`);
267
+ // this.cameraLogger.trace(`Processing Simple NAL Unit Type: ${naluType}, Marker: ${rtp.header.marker}`);
240
268
  switch (naluType) {
241
269
  case NAL_UNIT_TYPE_SPS:
242
270
  this.sps = Buffer.from(rtp.payload);
@@ -245,11 +273,9 @@ export class VideoProcessor {
245
273
  this.pps = Buffer.from(rtp.payload);
246
274
  break;
247
275
  case NAL_UNIT_TYPE_SEI:
248
- this.processSEI(rtp.payload);
249
- break;
250
276
  case NAL_UNIT_TYPE_AUD:
251
277
  case NAL_UNIT_TYPE_FILLER:
252
- // this.logger.trace(this.cameraAccessory.logPrefix,`Skipping NAL Unit Type: ${naluType}`);
278
+ // this.cameraLogger.trace(`Skipping NAL Unit Type: ${naluType}`);
253
279
  break;
254
280
  default:
255
281
  this.processCompleteFrame(rtp.payload, rtp.header.marker, rtp.header.timestamp);
@@ -258,15 +284,13 @@ export class VideoProcessor {
258
284
  }
259
285
  processCompleteFrame(frame, marker, timestamp) {
260
286
  const naluType = frame[0] & NAL_UNIT_TYPE_MASK;
261
- // this.logger.trace(this.cameraAccessory.logPrefix,
287
+ // this.cameraLogger.trace(
262
288
  // `Processing complete frame: NAL Unit Type: ${naluType}, Marker: ${marker}, Length: ${frame.length}, First 10 bytes: ${frame.subarray(0, 10).toString('hex')}`,
263
289
  // );
264
290
  if (this.isIDRFrame(naluType, marker, frame)) {
265
- // this.logger.trace(this.cameraAccessory.logPrefix,'Detected IDR frame');
266
291
  if (this.sps && this.pps) {
267
- // this.logger.trace(this.cameraAccessory.logPrefix,'Prepending SPS and PPS to IDR frame');
268
- this.queueRTPPacket(this.sps, false, timestamp);
269
- this.queueRTPPacket(this.pps, false, timestamp);
292
+ const stapAPacket = this.createStapAPacket([this.sps, this.pps]);
293
+ this.queueRTPPacket(stapAPacket, false, timestamp);
270
294
  }
271
295
  }
272
296
  this.fragmentAndSendNALU(frame, this.mtu - RTP_HEADER_SIZE - FU_A_HEADER_SIZE, marker, timestamp);
@@ -287,7 +311,8 @@ export class VideoProcessor {
287
311
  if (isLastFragment)
288
312
  fragmentHeader[1] |= 0x40; // End bit
289
313
  const fragment = Buffer.concat([fragmentHeader, naluData.subarray(naluDataIndex, naluDataIndex + currentFragmentSize)]);
290
- this.queueRTPPacket(fragment, isLastFragment && finalMarker, timestamp);
314
+ // Always set the marker on the last fragment of the NALU
315
+ this.queueRTPPacket(fragment, isLastFragment, timestamp);
291
316
  naluDataIndex += currentFragmentSize;
292
317
  }
293
318
  }
@@ -323,28 +348,14 @@ export class VideoProcessor {
323
348
  });
324
349
  }
325
350
  catch (error) {
326
- this.logger.trace(this.cameraAccessory.logPrefix, 'Error sending video packet:', error);
351
+ this.cameraLogger.trace('Error sending video packet:', error);
327
352
  }
328
353
  this.sequenceNumber = (this.sequenceNumber + 1) & 0xffff;
329
354
  setImmediate(() => this.processQueue());
330
355
  }
331
- updateTimestamp(packetTimestamp) {
332
- if (this.lastTimestamp === 0) {
333
- this.lastTimestamp = packetTimestamp;
334
- this.timestamp = packetTimestamp;
335
- return;
336
- }
337
- const timestampDiff = (packetTimestamp - this.lastTimestamp + 0x100000000) % 0x100000000;
338
- this.timestamp = (this.timestamp + timestampDiff) % 0x100000000;
339
- this.lastTimestamp = packetTimestamp;
340
- }
341
- processSEI(nalu) {
342
- // this.logger.trace(this.cameraAccessory.logPrefix,'Processing SEI message');
343
- this.queueRTPPacket(nalu, false, this.timestamp);
344
- }
345
356
  isIDRFrame(naluType, marker, nalu) {
346
357
  if (naluType === NAL_UNIT_TYPE_IFRAME) {
347
- // this.logger.trace(this.cameraAccessory.logPrefix,'Detected explicit IDR frame in single NAL unit packet');
358
+ // this.cameraLogger.trace('Detected explicit IDR frame in single NAL unit packet');
348
359
  return true;
349
360
  }
350
361
  if (naluType === NAL_UNIT_TYPE_FU_A && nalu.length >= 2) {
@@ -352,12 +363,12 @@ export class VideoProcessor {
352
363
  const fuNaluType = fuHeader & NAL_UNIT_TYPE_MASK;
353
364
  const startBit = (fuHeader & 0x80) !== 0;
354
365
  if (fuNaluType === NAL_UNIT_TYPE_IFRAME && startBit) {
355
- // this.logger.trace(this.cameraAccessory.logPrefix,'Detected IDR frame in FU-A packet');
366
+ // this.cameraLogger.trace('Detected IDR frame in FU-A packet');
356
367
  return true;
357
368
  }
358
369
  }
359
370
  // Additional check for slice type
360
- const additionalCheck = false;
371
+ const additionalCheck = true;
361
372
  if (additionalCheck && nalu.length > 5) {
362
373
  // Ensure we have enough data to check
363
374
  let offset = 1; // Start after NAL unit type
@@ -365,17 +376,22 @@ export class VideoProcessor {
365
376
  if ((nalu[0] & 0x60) !== 0) {
366
377
  offset += 3;
367
378
  }
368
- // Ensure we still have enough data after potential header extension
369
- if (nalu.length > offset + 1) {
370
- const firstMbInSlice = this.readExponentialGolombCode(nalu, offset);
371
- offset += firstMbInSlice.numBits;
372
- // Read slice type
373
- const sliceType = this.readExponentialGolombCode(nalu, offset).value & 0x1f;
374
- if (sliceType === 5 || sliceType === 7) {
375
- this.logger.trace(this.cameraAccessory.logPrefix, `Detected potential IDR frame based on slice type: ${sliceType}`);
376
- return true;
379
+ try {
380
+ // Ensure we still have enough data after potential header extension
381
+ if (nalu.length > offset + 1) {
382
+ const firstMbInSlice = this.readExponentialGolombCode(nalu, offset);
383
+ offset += firstMbInSlice.numBits;
384
+ // Read slice type
385
+ const sliceType = this.readExponentialGolombCode(nalu, offset).value & NAL_UNIT_TYPE_MASK;
386
+ if (sliceType === 5 || sliceType === 7) {
387
+ // this.cameraLogger.trace( `Detected potential IDR frame based on slice type: ${sliceType}`);
388
+ return true;
389
+ }
377
390
  }
378
391
  }
392
+ catch {
393
+ return false;
394
+ }
379
395
  }
380
396
  return false;
381
397
  }
@@ -402,6 +418,55 @@ export class VideoProcessor {
402
418
  }
403
419
  return { value: value - 1, numBits: 2 * leadingZeroBits + 1 };
404
420
  }
421
+ stop() {
422
+ this.isStopped = true;
423
+ this.sendQueue = [];
424
+ this.incompleteFrame = null;
425
+ this.incompleteFrameTimestamp = null;
426
+ }
427
+ }
428
+ export class FFmpegProcessor {
429
+ cameraAccessory;
430
+ streamSession;
431
+ ffmpegSplitter;
432
+ videoSplitter;
433
+ cameraLogger;
434
+ sendQueue = [];
435
+ isProcessing = false;
436
+ isStopped = false;
437
+ constructor(cameraAccessory, streamSession, ffmpegSplitter, videoSplitter, cameraLogger) {
438
+ this.cameraAccessory = cameraAccessory;
439
+ this.streamSession = streamSession;
440
+ this.ffmpegSplitter = ffmpegSplitter;
441
+ this.videoSplitter = videoSplitter;
442
+ this.cameraLogger = cameraLogger;
443
+ this.streamSession.onCallEnded.subscribe(() => this.stop());
444
+ }
445
+ processPacket(packet) {
446
+ this.sendQueue.push(packet);
447
+ if (!this.isProcessing) {
448
+ this.processQueue();
449
+ }
450
+ }
451
+ async processQueue() {
452
+ if (this.sendQueue.length === 0 || this.isStopped) {
453
+ this.isProcessing = false;
454
+ return;
455
+ }
456
+ this.isProcessing = true;
457
+ const packet = this.sendQueue.shift();
458
+ try {
459
+ await this.ffmpegSplitter.send(packet, {
460
+ port: this.videoSplitter.port,
461
+ address: this.videoSplitter.address,
462
+ });
463
+ this.cameraLogger.debug(`Sent packet of ${packet.length} bytes to video splitter`);
464
+ }
465
+ catch (error) {
466
+ this.cameraLogger.error('Error sending video packet:', error);
467
+ }
468
+ setImmediate(() => this.processQueue());
469
+ }
405
470
  stop() {
406
471
  this.isStopped = true;
407
472
  this.sendQueue = [];
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/utils/processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO1D,MAAM,UAAU,gBAAgB,CAAC,WAAwB;IACvD,OAAO;QACL,IAAI,EAAE;YACJ,cAAc,EAAE,WAAW,CAAC,OAAO;YACnC,eAAe,EAAE,WAAW,CAAC,QAAQ;YACrC,eAAe,EAAE,WAAW,CAAC,OAAO;YACpC,gBAAgB,EAAE,WAAW,CAAC,QAAQ;SACvC;QACD,OAAO,EAAE,CAAC;KACX,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,cAAc;IASf;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAlBF,gBAAgB,CAAc;IAC9B,gBAAgB,CAAmB;IAEnC,kBAAkB,CAAS;IAC3B,cAAc,CAAqB;IACnC,gBAAgB,GAAG,CAAC,CAAC;IAE7B,YACU,eAAgC,EAChC,SAAiB,EACjB,SAAsB,EACtB,aAA0B,EAC1B,aAAqB,EACrB,UAAkB,EAClB,WAAmB,EACnB,UAAkB,EAClB,UAAkB,EAClB,MAAe,EACf,MAAqB;QAVrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,cAAS,GAAT,SAAS,CAAQ;QACjB,cAAS,GAAT,SAAS,CAAa;QACtB,kBAAa,GAAb,aAAa,CAAa;QAC1B,kBAAa,GAAb,aAAa,CAAQ;QACrB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAQ;QAClB,eAAU,GAAV,UAAU,CAAQ;QAClB,WAAM,GAAN,MAAM,CAAS;QACf,WAAM,GAAN,MAAM,CAAe;QAE7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;IAC3E,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,IAAI,GAAG,GAA0B,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YAC7C,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC;YAClH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,GAAc;QAC/B,IAAI,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAEjC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAE/E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvC,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,OAAO,EAAE,IAAI,CAAC,aAAa;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;CACF;AAED,YAAY;AACZ,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,kCAAkC;AAClC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,OAAO,cAAc;IAgBf;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAxBF,gBAAgB,CAAc;IAC9B,cAAc,CAAS;IACvB,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,GAAG,GAAkB,IAAI,CAAC;IAC1B,GAAG,GAAkB,IAAI,CAAC;IAC1B,eAAe,GAAkB,IAAI,CAAC;IACtC,kBAAkB,GAAW,CAAC,CAAC,CAAC;IAEhC,SAAS,GAA8D,EAAE,CAAC;IAE1E,SAAS,GAAY,KAAK,CAAC;IAC3B,SAAS,GAAY,KAAK,CAAC;IAEnC,YACU,eAAgC,EAChC,aAA4B,EAC5B,SAAiB,EACjB,SAAsB,EACtB,aAA0B,EAC1B,aAAqB,EACrB,UAAkB,EAClB,GAAW,EACX,WAAmB,EACnB,MAAqB;QATrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAQ;QACjB,cAAS,GAAT,SAAS,CAAa;QACtB,kBAAa,GAAb,aAAa,CAAa;QAC1B,kBAAa,GAAb,aAAa,CAAQ;QACrB,eAAU,GAAV,UAAU,CAAQ;QAClB,QAAG,GAAH,GAAG,CAAQ;QACX,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAe;QAE7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,aAAa,CAAC,GAAc;QACjC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;QAEjD,kCAAkC;QAClC,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;YAC/F,MAAM,GAAG,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;YACvE,iHAAiH;YACjH,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,iDAAiD,GAAG,GAAG,CAAC,iBAAiB,IAAI,CAAC,eAAe,CAAC,MAAM,SAAS,CAAC,CAAC;YACnK,CAAC;QACH,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC;QAEzC,6BAA6B;QAC7B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;QAErD,oDAAoD;QACpD,sLAAsL;QACtL,KAAK;QAEL,gDAAgD;QAChD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,kBAAkB;gBACrB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,oBAAoB,CAAC;YAC1B,KAAK,oBAAoB;gBACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,oBAAoB,CAAC;YAC1B,KAAK,oBAAoB;gBACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM;YACR;gBACE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM;QACV,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,GAAc;QACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,QAAQ,GAAG,kBAAkB,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,oJAAoJ;gBACpJ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,oHAAoH;YACpH,OAAO;QACT,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,GAAc;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,mBAAmB;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,mDAAmD;QACnD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,oBAAoB,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QAED,OAAO,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;YACzD,MAAM,IAAI,QAAQ,CAAC;YAEnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,4IAA4I;QAC9I,CAAC;QAED,6BAA6B;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,GAAc;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;QACjD,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,4BAA4B;QAE5C,OAAO,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC/B,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,QAAQ,KAAK,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAClH,MAAM,IAAI,QAAQ,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;YACzD,MAAM,IAAI,QAAQ,CAAC;YAEnB,wCAAwC;YACxC,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,UAAU,CAAC;YAErE,0IAA0I;YAC1I,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,GAAc;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;QACrD,kIAAkI;QAElI,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,iBAAiB;gBACpB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,iBAAiB,CAAC;YACvB,KAAK,oBAAoB;gBACvB,2FAA2F;gBAC3F,MAAM;YACR;gBACE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChF,MAAM;QACV,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,KAAa,EAAE,MAAe,EAAE,SAAiB;QAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;QAE/C,oDAAoD;QACpD,mKAAmK;QACnK,KAAK;QAEL,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7C,0EAA0E;YAC1E,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzB,2FAA2F;gBAC3F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,eAAe,GAAG,gBAAgB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACpG,CAAC;IAEO,mBAAmB,CAAC,IAAY,EAAE,eAAuB,EAAE,WAAoB,EAAE,SAAiB;QACxG,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,UAAU,GAAG,kBAAkB,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,OAAO,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,gBAAgB,EAAE,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;YAC1G,MAAM,cAAc,GAAG,aAAa,GAAG,mBAAmB,KAAK,QAAQ,CAAC,MAAM,CAAC;YAE/E,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACtD,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,kBAAkB,CAAC;YAC7D,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YAC7B,IAAI,aAAa,KAAK,CAAC;gBAAE,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY;YAChE,IAAI,cAAc;gBAAE,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU;YAEzD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAExH,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,IAAI,WAAW,EAAE,SAAS,CAAC,CAAC;YACxE,aAAa,IAAI,mBAAmB,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,OAAe,EAAE,MAAe,EAAE,SAAiB;QACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC;QAE/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;gBAC3B,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAI,CAAC,SAAS;aACrB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAE3F,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC7C,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,OAAO,EAAE,IAAI,CAAC,aAAa;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QAEzD,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEO,eAAe,CAAC,eAAuB;QAC7C,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;QACzF,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,WAAW,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;IACvC,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,8EAA8E;QAC9E,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAEO,UAAU,CAAC,QAAgB,EAAE,MAAe,EAAE,IAAY;QAChE,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACtC,6GAA6G;YAC7G,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,KAAK,kBAAkB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,UAAU,GAAG,QAAQ,GAAG,kBAAkB,CAAC;YACjD,MAAM,QAAQ,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,UAAU,KAAK,oBAAoB,IAAI,QAAQ,EAAE,CAAC;gBACpD,yFAAyF;gBACzF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,MAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAI,eAAe,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,sCAAsC;YACtC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,4BAA4B;YAE5C,4CAA4C;YAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,CAAC;YACd,CAAC;YAED,oEAAoE;YACpE,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACpE,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC;gBAEjC,kBAAkB;gBAClB,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;gBAE5E,IAAI,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,qDAAqD,SAAS,EAAE,CAAC,CAAC;oBACpH,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,yBAAyB,CAAC,MAAc,EAAE,KAAa;QAC7D,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClE,MAAM;YACR,CAAC;YACD,eAAe,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC;QACX,CAAC;QAED,MAAM,EAAE,CAAC;QACT,IAAI,KAAK,GAAG,CAAC,IAAI,eAAe,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClE,KAAK,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,EAAE,CAAC;QACX,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC;IAChE,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/utils/processor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "HomeKit",
3
3
  "name": "@camera.ui/camera-ui-homekit",
4
- "version": "0.0.26",
4
+ "version": "0.0.28",
5
5
  "description": "camera.ui homekit plugin",
6
6
  "author": "seydx (https://github.com/seydx/camera.ui)",
7
7
  "main": "./dist/index.js",
@@ -16,33 +16,33 @@
16
16
  "postinstall": "node scripts/install-optional-deps.js"
17
17
  },
18
18
  "dependencies": {
19
- "@camera.ui/common": "^0.0.18",
19
+ "@camera.ui/common": "^0.0.22",
20
20
  "hap-nodejs": "^1.1.0",
21
21
  "pick-port": "^2.1.0",
22
22
  "rxjs": "^7.8.1",
23
23
  "werift": "^0.20.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@camera.ui/types": "^0.0.73",
26
+ "@camera.ui/types": "^0.0.77",
27
27
  "@rushstack/eslint-patch": "^1.10.4",
28
- "@types/node": "^22.6.1",
28
+ "@types/node": "^22.7.6",
29
29
  "@types/ws": "^8.5.12",
30
- "@typescript-eslint/eslint-plugin": "^8.7.0",
31
- "@typescript-eslint/parser": "^8.7.0",
30
+ "@typescript-eslint/eslint-plugin": "^8.10.0",
31
+ "@typescript-eslint/parser": "^8.10.0",
32
32
  "concurrently": "^9.0.1",
33
33
  "eslint": "8.57.0",
34
34
  "eslint-config-prettier": "^9.1.0",
35
35
  "eslint-plugin-prettier": "^5.2.1",
36
36
  "prettier": "^3.3.3",
37
37
  "rimraf": "^6.0.1",
38
- "typescript": "^5.6.2",
38
+ "typescript": "^5.6.3",
39
39
  "updates": "^16.4.0"
40
40
  },
41
41
  "bugs": {
42
42
  "url": "https://github.com/seydx/camera.ui/issues"
43
43
  },
44
44
  "engines": {
45
- "camera.ui": ">=0.0.31-alpha.4",
45
+ "camera.ui": ">=0.0.34-alpha.2",
46
46
  "node": ">=20.17.0"
47
47
  },
48
48
  "homepage": "https://github.com/seydx/camera.ui#readme",