livekit-client 0.15.4 → 0.16.3

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.
Files changed (73) hide show
  1. package/dist/api/RequestQueue.d.ts +12 -0
  2. package/dist/api/RequestQueue.js +61 -0
  3. package/dist/api/RequestQueue.js.map +1 -0
  4. package/dist/api/SignalClient.d.ts +7 -3
  5. package/dist/api/SignalClient.js +25 -4
  6. package/dist/api/SignalClient.js.map +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/options.d.ts +0 -10
  11. package/dist/proto/livekit_rtc.d.ts +15 -10
  12. package/dist/proto/livekit_rtc.js +36 -22
  13. package/dist/proto/livekit_rtc.js.map +1 -1
  14. package/dist/room/RTCEngine.d.ts +27 -6
  15. package/dist/room/RTCEngine.js +163 -46
  16. package/dist/room/RTCEngine.js.map +1 -1
  17. package/dist/room/Room.d.ts +50 -6
  18. package/dist/room/Room.js +128 -67
  19. package/dist/room/Room.js.map +1 -1
  20. package/dist/room/events.d.ts +13 -4
  21. package/dist/room/events.js +15 -6
  22. package/dist/room/events.js.map +1 -1
  23. package/dist/room/participant/LocalParticipant.d.ts +1 -2
  24. package/dist/room/participant/LocalParticipant.js +7 -8
  25. package/dist/room/participant/LocalParticipant.js.map +1 -1
  26. package/dist/room/participant/Participant.d.ts +30 -4
  27. package/dist/room/participant/Participant.js +2 -2
  28. package/dist/room/participant/Participant.js.map +1 -1
  29. package/dist/room/participant/RemoteParticipant.d.ts +3 -4
  30. package/dist/room/participant/RemoteParticipant.js +3 -0
  31. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  32. package/dist/room/track/LocalAudioTrack.js +8 -1
  33. package/dist/room/track/LocalAudioTrack.js.map +1 -1
  34. package/dist/room/track/LocalTrackPublication.d.ts +2 -0
  35. package/dist/room/track/LocalTrackPublication.js.map +1 -1
  36. package/dist/room/track/LocalVideoTrack.d.ts +1 -5
  37. package/dist/room/track/LocalVideoTrack.js +12 -117
  38. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  39. package/dist/room/track/RemoteTrackPublication.d.ts +1 -1
  40. package/dist/room/track/RemoteTrackPublication.js +7 -1
  41. package/dist/room/track/RemoteTrackPublication.js.map +1 -1
  42. package/dist/room/track/RemoteVideoTrack.js +12 -7
  43. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  44. package/dist/room/track/Track.d.ts +16 -3
  45. package/dist/room/track/Track.js +30 -20
  46. package/dist/room/track/Track.js.map +1 -1
  47. package/dist/room/track/types.d.ts +4 -4
  48. package/dist/room/utils.d.ts +1 -0
  49. package/dist/room/utils.js +5 -21
  50. package/dist/room/utils.js.map +1 -1
  51. package/dist/version.d.ts +2 -2
  52. package/dist/version.js +2 -2
  53. package/package.json +3 -4
  54. package/src/api/RequestQueue.ts +53 -0
  55. package/src/api/SignalClient.ts +33 -5
  56. package/src/index.ts +1 -1
  57. package/src/options.ts +0 -12
  58. package/src/proto/livekit_rtc.ts +55 -41
  59. package/src/room/RTCEngine.ts +198 -53
  60. package/src/room/Room.ts +227 -96
  61. package/src/room/events.ts +15 -4
  62. package/src/room/participant/LocalParticipant.ts +6 -7
  63. package/src/room/participant/Participant.ts +39 -4
  64. package/src/room/participant/RemoteParticipant.ts +9 -4
  65. package/src/room/track/LocalAudioTrack.ts +8 -1
  66. package/src/room/track/LocalTrackPublication.ts +3 -0
  67. package/src/room/track/LocalVideoTrack.ts +11 -142
  68. package/src/room/track/RemoteTrackPublication.ts +8 -2
  69. package/src/room/track/RemoteVideoTrack.ts +14 -7
  70. package/src/room/track/Track.ts +46 -24
  71. package/src/room/track/types.ts +4 -4
  72. package/src/room/utils.ts +4 -16
  73. package/src/version.ts +2 -2
package/dist/room/Room.js CHANGED
@@ -44,6 +44,7 @@ const LocalParticipant_1 = __importDefault(require("./participant/LocalParticipa
44
44
  const RemoteParticipant_1 = __importDefault(require("./participant/RemoteParticipant"));
45
45
  const RTCEngine_1 = __importStar(require("./RTCEngine"));
46
46
  const defaults_1 = require("./track/defaults");
47
+ const RemoteTrackPublication_1 = __importDefault(require("./track/RemoteTrackPublication"));
47
48
  const Track_1 = require("./track/Track");
48
49
  const utils_1 = require("./utils");
49
50
  var RoomState;
@@ -106,6 +107,7 @@ class Room extends events_1.EventEmitter {
106
107
  this.options.dynacast = false;
107
108
  }
108
109
  this.state = RoomState.Connected;
110
+ this.emit(events_2.RoomEvent.StateChanged, this.state);
109
111
  const pi = joinResponse.participant;
110
112
  this.localParticipant = new LocalParticipant_1.default(pi.sid, pi.identity, this.engine, this.options);
111
113
  this.localParticipant.updateInfo(pi);
@@ -179,10 +181,44 @@ class Room extends events_1.EventEmitter {
179
181
  this.onBeforeUnload = () => {
180
182
  this.disconnect();
181
183
  };
184
+ this.handleRestarting = () => {
185
+ this.state = RoomState.Reconnecting;
186
+ this.emit(events_2.RoomEvent.Reconnecting);
187
+ this.emit(events_2.RoomEvent.StateChanged, this.state);
188
+ // also unwind existing participants & existing subscriptions
189
+ for (const p of this.participants.values()) {
190
+ this.handleParticipantDisconnected(p.sid, p);
191
+ }
192
+ };
193
+ this.handleRestarted = (joinResponse) => __awaiter(this, void 0, void 0, function* () {
194
+ this.state = RoomState.Connected;
195
+ this.emit(events_2.RoomEvent.Reconnected);
196
+ this.emit(events_2.RoomEvent.StateChanged, this.state);
197
+ // rehydrate participants
198
+ if (joinResponse.participant) {
199
+ // with a restart, the sid will have changed, we'll map our understanding to it
200
+ this.localParticipant.sid = joinResponse.participant.sid;
201
+ this.handleParticipantUpdates([joinResponse.participant]);
202
+ }
203
+ this.handleParticipantUpdates(joinResponse.otherParticipants);
204
+ // unpublish & republish tracks
205
+ const localPubs = [];
206
+ this.localParticipant.tracks.forEach((pub) => {
207
+ if (pub.track) {
208
+ localPubs.push(pub);
209
+ }
210
+ });
211
+ yield Promise.all(localPubs.map((pub) => __awaiter(this, void 0, void 0, function* () {
212
+ const track = pub.track;
213
+ this.localParticipant.unpublishTrack(track, false);
214
+ this.localParticipant.publishTrack(track, pub.options);
215
+ })));
216
+ });
182
217
  this.handleParticipantUpdates = (participantInfos) => {
183
218
  // handle changes to participant state, and send events
184
219
  participantInfos.forEach((info) => {
185
- if (info.sid === this.localParticipant.sid) {
220
+ if (info.sid === this.localParticipant.sid
221
+ || info.identity === this.localParticipant.identity) {
186
222
  this.localParticipant.updateInfo(info);
187
223
  return;
188
224
  }
@@ -348,33 +384,39 @@ class Room extends events_1.EventEmitter {
348
384
  }
349
385
  this.engine = new RTCEngine_1.default();
350
386
  this.engine.client.signalLatency = this.options.expSignalLatency;
351
- this.engine.on(events_2.EngineEvent.MediaTrackAdded, (mediaTrack, stream, receiver) => {
352
- this.onTrackAdded(mediaTrack, stream, receiver);
353
- });
354
- this.engine.on(events_2.EngineEvent.Disconnected, () => {
355
- this.handleDisconnect();
356
- });
357
387
  this.engine.client.onParticipantUpdate = this.handleParticipantUpdates;
358
388
  this.engine.client.onRoomUpdate = this.handleRoomUpdate;
359
389
  this.engine.client.onSpeakersChanged = this.handleSpeakersChanged;
360
390
  this.engine.client.onStreamStateUpdate = this.handleStreamStateUpdate;
361
391
  this.engine.client.onSubscriptionPermissionUpdate = this.handleSubscriptionPermissionUpdate;
362
- this.engine.on(events_2.EngineEvent.ActiveSpeakersUpdate, this.handleActiveSpeakersUpdate);
363
- this.engine.on(events_2.EngineEvent.DataPacketReceived, this.handleDataPacket);
364
- this.engine.on(events_2.EngineEvent.Reconnecting, () => {
392
+ this.engine.client.onConnectionQuality = this.handleConnectionQualityUpdate;
393
+ this.engine
394
+ .on(events_2.EngineEvent.MediaTrackAdded, (mediaTrack, stream, receiver) => {
395
+ this.onTrackAdded(mediaTrack, stream, receiver);
396
+ })
397
+ .on(events_2.EngineEvent.Disconnected, () => {
398
+ this.handleDisconnect();
399
+ })
400
+ .on(events_2.EngineEvent.ActiveSpeakersUpdate, this.handleActiveSpeakersUpdate)
401
+ .on(events_2.EngineEvent.DataPacketReceived, this.handleDataPacket)
402
+ .on(events_2.EngineEvent.Resuming, () => {
365
403
  this.state = RoomState.Reconnecting;
366
404
  this.emit(events_2.RoomEvent.Reconnecting);
367
- });
368
- this.engine.on(events_2.EngineEvent.Reconnected, () => {
405
+ this.emit(events_2.RoomEvent.StateChanged, this.state);
406
+ })
407
+ .on(events_2.EngineEvent.Resumed, () => {
369
408
  this.state = RoomState.Connected;
370
409
  this.emit(events_2.RoomEvent.Reconnected);
371
- });
372
- this.engine.on(events_2.EngineEvent.SignalConnected, () => {
410
+ this.emit(events_2.RoomEvent.StateChanged, this.state);
411
+ this.updateSubscriptions();
412
+ })
413
+ .on(events_2.EngineEvent.SignalResumed, () => {
373
414
  if (this.state === RoomState.Reconnecting) {
374
415
  this.sendSyncState();
375
416
  }
376
- });
377
- this.engine.client.onConnectionQuality = this.handleConnectionQualityUpdate;
417
+ })
418
+ .on(events_2.EngineEvent.Restarting, this.handleRestarting)
419
+ .on(events_2.EngineEvent.Restarted, this.handleRestarted);
378
420
  }
379
421
  /**
380
422
  * getLocalDevices abstracts navigator.mediaDevices.enumerateDevices.
@@ -554,6 +596,7 @@ class Room extends events_1.EventEmitter {
554
596
  navigator.mediaDevices.removeEventListener('devicechange', this.handleDeviceChange);
555
597
  this.state = RoomState.Disconnected;
556
598
  this.emit(events_2.RoomEvent.Disconnected);
599
+ this.emit(events_2.RoomEvent.StateChanged, this.state);
557
600
  }
558
601
  handleParticipantDisconnected(sid, participant) {
559
602
  // remove and send event
@@ -578,58 +621,63 @@ class Room extends events_1.EventEmitter {
578
621
  this.audioContext = new AudioContext();
579
622
  }
580
623
  }
624
+ createParticipant(id, info) {
625
+ let participant;
626
+ if (info) {
627
+ participant = RemoteParticipant_1.default.fromParticipantInfo(this.engine.client, info);
628
+ }
629
+ else {
630
+ participant = new RemoteParticipant_1.default(this.engine.client, id, '');
631
+ }
632
+ return participant;
633
+ }
581
634
  getOrCreateParticipant(id, info) {
582
- let participant = this.participants.get(id);
583
- if (!participant) {
584
- // it's possible for the RTC track to arrive before signaling data
585
- // when this happens, we'll create the participant and make the track work
586
- if (info) {
587
- participant = RemoteParticipant_1.default.fromParticipantInfo(this.engine.client, info);
588
- }
589
- else {
590
- participant = new RemoteParticipant_1.default(this.engine.client, id, '');
591
- }
592
- this.participants.set(id, participant);
593
- // also forward events
594
- // trackPublished is only fired for tracks added after both local participant
595
- // and remote participant joined the room
596
- participant
597
- .on(events_2.ParticipantEvent.TrackPublished, (trackPublication) => {
598
- this.emit(events_2.RoomEvent.TrackPublished, trackPublication, participant);
599
- })
600
- .on(events_2.ParticipantEvent.TrackSubscribed, (track, publication) => {
601
- // monitor playback status
602
- if (track.kind === Track_1.Track.Kind.Audio) {
603
- track.on(events_2.TrackEvent.AudioPlaybackStarted, this.handleAudioPlaybackStarted);
604
- track.on(events_2.TrackEvent.AudioPlaybackFailed, this.handleAudioPlaybackFailed);
605
- }
606
- this.emit(events_2.RoomEvent.TrackSubscribed, track, publication, participant);
607
- })
608
- .on(events_2.ParticipantEvent.TrackUnpublished, (publication) => {
609
- this.emit(events_2.RoomEvent.TrackUnpublished, publication, participant);
610
- })
611
- .on(events_2.ParticipantEvent.TrackUnsubscribed, (track, publication) => {
612
- this.emit(events_2.RoomEvent.TrackUnsubscribed, track, publication, participant);
613
- })
614
- .on(events_2.ParticipantEvent.TrackSubscriptionFailed, (sid) => {
615
- this.emit(events_2.RoomEvent.TrackSubscriptionFailed, sid, participant);
616
- })
617
- .on(events_2.ParticipantEvent.TrackMuted, (pub) => {
618
- this.emit(events_2.RoomEvent.TrackMuted, pub, participant);
619
- })
620
- .on(events_2.ParticipantEvent.TrackUnmuted, (pub) => {
621
- this.emit(events_2.RoomEvent.TrackUnmuted, pub, participant);
622
- })
623
- .on(events_2.ParticipantEvent.MetadataChanged, (metadata) => {
624
- this.emit(events_2.RoomEvent.MetadataChanged, metadata, participant);
625
- })
626
- .on(events_2.ParticipantEvent.ParticipantMetadataChanged, (metadata) => {
627
- this.emit(events_2.RoomEvent.ParticipantMetadataChanged, metadata, participant);
628
- })
629
- .on(events_2.ParticipantEvent.ConnectionQualityChanged, (quality) => {
630
- this.emit(events_2.RoomEvent.ConnectionQualityChanged, quality, participant);
631
- });
635
+ if (this.participants.has(id)) {
636
+ return this.participants.get(id);
632
637
  }
638
+ // it's possible for the RTC track to arrive before signaling data
639
+ // when this happens, we'll create the participant and make the track work
640
+ const participant = this.createParticipant(id, info);
641
+ this.participants.set(id, participant);
642
+ // also forward events
643
+ // trackPublished is only fired for tracks added after both local participant
644
+ // and remote participant joined the room
645
+ participant
646
+ .on(events_2.ParticipantEvent.TrackPublished, (trackPublication) => {
647
+ this.emit(events_2.RoomEvent.TrackPublished, trackPublication, participant);
648
+ })
649
+ .on(events_2.ParticipantEvent.TrackSubscribed, (track, publication) => {
650
+ // monitor playback status
651
+ if (track.kind === Track_1.Track.Kind.Audio) {
652
+ track.on(events_2.TrackEvent.AudioPlaybackStarted, this.handleAudioPlaybackStarted);
653
+ track.on(events_2.TrackEvent.AudioPlaybackFailed, this.handleAudioPlaybackFailed);
654
+ }
655
+ this.emit(events_2.RoomEvent.TrackSubscribed, track, publication, participant);
656
+ })
657
+ .on(events_2.ParticipantEvent.TrackUnpublished, (publication) => {
658
+ this.emit(events_2.RoomEvent.TrackUnpublished, publication, participant);
659
+ })
660
+ .on(events_2.ParticipantEvent.TrackUnsubscribed, (track, publication) => {
661
+ this.emit(events_2.RoomEvent.TrackUnsubscribed, track, publication, participant);
662
+ })
663
+ .on(events_2.ParticipantEvent.TrackSubscriptionFailed, (sid) => {
664
+ this.emit(events_2.RoomEvent.TrackSubscriptionFailed, sid, participant);
665
+ })
666
+ .on(events_2.ParticipantEvent.TrackMuted, (pub) => {
667
+ this.emit(events_2.RoomEvent.TrackMuted, pub, participant);
668
+ })
669
+ .on(events_2.ParticipantEvent.TrackUnmuted, (pub) => {
670
+ this.emit(events_2.RoomEvent.TrackUnmuted, pub, participant);
671
+ })
672
+ .on(events_2.ParticipantEvent.MetadataChanged, (metadata) => {
673
+ this.emit(events_2.RoomEvent.MetadataChanged, metadata, participant);
674
+ })
675
+ .on(events_2.ParticipantEvent.ParticipantMetadataChanged, (metadata) => {
676
+ this.emit(events_2.RoomEvent.ParticipantMetadataChanged, metadata, participant);
677
+ })
678
+ .on(events_2.ParticipantEvent.ConnectionQualityChanged, (quality) => {
679
+ this.emit(events_2.RoomEvent.ConnectionQualityChanged, quality, participant);
680
+ });
633
681
  return participant;
634
682
  }
635
683
  sendSyncState() {
@@ -666,7 +714,20 @@ class Room extends events_1.EventEmitter {
666
714
  publishTracks: this.localParticipant.publishedTracksInfo(),
667
715
  });
668
716
  }
669
- /** @internal */
717
+ /**
718
+ * After resuming, we'll need to notify the server of the current
719
+ * subscription settings.
720
+ */
721
+ updateSubscriptions() {
722
+ for (const p of this.participants.values()) {
723
+ for (const pub of p.videoTracks.values()) {
724
+ if (pub.isSubscribed && pub instanceof RemoteTrackPublication_1.default) {
725
+ pub.emitTrackUpdate();
726
+ }
727
+ }
728
+ }
729
+ }
730
+ // /** @internal */
670
731
  emit(event, ...args) {
671
732
  logger_1.default.debug('room event', event, ...args);
672
733
  return super.emit(event, ...args);
@@ -1 +1 @@
1
- {"version":3,"file":"Room.js","sourceRoot":"","sources":["../../src/room/Room.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Room.js","sourceRoot":"","sources":["../../src/room/Room.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,12 @@ export declare enum RoomEvent {
22
22
  * when an unrecoverable connection issue had occured
23
23
  */
24
24
  Disconnected = "disconnected",
25
+ /**
26
+ * Whenever the connection state of the room changes
27
+ *
28
+ * args: ([[RoomState]])
29
+ */
30
+ StateChanged = "stateChanged",
25
31
  /**
26
32
  * When input or output devices on the machine have changed.
27
33
  */
@@ -129,7 +135,7 @@ export declare enum RoomEvent {
129
135
  * args: (prevMetadata: string, [[Participant]])
130
136
  *
131
137
  */
132
- ParticipantMetadataChanged = "participantMetaDataChanged",
138
+ ParticipantMetadataChanged = "participantMetadataChanged",
133
139
  /**
134
140
  * Room metadata is a simple way for app-specific state to be pushed to
135
141
  * all users.
@@ -323,11 +329,14 @@ export declare enum ParticipantEvent {
323
329
  }
324
330
  /** @internal */
325
331
  export declare enum EngineEvent {
332
+ TransportsCreated = "transportsCreated",
326
333
  Connected = "connected",
327
334
  Disconnected = "disconnected",
328
- Reconnecting = "reconnecting",
329
- Reconnected = "reconnected",
330
- SignalConnected = "singalConnected",
335
+ Resuming = "resuming",
336
+ Resumed = "resumed",
337
+ Restarting = "restarting",
338
+ Restarted = "restarted",
339
+ SignalResumed = "signalResumed",
331
340
  MediaTrackAdded = "mediaTrackAdded",
332
341
  ActiveSpeakersUpdate = "activeSpeakersUpdate",
333
342
  DataPacketReceived = "dataPacketReceived"
@@ -1,6 +1,4 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrackEvent = exports.EngineEvent = exports.ParticipantEvent = exports.RoomEvent = void 0;
4
2
  /**
5
3
  * Events are the primary way LiveKit notifies your application of changes.
6
4
  *
@@ -10,6 +8,8 @@ exports.TrackEvent = exports.EngineEvent = exports.ParticipantEvent = exports.Ro
10
8
  * room.on(RoomEvent.TrackPublished, (track, publication, participant) => {})
11
9
  * ```
12
10
  */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TrackEvent = exports.EngineEvent = exports.ParticipantEvent = exports.RoomEvent = void 0;
13
13
  var RoomEvent;
14
14
  (function (RoomEvent) {
15
15
  /**
@@ -26,6 +26,12 @@ var RoomEvent;
26
26
  * when an unrecoverable connection issue had occured
27
27
  */
28
28
  RoomEvent["Disconnected"] = "disconnected";
29
+ /**
30
+ * Whenever the connection state of the room changes
31
+ *
32
+ * args: ([[RoomState]])
33
+ */
34
+ RoomEvent["StateChanged"] = "stateChanged";
29
35
  /**
30
36
  * When input or output devices on the machine have changed.
31
37
  */
@@ -133,7 +139,7 @@ var RoomEvent;
133
139
  * args: (prevMetadata: string, [[Participant]])
134
140
  *
135
141
  */
136
- RoomEvent["ParticipantMetadataChanged"] = "participantMetaDataChanged";
142
+ RoomEvent["ParticipantMetadataChanged"] = "participantMetadataChanged";
137
143
  /**
138
144
  * Room metadata is a simple way for app-specific state to be pushed to
139
145
  * all users.
@@ -330,11 +336,14 @@ var ParticipantEvent;
330
336
  /** @internal */
331
337
  var EngineEvent;
332
338
  (function (EngineEvent) {
339
+ EngineEvent["TransportsCreated"] = "transportsCreated";
333
340
  EngineEvent["Connected"] = "connected";
334
341
  EngineEvent["Disconnected"] = "disconnected";
335
- EngineEvent["Reconnecting"] = "reconnecting";
336
- EngineEvent["Reconnected"] = "reconnected";
337
- EngineEvent["SignalConnected"] = "singalConnected";
342
+ EngineEvent["Resuming"] = "resuming";
343
+ EngineEvent["Resumed"] = "resumed";
344
+ EngineEvent["Restarting"] = "restarting";
345
+ EngineEvent["Restarted"] = "restarted";
346
+ EngineEvent["SignalResumed"] = "signalResumed";
338
347
  EngineEvent["MediaTrackAdded"] = "mediaTrackAdded";
339
348
  EngineEvent["ActiveSpeakersUpdate"] = "activeSpeakersUpdate";
340
349
  EngineEvent["DataPacketReceived"] = "dataPacketReceived";
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/room/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/room/events.ts"],"names":[],"mappings":"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"}
@@ -69,9 +69,8 @@ export default class LocalParticipant extends Participant {
69
69
  * @param options
70
70
  */
71
71
  publishTrack(track: LocalTrack | MediaStreamTrack, options?: TrackPublishOptions): Promise<LocalTrackPublication>;
72
- unpublishTrack(track: LocalTrack | MediaStreamTrack): LocalTrackPublication | null;
72
+ unpublishTrack(track: LocalTrack | MediaStreamTrack, stopOnUnpublish?: boolean): LocalTrackPublication | null;
73
73
  unpublishTracks(tracks: LocalTrack[] | MediaStreamTrack[]): LocalTrackPublication[];
74
- get publisherMetrics(): any;
75
74
  /**
76
75
  * Publish a new data payload to the room. Data will be forwarded to each
77
76
  * participant in the room if the destination argument is empty
@@ -330,7 +330,7 @@ class LocalParticipant extends Participant_1.default {
330
330
  * @param options
331
331
  */
332
332
  publishTrack(track, options) {
333
- var _a, _b, _c, _d, _e, _f, _g, _h;
333
+ var _a, _b, _c, _d, _e, _f;
334
334
  return __awaiter(this, void 0, void 0, function* () {
335
335
  const opts = Object.assign(Object.assign({}, (_a = this.roomOptions) === null || _a === void 0 ? void 0 : _a.publishDefaults), options);
336
336
  // convert raw media track into audio or video track
@@ -414,8 +414,7 @@ class LocalParticipant extends Participant_1.default {
414
414
  // store RTPSender
415
415
  track.sender = transceiver.sender;
416
416
  if (track instanceof LocalVideoTrack_1.default) {
417
- const disableLayerPause = (_h = (_g = this.roomOptions) === null || _g === void 0 ? void 0 : _g.expDisableLayerPause) !== null && _h !== void 0 ? _h : false;
418
- track.startMonitor(this.engine.client, disableLayerPause);
417
+ track.startMonitor(this.engine.client);
419
418
  }
420
419
  else if (track instanceof LocalAudioTrack_1.default) {
421
420
  track.startMonitor();
@@ -429,7 +428,7 @@ class LocalParticipant extends Participant_1.default {
429
428
  return publication;
430
429
  });
431
430
  }
432
- unpublishTrack(track) {
431
+ unpublishTrack(track, stopOnUnpublish) {
433
432
  var _a, _b;
434
433
  // look through all published tracks to find the right ones
435
434
  const publication = this.getPublicationForTrack(track);
@@ -442,7 +441,10 @@ class LocalParticipant extends Participant_1.default {
442
441
  track.off(events_1.TrackEvent.Muted, this.onTrackMuted);
443
442
  track.off(events_1.TrackEvent.Unmuted, this.onTrackUnmuted);
444
443
  track.off(events_1.TrackEvent.Ended, this.onTrackUnpublish);
445
- if ((_b = (_a = this.roomOptions) === null || _a === void 0 ? void 0 : _a.stopLocalTrackOnUnpublish) !== null && _b !== void 0 ? _b : true) {
444
+ if (stopOnUnpublish === undefined) {
445
+ stopOnUnpublish = (_b = (_a = this.roomOptions) === null || _a === void 0 ? void 0 : _a.stopLocalTrackOnUnpublish) !== null && _b !== void 0 ? _b : true;
446
+ }
447
+ if (stopOnUnpublish) {
446
448
  track.stop();
447
449
  }
448
450
  const { mediaStreamTrack } = track;
@@ -487,9 +489,6 @@ class LocalParticipant extends Participant_1.default {
487
489
  });
488
490
  return publications;
489
491
  }
490
- get publisherMetrics() {
491
- return null;
492
- }
493
492
  /**
494
493
  * Publish a new data payload to the room. Data will be forwarded to each
495
494
  * participant in the room if the destination argument is empty
@@ -1 +1 @@
1
- {"version":3,"file":"LocalParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA+B;AAK/B,yDAA2G;AAC3G,sCAGmB;AACnB,sCAAyD;AAEzD,+EAAuD;AAEvD,2FAAmE;AACnE,4EAAqF;AACrF,8CAI0B;AAC1B,0CAAuC;AACvC,0CAA4E;AAC5E,gEAAwC;AACxC,6EAAkG;AAClG,iDAA+E;AAC/E,4EAAoD;AAEpD,MAAqB,gBAAiB,SAAQ,qBAAW;IAmBvD,gBAAgB;IAChB,YAAY,GAAW,EAAE,QAAgB,EAAE,MAAiB,EAAE,OAAoB;QAChF,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAbf,sBAAiB,GAAG,IAAI,GAAG,EAAgB,CAAC;QA2hBpD,gBAAgB;QACR,mBAAc,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,2EAA2E;QAC3E,gBAAgB;QACR,iBAAY,GAAG,CACrB,KAAiB,EACjB,KAAe,EACf,EAAE;YACF,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,KAAK,GAAG,IAAI,CAAC;aACd;YAED,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBACd,gBAAG,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;gBACvE,OAAO;aACR;YAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC;QAEM,kCAA6B,GAAG,CAAC,MAA+B,EAAE,EAAE;;YAC1E,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ,CAAA,EAAE;gBAC/B,OAAO;aACR;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,GAAG,EAAE;gBACR,gBAAG,CAAC,IAAI,CAAC,+BAA+B,EACtC,sDAAsD,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3E,OAAO;aACR;YACD,MAAA,GAAG,CAAC,UAAU,0CAAE,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAClE,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QAnjBA,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,QAAgB,EAAE,KAAc,EAAE,EAAE;YAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBACtB,OAAO;aACR;YACD,IAAI,KAAK,EAAE;gBACT,GAAG,CAAC,IAAI,EAAE,CAAC;aACZ;iBAAM;gBACL,GAAG,CAAC,MAAM,EAAE,CAAC;aACd;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,GAAG,IAAI,CAAC,6BAA6B,CAAC;IACpF,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,MAAoB;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE;YACT,OAAO,KAA8B,CAAC;SACvC;IACH,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE;YACT,OAAO,KAA8B,CAAC;SACvC;IACH,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,OAAgB;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,aAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,OAAgB;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC,aAAK,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,OAAgB;QACpC,OAAO,IAAI,CAAC,eAAe,CAAC,aAAK,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACW,eAAe,CAAC,MAAoB,EAAE,OAAgB;;YAClE,gBAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,OAAO,EAAE;gBACX,IAAI,KAAK,EAAE;oBACT,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;iBACtB;qBAAM;oBACL,IAAI,UAAkC,CAAC;oBACvC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBACtC,gBAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;wBACxD,oCAAoC;wBACpC,OAAO;qBACR;oBACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACnC,IAAI;wBACF,QAAQ,MAAM,EAAE;4BACd,KAAK,aAAK,CAAC,MAAM,CAAC,MAAM;gCACtB,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;oCACrC,KAAK,EAAE,IAAI;iCACZ,CAAC,CAAC;gCACH,MAAM;4BACR,KAAK,aAAK,CAAC,MAAM,CAAC,UAAU;gCAC1B,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;oCACrC,KAAK,EAAE,IAAI;iCACZ,CAAC,CAAC;gCACH,MAAM;4BACR,KAAK,aAAK,CAAC,MAAM,CAAC,WAAW;gCAC3B,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gCAC/D,MAAM;4BACR;gCACE,MAAM,IAAI,0BAAiB,CAAC,MAAM,CAAC,CAAC;yBACvC;wBAED,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;qBACrC;oBAAC,OAAO,CAAC,EAAE;wBACV,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,0BAAiB,CAAC,EAAE;4BAC3D,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;yBAClD;wBACD,MAAM,CAAC,CAAC;qBACT;4BAAS;wBACR,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;qBACvC;iBACF;aACF;iBAAM,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;gBAC/B,iDAAiD;gBACjD,IAAI,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,WAAW,EAAE;oBACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAClC;qBAAM;oBACL,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;iBACpB;aACF;QACH,CAAC;KAAA;IAED;;;OAGG;IACG,yBAAyB;;YAC7B,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAK,CAAC,MAAM,CAAC,MAAM,CAAC;mBAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC1D,oCAAoC;gBACpC,OAAO;aACR;YAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI;gBACF,MAAM,MAAM,GAAiB,MAAM,IAAI,CAAC,YAAY,CAAC;oBACnD,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACpE;oBAAS;gBACR,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACxD;QACH,CAAC;KAAA;IAED;;;;OAIG;IACG,YAAY,CAChB,OAAkC;;;YAElC,MAAM,IAAI,GAAG,2BAAmB,CAC9B,OAAO,EACP,MAAA,IAAI,CAAC,WAAW,0CAAE,oBAAoB,EACtC,MAAA,IAAI,CAAC,WAAW,0CAAE,oBAAoB,CACvC,CAAC;YAEF,MAAM,WAAW,GAAG,6BAAqB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,MAA+B,CAAC;YACpC,IAAI;gBACF,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAChD,WAAW,CACZ,CAAC;aACH;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,GAAG,YAAY,KAAK,EAAE;oBACxB,IAAI,WAAW,CAAC,KAAK,EAAE;wBACrB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;qBAC5B;oBACD,IAAI,WAAW,CAAC,KAAK,EAAE;wBACrB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;qBACxB;iBACF;gBAED,MAAM,GAAG,CAAC;aACX;YAED,IAAI,WAAW,CAAC,KAAK,EAAE;gBACrB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;aAClC;YACD,IAAI,WAAW,CAAC,KAAK,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;aAC9B;YAED,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBACjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,KAAK,OAAO,CAAC;gBAClD,IAAI,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,OAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAQ,CAAC,KAAK,CAAC;gBAC7D,IAAI,OAAO,YAAY,KAAK,SAAS,IAAI,CAAC,YAAY,EAAE;oBACtD,YAAY,GAAG,EAAE,CAAC;iBACnB;gBACD,IAAI,gBAAmD,CAAC;gBACxD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;gBAClE,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;oBAClC,gBAAgB,GAAG,SAAS,CAAC;iBAC9B;gBACD,MAAM,KAAK,GAAG,qCAAsB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBACzE,IAAI,KAAK,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE;oBACnC,KAAK,CAAC,MAAM,GAAG,aAAK,CAAC,MAAM,CAAC,MAAM,CAAC;iBACpC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE;oBAC1C,KAAK,CAAC,MAAM,GAAG,aAAK,CAAC,MAAM,CAAC,UAAU,CAAC;iBACxC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;;KACJ;IAED;;;;OAIG;IACG,kBAAkB,CACtB,OAAmC;;;YAEnC,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,OAAO,GAAG,EAAE,CAAC;aACd;YACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;gBACpC,OAAO,CAAC,UAAU,GAAG,sBAAY,CAAC,GAAG,CAAC,UAAU,CAAC;aAClD;YAED,IAAI,gBAAgB,GAAoC,IAAI,CAAC;YAC7D,IAAI,OAAO,CAAC,UAAU,EAAE;gBACtB,gBAAgB,GAAG;oBACjB,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;oBAC/B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;oBACjC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;iBACxC,CAAC;aACH;YACD,yGAAyG;YACzG,aAAa;YACb,MAAM,MAAM,GAAgB,MAAM,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC;gBACvE,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,KAAK;gBAC7B,KAAK,EAAE,gBAAgB;aACxB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,MAAM,IAAI,0BAAiB,CAAC,sBAAsB,CAAC,CAAC;aACrD;YACD,MAAM,WAAW,GAAG,IAAI,yBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,WAAW,CAAC,MAAM,GAAG,aAAK,CAAC,MAAM,CAAC,WAAW,CAAC;YAC9C,MAAM,WAAW,GAAsB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,MAAM,WAAW,GAAG,IAAI,yBAAe,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,WAAW,CAAC,MAAM,GAAG,aAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACnD,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC/B;YACD,OAAO,WAAW,CAAC;;KACpB;IAED;;;;OAIG;IACG,YAAY,CAChB,KAAoC,EACpC,OAA6B;;;YAE7B,MAAM,IAAI,mCACL,MAAA,IAAI,CAAC,WAAW,0CAAE,eAAe,GACjC,OAAO,CACX,CAAC;YAEF,oDAAoD;YACpD,IAAI,KAAK,YAAY,gBAAgB,EAAE;gBACrC,QAAQ,KAAK,CAAC,IAAI,EAAE;oBAClB,KAAK,OAAO;wBACV,KAAK,GAAG,IAAI,yBAAe,CAAC,KAAK,CAAC,CAAC;wBACnC,MAAM;oBACR,KAAK,OAAO;wBACV,KAAK,GAAG,IAAI,yBAAe,CAAC,KAAK,CAAC,CAAC;wBACnC,MAAM;oBACR;wBACE,MAAM,IAAI,0BAAiB,CACzB,qCAAqC,KAAK,CAAC,IAAI,EAAE,CAClD,CAAC;iBACL;aACF;YAED,sCAAsC;YACtC,IAAI,mBAAsD,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;gBAClC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBACtB,OAAO;iBACR;gBACD,IAAI,WAAW,CAAC,KAAK,KAAK,KAAK,EAAE;oBAC/B,mBAAmB,GAA0B,WAAW,CAAC;iBAC1D;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,mBAAmB;gBAAE,OAAO,mBAAmB,CAAC;YAEpD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;aAC5B;YACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,KAAK,YAAY,yBAAe,EAAE;gBAC/D,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;aACzB;YAED,uBAAuB;YACvB,KAAK,CAAC,EAAE,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9C,KAAK,CAAC,EAAE,CAAC,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,KAAK,CAAC,EAAE,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAElD,sCAAsC;YACtC,MAAM,GAAG,GAAG,6BAAe,CAAC,WAAW,CAAC;gBACtC,+CAA+C;gBAC/C,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE;gBAC9B,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;gBACnB,IAAI,EAAE,aAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnC,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,MAAM,EAAE,aAAK,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;gBACzC,UAAU,EAAE,CAAC,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,mCAAI,IAAI,CAAC;aACjC,CAAC,CAAC;YAEH,yCAAyC;YACzC,IAAI,SAAiD,CAAC;YACtD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE;gBACnC,+DAA+D;gBAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,KAAK,mCAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,CAAC;gBACxD,MAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,MAAM,mCAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,MAAM,CAAC;gBAC3D,+CAA+C;gBAC/C,GAAG,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC;gBACvB,GAAG,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,CAAC;gBACzB,SAAS,GAAG,oCAAqB,CAC/B,KAAK,CAAC,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,WAAW,EACzC,KAAK,EACL,MAAM,EACN,IAAI,CACL,CAAC;gBACF,GAAG,CAAC,MAAM,GAAG,0CAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;aACzE;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;gBAC/D,SAAS,GAAG;oBACV;wBACE,UAAU,EAAE,IAAI,CAAC,YAAY;qBAC9B;iBACF,CAAC;aACH;YAED,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,+BAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACrE,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;YAEnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC1B,MAAM,IAAI,kCAAyB,CAAC,qBAAqB,CAAC,CAAC;aAC5D;YACD,gBAAG,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,iBAAiB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,eAAe,GAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;YACzE,IAAI,SAAS,EAAE;gBACb,eAAe,CAAC,aAAa,GAAG,SAAS,CAAC;aAC3C;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,cAAc,CACzD,KAAK,CAAC,gBAAgB,EAAE,eAAe,CACxC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAExB,kBAAkB;YAClB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAClC,IAAI,KAAK,YAAY,yBAAe,EAAE;gBACpC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACxC;iBAAM,IAAI,KAAK,YAAY,yBAAe,EAAE;gBAC3C,KAAK,CAAC,YAAY,EAAE,CAAC;aACtB;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;aAClE;YACD,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAEtC,6BAA6B;YAC7B,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC7D,OAAO,WAAW,CAAC;;KACpB;IAED,cAAc,CACZ,KAAoC,EACpC,eAAyB;;QAEzB,2DAA2D;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAEvD,gBAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAEzD,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YACtC,gBAAG,CAAC,IAAI,CACN,gBAAgB,EAChB,4DAA4D,EAC5D,KAAK,CACN,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QAED,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAE1B,KAAK,CAAC,GAAG,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,KAAK,CAAC,GAAG,CAAC,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnD,KAAK,CAAC,GAAG,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEnD,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,eAAe,GAAG,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,yBAAyB,mCAAI,IAAI,CAAC;SACvE;QACD,IAAI,eAAe,EAAE;YACnB,KAAK,CAAC,IAAI,EAAE,CAAC;SACd;QAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;QAEnC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YACtD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;gBACzB,IAAI,MAAM,CAAC,KAAK,KAAK,gBAAgB,EAAE;oBACrC,IAAI;wBACF,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,0CAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;qBACzB;oBAAC,OAAO,CAAC,EAAE;wBACV,gBAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;qBACzD;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;QAED,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,QAAQ,WAAW,CAAC,IAAI,EAAE;YACxB,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK;gBACnB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK;gBACnB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM;YACR;gBACE,MAAM;SACT;QAED,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;QAE/D,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,eAAe,CACb,MAAyC;QAEzC,MAAM,YAAY,GAA4B,EAAE,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAoC,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,GAAG,EAAE;gBACP,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;;;OAUG;IACG,WAAW,CAAC,IAAgB,EAAE,IAAqB,EACvD,WAA4C;;YAC5C,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC7B,WAAW,CAAC,OAAO,CAAC,CAAC,GAAS,EAAE,EAAE;oBAChC,IAAI,GAAG,YAAY,2BAAiB,EAAE;wBACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACpB;yBAAM;wBACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAChB;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,MAAM,MAAM,GAAe;gBACzB,IAAI;gBACJ,IAAI,EAAE;oBACJ,cAAc,EAAE,IAAI,CAAC,GAAG;oBACxB,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,IAAI;iBACtB;aACF,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,+BAA+B,CAC7B,sBAA+B,EAC/B,8BAA4D,EAAE;QAE9D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iCAAiC,CAClD,sBAAsB,EACtB,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mDAAsB,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;IA0CO,sBAAsB,CAC5B,KAAoC;QAEpC,IAAI,WAA8C,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,wDAAwD;YACxD,IAAI,KAAK,YAAY,gBAAgB,EAAE;gBACrC,IACE,UAAU,YAAY,yBAAe;uBAClC,UAAU,YAAY,yBAAe,EACxC;oBACA,IAAI,UAAU,CAAC,gBAAgB,KAAK,KAAK,EAAE;wBACzC,WAAW,GAA0B,GAAG,CAAC;qBAC1C;iBACF;aACF;iBAAM,IAAI,KAAK,KAAK,UAAU,EAAE;gBAC/B,WAAW,GAA0B,GAAG,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,iBAAiB,CACvB,WAA8B,EAC9B,IAAgB,EAChB,UAAsB;QAEtB,IAAI,CAAC,CAAC,iBAAiB,IAAI,YAAY,CAAC,EAAE;YACxC,OAAO;SACR;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,iBAAiB,GAAG,KAAK,KAAK,SAAS,UAAU,EAAE,CAAC;YAE1D,mEAAmE;YACnE,6DAA6D;YAC7D,IAAI,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,WAAW,EAAE;gBAC1C,OAAO,iBAAiB,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;aAC/E;YAED,OAAO,iBAAiB,IAAI,KAAK,KAAK,YAAY,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,IAAI,qBAAqB,IAAI,WAAW,EAAE;YACpD,aAAa;YACb,WAAW,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,gBAAgB;IAChB,mBAAmB;QACjB,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAA4B,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC7B,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;oBACpC,KAAK,EAAE,KAAK,CAAC,SAAS;iBACvB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA/oBD,mCA+oBC"}