livekit-client 1.10.0 → 1.11.0
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/livekit-client.esm.mjs +457 -478
 - package/dist/livekit-client.esm.mjs.map +1 -1
 - package/dist/livekit-client.umd.js +1 -1
 - package/dist/livekit-client.umd.js.map +1 -1
 - package/dist/src/connectionHelper/ConnectionCheck.d.ts +2 -3
 - package/dist/src/connectionHelper/ConnectionCheck.d.ts.map +1 -1
 - package/dist/src/connectionHelper/checks/Checker.d.ts +2 -3
 - package/dist/src/connectionHelper/checks/Checker.d.ts.map +1 -1
 - package/dist/src/room/PCTransport.d.ts +1 -1
 - package/dist/src/room/PCTransport.d.ts.map +1 -1
 - package/dist/src/room/RTCEngine.d.ts +2 -4
 - package/dist/src/room/RTCEngine.d.ts.map +1 -1
 - package/dist/src/room/Room.d.ts +3 -4
 - package/dist/src/room/Room.d.ts.map +1 -1
 - package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
 - package/dist/src/room/participant/Participant.d.ts +2 -4
 - package/dist/src/room/participant/Participant.d.ts.map +1 -1
 - package/dist/src/room/participant/RemoteParticipant.d.ts +2 -1
 - package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
 - package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
 - package/dist/src/room/track/LocalTrack.d.ts +1 -0
 - package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
 - package/dist/src/room/track/LocalVideoTrack.d.ts +1 -1
 - package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
 - package/dist/src/room/track/RemoteVideoTrack.d.ts +1 -0
 - package/dist/src/room/track/RemoteVideoTrack.d.ts.map +1 -1
 - package/dist/src/room/track/Track.d.ts +2 -4
 - package/dist/src/room/track/Track.d.ts.map +1 -1
 - package/dist/src/room/track/TrackPublication.d.ts +2 -4
 - package/dist/src/room/track/TrackPublication.d.ts.map +1 -1
 - package/dist/src/room/track/options.d.ts +13 -4
 - package/dist/src/room/track/options.d.ts.map +1 -1
 - package/dist/src/room/track/types.d.ts +2 -1
 - package/dist/src/room/track/types.d.ts.map +1 -1
 - package/dist/src/room/utils.d.ts.map +1 -1
 - package/dist/ts4.2/src/connectionHelper/ConnectionCheck.d.ts +2 -3
 - package/dist/ts4.2/src/connectionHelper/checks/Checker.d.ts +2 -3
 - package/dist/ts4.2/src/room/PCTransport.d.ts +1 -1
 - package/dist/ts4.2/src/room/RTCEngine.d.ts +2 -4
 - package/dist/ts4.2/src/room/Room.d.ts +3 -4
 - package/dist/ts4.2/src/room/participant/Participant.d.ts +2 -4
 - package/dist/ts4.2/src/room/participant/RemoteParticipant.d.ts +2 -1
 - package/dist/ts4.2/src/room/track/LocalTrack.d.ts +1 -0
 - package/dist/ts4.2/src/room/track/LocalVideoTrack.d.ts +1 -1
 - package/dist/ts4.2/src/room/track/RemoteVideoTrack.d.ts +1 -0
 - package/dist/ts4.2/src/room/track/Track.d.ts +2 -4
 - package/dist/ts4.2/src/room/track/TrackPublication.d.ts +2 -4
 - package/dist/ts4.2/src/room/track/options.d.ts +13 -4
 - package/dist/ts4.2/src/room/track/types.d.ts +2 -1
 - package/package.json +2 -3
 - package/src/connectionHelper/ConnectionCheck.ts +2 -3
 - package/src/connectionHelper/checks/Checker.ts +2 -3
 - package/src/logger.ts +4 -4
 - package/src/room/PCTransport.ts +1 -1
 - package/src/room/RTCEngine.ts +4 -4
 - package/src/room/Room.ts +41 -11
 - package/src/room/participant/LocalParticipant.ts +11 -3
 - package/src/room/participant/Participant.ts +2 -4
 - package/src/room/participant/RemoteParticipant.ts +4 -3
 - package/src/room/participant/publishUtils.ts +16 -18
 - package/src/room/track/LocalTrack.ts +61 -42
 - package/src/room/track/LocalVideoTrack.ts +9 -7
 - package/src/room/track/RemoteVideoTrack.ts +23 -6
 - package/src/room/track/Track.ts +2 -4
 - package/src/room/track/TrackPublication.ts +2 -4
 - package/src/room/track/options.ts +13 -4
 - package/src/room/track/types.ts +2 -1
 - package/src/room/utils.ts +6 -3
 
| 
         @@ -296,7 +296,7 @@ var LogLevel; 
     | 
|
| 
       296 
296 
     | 
    
         
             
              LogLevel[LogLevel["silent"] = 5] = "silent";
         
     | 
| 
       297 
297 
     | 
    
         
             
            })(LogLevel || (LogLevel = {}));
         
     | 
| 
       298 
298 
     | 
    
         
             
            const livekitLogger = loglevelExports.getLogger('livekit');
         
     | 
| 
       299 
     | 
    
         
            -
            livekitLogger. 
     | 
| 
      
 299 
     | 
    
         
            +
            livekitLogger.setDefaultLevel(LogLevel.info);
         
     | 
| 
       300 
300 
     | 
    
         
             
            function setLogLevel(level) {
         
     | 
| 
       301 
301 
     | 
    
         
             
              livekitLogger.setLevel(level);
         
     | 
| 
       302 
302 
     | 
    
         
             
            }
         
     | 
| 
         @@ -306,9 +306,9 @@ function setLogLevel(level) { 
     | 
|
| 
       306 
306 
     | 
    
         
             
             */
         
     | 
| 
       307 
307 
     | 
    
         
             
            function setLogExtension(extension) {
         
     | 
| 
       308 
308 
     | 
    
         
             
              const originalFactory = livekitLogger.methodFactory;
         
     | 
| 
       309 
     | 
    
         
            -
              livekitLogger.methodFactory = (methodName,  
     | 
| 
       310 
     | 
    
         
            -
                const rawMethod = originalFactory(methodName,  
     | 
| 
       311 
     | 
    
         
            -
                const  
     | 
| 
      
 309 
     | 
    
         
            +
              livekitLogger.methodFactory = (methodName, configLevel, loggerName) => {
         
     | 
| 
      
 310 
     | 
    
         
            +
                const rawMethod = originalFactory(methodName, configLevel, loggerName);
         
     | 
| 
      
 311 
     | 
    
         
            +
                const logLevel = LogLevel[methodName];
         
     | 
| 
       312 
312 
     | 
    
         
             
                const needLog = logLevel >= configLevel && logLevel < LogLevel.silent;
         
     | 
| 
       313 
313 
     | 
    
         
             
                return (msg, context) => {
         
     | 
| 
       314 
314 
     | 
    
         
             
                  if (context) rawMethod(msg, context);else rawMethod(msg);
         
     | 
| 
         @@ -6654,386 +6654,322 @@ function __asyncValues(o) { 
     | 
|
| 
       6654 
6654 
     | 
    
         
             
                function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
         
     | 
| 
       6655 
6655 
     | 
    
         
             
            }
         
     | 
| 
       6656 
6656 
     | 
    
         | 
| 
       6657 
     | 
    
         
            -
            var  
     | 
| 
      
 6657 
     | 
    
         
            +
            var eventemitter3 = {exports: {}};
         
     | 
| 
       6658 
6658 
     | 
    
         | 
| 
       6659 
     | 
    
         
            -
             
     | 
| 
       6660 
     | 
    
         
            -
            var ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {
         
     | 
| 
       6661 
     | 
    
         
            -
              return Function.prototype.apply.call(target, receiver, args);
         
     | 
| 
       6662 
     | 
    
         
            -
            };
         
     | 
| 
       6663 
     | 
    
         
            -
            var ReflectOwnKeys;
         
     | 
| 
       6664 
     | 
    
         
            -
            if (R && typeof R.ownKeys === 'function') {
         
     | 
| 
       6665 
     | 
    
         
            -
              ReflectOwnKeys = R.ownKeys;
         
     | 
| 
       6666 
     | 
    
         
            -
            } else if (Object.getOwnPropertySymbols) {
         
     | 
| 
       6667 
     | 
    
         
            -
              ReflectOwnKeys = function ReflectOwnKeys(target) {
         
     | 
| 
       6668 
     | 
    
         
            -
                return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));
         
     | 
| 
       6669 
     | 
    
         
            -
              };
         
     | 
| 
       6670 
     | 
    
         
            -
            } else {
         
     | 
| 
       6671 
     | 
    
         
            -
              ReflectOwnKeys = function ReflectOwnKeys(target) {
         
     | 
| 
       6672 
     | 
    
         
            -
                return Object.getOwnPropertyNames(target);
         
     | 
| 
       6673 
     | 
    
         
            -
              };
         
     | 
| 
       6674 
     | 
    
         
            -
            }
         
     | 
| 
       6675 
     | 
    
         
            -
            function ProcessEmitWarning(warning) {
         
     | 
| 
       6676 
     | 
    
         
            -
              if (console && console.warn) console.warn(warning);
         
     | 
| 
       6677 
     | 
    
         
            -
            }
         
     | 
| 
       6678 
     | 
    
         
            -
            var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
         
     | 
| 
       6679 
     | 
    
         
            -
              return value !== value;
         
     | 
| 
       6680 
     | 
    
         
            -
            };
         
     | 
| 
       6681 
     | 
    
         
            -
            function EventEmitter() {
         
     | 
| 
       6682 
     | 
    
         
            -
              EventEmitter.init.call(this);
         
     | 
| 
       6683 
     | 
    
         
            -
            }
         
     | 
| 
       6684 
     | 
    
         
            -
            events.exports = EventEmitter;
         
     | 
| 
       6685 
     | 
    
         
            -
            events.exports.once = once;
         
     | 
| 
      
 6659 
     | 
    
         
            +
            (function (module) {
         
     | 
| 
       6686 
6660 
     | 
    
         | 
| 
       6687 
     | 
    
         
            -
             
     | 
| 
       6688 
     | 
    
         
            -
             
     | 
| 
       6689 
     | 
    
         
            -
            EventEmitter.prototype._events = undefined;
         
     | 
| 
       6690 
     | 
    
         
            -
            EventEmitter.prototype._eventsCount = 0;
         
     | 
| 
       6691 
     | 
    
         
            -
            EventEmitter.prototype._maxListeners = undefined;
         
     | 
| 
      
 6661 
     | 
    
         
            +
              var has = Object.prototype.hasOwnProperty,
         
     | 
| 
      
 6662 
     | 
    
         
            +
                prefix = '~';
         
     | 
| 
       6692 
6663 
     | 
    
         | 
| 
       6693 
     | 
    
         
            -
             
     | 
| 
       6694 
     | 
    
         
            -
             
     | 
| 
       6695 
     | 
    
         
            -
             
     | 
| 
       6696 
     | 
    
         
            -
             
     | 
| 
       6697 
     | 
    
         
            -
             
     | 
| 
       6698 
     | 
    
         
            -
             
     | 
| 
       6699 
     | 
    
         
            -
             
     | 
| 
       6700 
     | 
    
         
            -
            }
         
     | 
| 
       6701 
     | 
    
         
            -
            Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
         
     | 
| 
       6702 
     | 
    
         
            -
              enumerable: true,
         
     | 
| 
       6703 
     | 
    
         
            -
              get: function () {
         
     | 
| 
       6704 
     | 
    
         
            -
                return defaultMaxListeners;
         
     | 
| 
       6705 
     | 
    
         
            -
              },
         
     | 
| 
       6706 
     | 
    
         
            -
              set: function (arg) {
         
     | 
| 
       6707 
     | 
    
         
            -
                if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
         
     | 
| 
       6708 
     | 
    
         
            -
                  throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
         
     | 
| 
       6709 
     | 
    
         
            -
                }
         
     | 
| 
       6710 
     | 
    
         
            -
                defaultMaxListeners = arg;
         
     | 
| 
       6711 
     | 
    
         
            -
              }
         
     | 
| 
       6712 
     | 
    
         
            -
            });
         
     | 
| 
       6713 
     | 
    
         
            -
            EventEmitter.init = function () {
         
     | 
| 
       6714 
     | 
    
         
            -
              if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {
         
     | 
| 
       6715 
     | 
    
         
            -
                this._events = Object.create(null);
         
     | 
| 
       6716 
     | 
    
         
            -
                this._eventsCount = 0;
         
     | 
| 
       6717 
     | 
    
         
            -
              }
         
     | 
| 
       6718 
     | 
    
         
            -
              this._maxListeners = this._maxListeners || undefined;
         
     | 
| 
       6719 
     | 
    
         
            -
            };
         
     | 
| 
      
 6664 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6665 
     | 
    
         
            +
               * Constructor to create a storage for our `EE` objects.
         
     | 
| 
      
 6666 
     | 
    
         
            +
               * An `Events` instance is a plain object whose properties are event names.
         
     | 
| 
      
 6667 
     | 
    
         
            +
               *
         
     | 
| 
      
 6668 
     | 
    
         
            +
               * @constructor
         
     | 
| 
      
 6669 
     | 
    
         
            +
               * @private
         
     | 
| 
      
 6670 
     | 
    
         
            +
               */
         
     | 
| 
      
 6671 
     | 
    
         
            +
              function Events() {}
         
     | 
| 
       6720 
6672 
     | 
    
         | 
| 
       6721 
     | 
    
         
            -
            // 
     | 
| 
       6722 
     | 
    
         
            -
            //  
     | 
| 
       6723 
     | 
    
         
            -
             
     | 
| 
       6724 
     | 
    
         
            -
               
     | 
| 
       6725 
     | 
    
         
            -
             
     | 
| 
      
 6673 
     | 
    
         
            +
              //
         
     | 
| 
      
 6674 
     | 
    
         
            +
              // We try to not inherit from `Object.prototype`. In some engines creating an
         
     | 
| 
      
 6675 
     | 
    
         
            +
              // instance in this way is faster than calling `Object.create(null)` directly.
         
     | 
| 
      
 6676 
     | 
    
         
            +
              // If `Object.create(null)` is not supported we prefix the event names with a
         
     | 
| 
      
 6677 
     | 
    
         
            +
              // character to make sure that the built-in object properties are not
         
     | 
| 
      
 6678 
     | 
    
         
            +
              // overridden or used as an attack vector.
         
     | 
| 
      
 6679 
     | 
    
         
            +
              //
         
     | 
| 
      
 6680 
     | 
    
         
            +
              if (Object.create) {
         
     | 
| 
      
 6681 
     | 
    
         
            +
                Events.prototype = Object.create(null);
         
     | 
| 
      
 6682 
     | 
    
         
            +
             
     | 
| 
      
 6683 
     | 
    
         
            +
                //
         
     | 
| 
      
 6684 
     | 
    
         
            +
                // This hack is needed because the `__proto__` property is still inherited in
         
     | 
| 
      
 6685 
     | 
    
         
            +
                // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.
         
     | 
| 
      
 6686 
     | 
    
         
            +
                //
         
     | 
| 
      
 6687 
     | 
    
         
            +
                if (!new Events().__proto__) prefix = false;
         
     | 
| 
       6726 
6688 
     | 
    
         
             
              }
         
     | 
| 
       6727 
     | 
    
         
            -
             
     | 
| 
       6728 
     | 
    
         
            -
               
     | 
| 
       6729 
     | 
    
         
            -
             
     | 
| 
       6730 
     | 
    
         
            -
             
     | 
| 
       6731 
     | 
    
         
            -
             
     | 
| 
       6732 
     | 
    
         
            -
             
     | 
| 
       6733 
     | 
    
         
            -
            }
         
     | 
| 
       6734 
     | 
    
         
            -
             
     | 
| 
       6735 
     | 
    
         
            -
             
     | 
| 
       6736 
     | 
    
         
            -
             
     | 
| 
       6737 
     | 
    
         
            -
             
     | 
| 
       6738 
     | 
    
         
            -
             
     | 
| 
       6739 
     | 
    
         
            -
             
     | 
| 
       6740 
     | 
    
         
            -
             
     | 
| 
       6741 
     | 
    
         
            -
              var events = this._events;
         
     | 
| 
       6742 
     | 
    
         
            -
              if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false;
         
     | 
| 
       6743 
     | 
    
         
            -
             
     | 
| 
       6744 
     | 
    
         
            -
              // If there is no 'error' event listener then throw.
         
     | 
| 
       6745 
     | 
    
         
            -
              if (doError) {
         
     | 
| 
       6746 
     | 
    
         
            -
                var er;
         
     | 
| 
       6747 
     | 
    
         
            -
                if (args.length > 0) er = args[0];
         
     | 
| 
       6748 
     | 
    
         
            -
                if (er instanceof Error) {
         
     | 
| 
       6749 
     | 
    
         
            -
                  // Note: The comments on the `throw` lines are intentional, they show
         
     | 
| 
       6750 
     | 
    
         
            -
                  // up in Node's output if this results in an unhandled exception.
         
     | 
| 
       6751 
     | 
    
         
            -
                  throw er; // Unhandled 'error' event
         
     | 
| 
       6752 
     | 
    
         
            -
                }
         
     | 
| 
       6753 
     | 
    
         
            -
                // At least give some kind of context to the user
         
     | 
| 
       6754 
     | 
    
         
            -
                var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
         
     | 
| 
       6755 
     | 
    
         
            -
                err.context = er;
         
     | 
| 
       6756 
     | 
    
         
            -
                throw err; // Unhandled 'error' event
         
     | 
| 
       6757 
     | 
    
         
            -
              }
         
     | 
| 
       6758 
     | 
    
         
            -
             
     | 
| 
       6759 
     | 
    
         
            -
              var handler = events[type];
         
     | 
| 
       6760 
     | 
    
         
            -
              if (handler === undefined) return false;
         
     | 
| 
       6761 
     | 
    
         
            -
              if (typeof handler === 'function') {
         
     | 
| 
       6762 
     | 
    
         
            -
                ReflectApply(handler, this, args);
         
     | 
| 
       6763 
     | 
    
         
            -
              } else {
         
     | 
| 
       6764 
     | 
    
         
            -
                var len = handler.length;
         
     | 
| 
       6765 
     | 
    
         
            -
                var listeners = arrayClone(handler, len);
         
     | 
| 
       6766 
     | 
    
         
            -
                for (var i = 0; i < len; ++i) ReflectApply(listeners[i], this, args);
         
     | 
| 
      
 6689 
     | 
    
         
            +
             
     | 
| 
      
 6690 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6691 
     | 
    
         
            +
               * Representation of a single event listener.
         
     | 
| 
      
 6692 
     | 
    
         
            +
               *
         
     | 
| 
      
 6693 
     | 
    
         
            +
               * @param {Function} fn The listener function.
         
     | 
| 
      
 6694 
     | 
    
         
            +
               * @param {*} context The context to invoke the listener with.
         
     | 
| 
      
 6695 
     | 
    
         
            +
               * @param {Boolean} [once=false] Specify if the listener is a one-time listener.
         
     | 
| 
      
 6696 
     | 
    
         
            +
               * @constructor
         
     | 
| 
      
 6697 
     | 
    
         
            +
               * @private
         
     | 
| 
      
 6698 
     | 
    
         
            +
               */
         
     | 
| 
      
 6699 
     | 
    
         
            +
              function EE(fn, context, once) {
         
     | 
| 
      
 6700 
     | 
    
         
            +
                this.fn = fn;
         
     | 
| 
      
 6701 
     | 
    
         
            +
                this.context = context;
         
     | 
| 
      
 6702 
     | 
    
         
            +
                this.once = once || false;
         
     | 
| 
       6767 
6703 
     | 
    
         
             
              }
         
     | 
| 
       6768 
     | 
    
         
            -
              return true;
         
     | 
| 
       6769 
     | 
    
         
            -
            };
         
     | 
| 
       6770 
     | 
    
         
            -
            function _addListener(target, type, listener, prepend) {
         
     | 
| 
       6771 
     | 
    
         
            -
              var m;
         
     | 
| 
       6772 
     | 
    
         
            -
              var events;
         
     | 
| 
       6773 
     | 
    
         
            -
              var existing;
         
     | 
| 
       6774 
     | 
    
         
            -
              checkListener(listener);
         
     | 
| 
       6775 
     | 
    
         
            -
              events = target._events;
         
     | 
| 
       6776 
     | 
    
         
            -
              if (events === undefined) {
         
     | 
| 
       6777 
     | 
    
         
            -
                events = target._events = Object.create(null);
         
     | 
| 
       6778 
     | 
    
         
            -
                target._eventsCount = 0;
         
     | 
| 
       6779 
     | 
    
         
            -
              } else {
         
     | 
| 
       6780 
     | 
    
         
            -
                // To avoid recursion in the case that type === "newListener"! Before
         
     | 
| 
       6781 
     | 
    
         
            -
                // adding it to the listeners, first emit "newListener".
         
     | 
| 
       6782 
     | 
    
         
            -
                if (events.newListener !== undefined) {
         
     | 
| 
       6783 
     | 
    
         
            -
                  target.emit('newListener', type, listener.listener ? listener.listener : listener);
         
     | 
| 
       6784 
6704 
     | 
    
         | 
| 
       6785 
     | 
    
         
            -
             
     | 
| 
       6786 
     | 
    
         
            -
             
     | 
| 
       6787 
     | 
    
         
            -
             
     | 
| 
      
 6705 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6706 
     | 
    
         
            +
               * Add a listener for a given event.
         
     | 
| 
      
 6707 
     | 
    
         
            +
               *
         
     | 
| 
      
 6708 
     | 
    
         
            +
               * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
         
     | 
| 
      
 6709 
     | 
    
         
            +
               * @param {(String|Symbol)} event The event name.
         
     | 
| 
      
 6710 
     | 
    
         
            +
               * @param {Function} fn The listener function.
         
     | 
| 
      
 6711 
     | 
    
         
            +
               * @param {*} context The context to invoke the listener with.
         
     | 
| 
      
 6712 
     | 
    
         
            +
               * @param {Boolean} once Specify if the listener is a one-time listener.
         
     | 
| 
      
 6713 
     | 
    
         
            +
               * @returns {EventEmitter}
         
     | 
| 
      
 6714 
     | 
    
         
            +
               * @private
         
     | 
| 
      
 6715 
     | 
    
         
            +
               */
         
     | 
| 
      
 6716 
     | 
    
         
            +
              function addListener(emitter, event, fn, context, once) {
         
     | 
| 
      
 6717 
     | 
    
         
            +
                if (typeof fn !== 'function') {
         
     | 
| 
      
 6718 
     | 
    
         
            +
                  throw new TypeError('The listener must be a function');
         
     | 
| 
       6788 
6719 
     | 
    
         
             
                }
         
     | 
| 
       6789 
     | 
    
         
            -
                 
     | 
| 
      
 6720 
     | 
    
         
            +
                var listener = new EE(fn, context || emitter, once),
         
     | 
| 
      
 6721 
     | 
    
         
            +
                  evt = prefix ? prefix + event : event;
         
     | 
| 
      
 6722 
     | 
    
         
            +
                if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);else emitter._events[evt] = [emitter._events[evt], listener];
         
     | 
| 
      
 6723 
     | 
    
         
            +
                return emitter;
         
     | 
| 
       6790 
6724 
     | 
    
         
             
              }
         
     | 
| 
       6791 
     | 
    
         
            -
              if (existing === undefined) {
         
     | 
| 
       6792 
     | 
    
         
            -
                // Optimize the case of one listener. Don't need the extra array object.
         
     | 
| 
       6793 
     | 
    
         
            -
                existing = events[type] = listener;
         
     | 
| 
       6794 
     | 
    
         
            -
                ++target._eventsCount;
         
     | 
| 
       6795 
     | 
    
         
            -
              } else {
         
     | 
| 
       6796 
     | 
    
         
            -
                if (typeof existing === 'function') {
         
     | 
| 
       6797 
     | 
    
         
            -
                  // Adding the second element, need to change to array.
         
     | 
| 
       6798 
     | 
    
         
            -
                  existing = events[type] = prepend ? [listener, existing] : [existing, listener];
         
     | 
| 
       6799 
     | 
    
         
            -
                  // If we've already got an array, just append.
         
     | 
| 
       6800 
     | 
    
         
            -
                } else if (prepend) {
         
     | 
| 
       6801 
     | 
    
         
            -
                  existing.unshift(listener);
         
     | 
| 
       6802 
     | 
    
         
            -
                } else {
         
     | 
| 
       6803 
     | 
    
         
            -
                  existing.push(listener);
         
     | 
| 
       6804 
     | 
    
         
            -
                }
         
     | 
| 
       6805 
6725 
     | 
    
         | 
| 
       6806 
     | 
    
         
            -
             
     | 
| 
       6807 
     | 
    
         
            -
             
     | 
| 
       6808 
     | 
    
         
            -
             
     | 
| 
       6809 
     | 
    
         
            -
             
     | 
| 
       6810 
     | 
    
         
            -
             
     | 
| 
       6811 
     | 
    
         
            -
             
     | 
| 
       6812 
     | 
    
         
            -
             
     | 
| 
       6813 
     | 
    
         
            -
             
     | 
| 
       6814 
     | 
    
         
            -
             
     | 
| 
       6815 
     | 
    
         
            -
                  w.type = type;
         
     | 
| 
       6816 
     | 
    
         
            -
                  w.count = existing.length;
         
     | 
| 
       6817 
     | 
    
         
            -
                  ProcessEmitWarning(w);
         
     | 
| 
       6818 
     | 
    
         
            -
                }
         
     | 
| 
      
 6726 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6727 
     | 
    
         
            +
               * Clear event by name.
         
     | 
| 
      
 6728 
     | 
    
         
            +
               *
         
     | 
| 
      
 6729 
     | 
    
         
            +
               * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
         
     | 
| 
      
 6730 
     | 
    
         
            +
               * @param {(String|Symbol)} evt The Event name.
         
     | 
| 
      
 6731 
     | 
    
         
            +
               * @private
         
     | 
| 
      
 6732 
     | 
    
         
            +
               */
         
     | 
| 
      
 6733 
     | 
    
         
            +
              function clearEvent(emitter, evt) {
         
     | 
| 
      
 6734 
     | 
    
         
            +
                if (--emitter._eventsCount === 0) emitter._events = new Events();else delete emitter._events[evt];
         
     | 
| 
       6819 
6735 
     | 
    
         
             
              }
         
     | 
| 
       6820 
     | 
    
         
            -
             
     | 
| 
       6821 
     | 
    
         
            -
             
     | 
| 
       6822 
     | 
    
         
            -
            EventEmitter 
     | 
| 
       6823 
     | 
    
         
            -
             
     | 
| 
       6824 
     | 
    
         
            -
             
     | 
| 
       6825 
     | 
    
         
            -
             
     | 
| 
       6826 
     | 
    
         
            -
             
     | 
| 
       6827 
     | 
    
         
            -
             
     | 
| 
       6828 
     | 
    
         
            -
             
     | 
| 
       6829 
     | 
    
         
            -
             
     | 
| 
       6830 
     | 
    
         
            -
             
     | 
| 
       6831 
     | 
    
         
            -
             
     | 
| 
       6832 
     | 
    
         
            -
             
     | 
| 
       6833 
     | 
    
         
            -
             
     | 
| 
       6834 
     | 
    
         
            -
             
     | 
| 
       6835 
     | 
    
         
            -
             
     | 
| 
       6836 
     | 
    
         
            -
             
     | 
| 
       6837 
     | 
    
         
            -
             
     | 
| 
       6838 
     | 
    
         
            -
             
     | 
| 
       6839 
     | 
    
         
            -
             
     | 
| 
       6840 
     | 
    
         
            -
             
     | 
| 
       6841 
     | 
    
         
            -
                 
     | 
| 
       6842 
     | 
    
         
            -
             
     | 
| 
       6843 
     | 
    
         
            -
             
     | 
| 
      
 6736 
     | 
    
         
            +
             
     | 
| 
      
 6737 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6738 
     | 
    
         
            +
               * Minimal `EventEmitter` interface that is molded against the Node.js
         
     | 
| 
      
 6739 
     | 
    
         
            +
               * `EventEmitter` interface.
         
     | 
| 
      
 6740 
     | 
    
         
            +
               *
         
     | 
| 
      
 6741 
     | 
    
         
            +
               * @constructor
         
     | 
| 
      
 6742 
     | 
    
         
            +
               * @public
         
     | 
| 
      
 6743 
     | 
    
         
            +
               */
         
     | 
| 
      
 6744 
     | 
    
         
            +
              function EventEmitter() {
         
     | 
| 
      
 6745 
     | 
    
         
            +
                this._events = new Events();
         
     | 
| 
      
 6746 
     | 
    
         
            +
                this._eventsCount = 0;
         
     | 
| 
      
 6747 
     | 
    
         
            +
              }
         
     | 
| 
      
 6748 
     | 
    
         
            +
             
     | 
| 
      
 6749 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6750 
     | 
    
         
            +
               * Return an array listing the events for which the emitter has registered
         
     | 
| 
      
 6751 
     | 
    
         
            +
               * listeners.
         
     | 
| 
      
 6752 
     | 
    
         
            +
               *
         
     | 
| 
      
 6753 
     | 
    
         
            +
               * @returns {Array}
         
     | 
| 
      
 6754 
     | 
    
         
            +
               * @public
         
     | 
| 
      
 6755 
     | 
    
         
            +
               */
         
     | 
| 
      
 6756 
     | 
    
         
            +
              EventEmitter.prototype.eventNames = function eventNames() {
         
     | 
| 
      
 6757 
     | 
    
         
            +
                var names = [],
         
     | 
| 
      
 6758 
     | 
    
         
            +
                  events,
         
     | 
| 
      
 6759 
     | 
    
         
            +
                  name;
         
     | 
| 
      
 6760 
     | 
    
         
            +
                if (this._eventsCount === 0) return names;
         
     | 
| 
      
 6761 
     | 
    
         
            +
                for (name in events = this._events) {
         
     | 
| 
      
 6762 
     | 
    
         
            +
                  if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
         
     | 
| 
      
 6763 
     | 
    
         
            +
                }
         
     | 
| 
      
 6764 
     | 
    
         
            +
                if (Object.getOwnPropertySymbols) {
         
     | 
| 
      
 6765 
     | 
    
         
            +
                  return names.concat(Object.getOwnPropertySymbols(events));
         
     | 
| 
      
 6766 
     | 
    
         
            +
                }
         
     | 
| 
      
 6767 
     | 
    
         
            +
                return names;
         
     | 
| 
       6844 
6768 
     | 
    
         
             
              };
         
     | 
| 
       6845 
     | 
    
         
            -
              var wrapped = onceWrapper.bind(state);
         
     | 
| 
       6846 
     | 
    
         
            -
              wrapped.listener = listener;
         
     | 
| 
       6847 
     | 
    
         
            -
              state.wrapFn = wrapped;
         
     | 
| 
       6848 
     | 
    
         
            -
              return wrapped;
         
     | 
| 
       6849 
     | 
    
         
            -
            }
         
     | 
| 
       6850 
     | 
    
         
            -
            EventEmitter.prototype.once = function once(type, listener) {
         
     | 
| 
       6851 
     | 
    
         
            -
              checkListener(listener);
         
     | 
| 
       6852 
     | 
    
         
            -
              this.on(type, _onceWrap(this, type, listener));
         
     | 
| 
       6853 
     | 
    
         
            -
              return this;
         
     | 
| 
       6854 
     | 
    
         
            -
            };
         
     | 
| 
       6855 
     | 
    
         
            -
            EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {
         
     | 
| 
       6856 
     | 
    
         
            -
              checkListener(listener);
         
     | 
| 
       6857 
     | 
    
         
            -
              this.prependListener(type, _onceWrap(this, type, listener));
         
     | 
| 
       6858 
     | 
    
         
            -
              return this;
         
     | 
| 
       6859 
     | 
    
         
            -
            };
         
     | 
| 
       6860 
6769 
     | 
    
         | 
| 
       6861 
     | 
    
         
            -
             
     | 
| 
       6862 
     | 
    
         
            -
             
     | 
| 
       6863 
     | 
    
         
            -
             
     | 
| 
       6864 
     | 
    
         
            -
             
     | 
| 
       6865 
     | 
    
         
            -
             
     | 
| 
       6866 
     | 
    
         
            -
             
     | 
| 
       6867 
     | 
    
         
            -
             
     | 
| 
       6868 
     | 
    
         
            -
               
     | 
| 
       6869 
     | 
    
         
            -
             
     | 
| 
       6870 
     | 
    
         
            -
             
     | 
| 
       6871 
     | 
    
         
            -
             
     | 
| 
       6872 
     | 
    
         
            -
             
     | 
| 
       6873 
     | 
    
         
            -
                 
     | 
| 
       6874 
     | 
    
         
            -
             
     | 
| 
       6875 
     | 
    
         
            -
                 
     | 
| 
       6876 
     | 
    
         
            -
                 
     | 
| 
       6877 
     | 
    
         
            -
             
     | 
| 
       6878 
     | 
    
         
            -
             
     | 
| 
       6879 
     | 
    
         
            -
             
     | 
| 
       6880 
     | 
    
         
            -
             
     | 
| 
      
 6770 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6771 
     | 
    
         
            +
               * Return the listeners registered for a given event.
         
     | 
| 
      
 6772 
     | 
    
         
            +
               *
         
     | 
| 
      
 6773 
     | 
    
         
            +
               * @param {(String|Symbol)} event The event name.
         
     | 
| 
      
 6774 
     | 
    
         
            +
               * @returns {Array} The registered listeners.
         
     | 
| 
      
 6775 
     | 
    
         
            +
               * @public
         
     | 
| 
      
 6776 
     | 
    
         
            +
               */
         
     | 
| 
      
 6777 
     | 
    
         
            +
              EventEmitter.prototype.listeners = function listeners(event) {
         
     | 
| 
      
 6778 
     | 
    
         
            +
                var evt = prefix ? prefix + event : event,
         
     | 
| 
      
 6779 
     | 
    
         
            +
                  handlers = this._events[evt];
         
     | 
| 
      
 6780 
     | 
    
         
            +
                if (!handlers) return [];
         
     | 
| 
      
 6781 
     | 
    
         
            +
                if (handlers.fn) return [handlers.fn];
         
     | 
| 
      
 6782 
     | 
    
         
            +
                for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
         
     | 
| 
      
 6783 
     | 
    
         
            +
                  ee[i] = handlers[i].fn;
         
     | 
| 
      
 6784 
     | 
    
         
            +
                }
         
     | 
| 
      
 6785 
     | 
    
         
            +
                return ee;
         
     | 
| 
      
 6786 
     | 
    
         
            +
              };
         
     | 
| 
      
 6787 
     | 
    
         
            +
             
     | 
| 
      
 6788 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6789 
     | 
    
         
            +
               * Return the number of listeners listening to a given event.
         
     | 
| 
      
 6790 
     | 
    
         
            +
               *
         
     | 
| 
      
 6791 
     | 
    
         
            +
               * @param {(String|Symbol)} event The event name.
         
     | 
| 
      
 6792 
     | 
    
         
            +
               * @returns {Number} The number of listeners.
         
     | 
| 
      
 6793 
     | 
    
         
            +
               * @public
         
     | 
| 
      
 6794 
     | 
    
         
            +
               */
         
     | 
| 
      
 6795 
     | 
    
         
            +
              EventEmitter.prototype.listenerCount = function listenerCount(event) {
         
     | 
| 
      
 6796 
     | 
    
         
            +
                var evt = prefix ? prefix + event : event,
         
     | 
| 
      
 6797 
     | 
    
         
            +
                  listeners = this._events[evt];
         
     | 
| 
      
 6798 
     | 
    
         
            +
                if (!listeners) return 0;
         
     | 
| 
      
 6799 
     | 
    
         
            +
                if (listeners.fn) return 1;
         
     | 
| 
      
 6800 
     | 
    
         
            +
                return listeners.length;
         
     | 
| 
      
 6801 
     | 
    
         
            +
              };
         
     | 
| 
      
 6802 
     | 
    
         
            +
             
     | 
| 
      
 6803 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6804 
     | 
    
         
            +
               * Calls each of the listeners registered for a given event.
         
     | 
| 
      
 6805 
     | 
    
         
            +
               *
         
     | 
| 
      
 6806 
     | 
    
         
            +
               * @param {(String|Symbol)} event The event name.
         
     | 
| 
      
 6807 
     | 
    
         
            +
               * @returns {Boolean} `true` if the event had listeners, else `false`.
         
     | 
| 
      
 6808 
     | 
    
         
            +
               * @public
         
     | 
| 
      
 6809 
     | 
    
         
            +
               */
         
     | 
| 
      
 6810 
     | 
    
         
            +
              EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
         
     | 
| 
      
 6811 
     | 
    
         
            +
                var evt = prefix ? prefix + event : event;
         
     | 
| 
      
 6812 
     | 
    
         
            +
                if (!this._events[evt]) return false;
         
     | 
| 
      
 6813 
     | 
    
         
            +
                var listeners = this._events[evt],
         
     | 
| 
      
 6814 
     | 
    
         
            +
                  len = arguments.length,
         
     | 
| 
      
 6815 
     | 
    
         
            +
                  args,
         
     | 
| 
      
 6816 
     | 
    
         
            +
                  i;
         
     | 
| 
      
 6817 
     | 
    
         
            +
                if (listeners.fn) {
         
     | 
| 
      
 6818 
     | 
    
         
            +
                  if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);
         
     | 
| 
      
 6819 
     | 
    
         
            +
                  switch (len) {
         
     | 
| 
      
 6820 
     | 
    
         
            +
                    case 1:
         
     | 
| 
      
 6821 
     | 
    
         
            +
                      return listeners.fn.call(listeners.context), true;
         
     | 
| 
      
 6822 
     | 
    
         
            +
                    case 2:
         
     | 
| 
      
 6823 
     | 
    
         
            +
                      return listeners.fn.call(listeners.context, a1), true;
         
     | 
| 
      
 6824 
     | 
    
         
            +
                    case 3:
         
     | 
| 
      
 6825 
     | 
    
         
            +
                      return listeners.fn.call(listeners.context, a1, a2), true;
         
     | 
| 
      
 6826 
     | 
    
         
            +
                    case 4:
         
     | 
| 
      
 6827 
     | 
    
         
            +
                      return listeners.fn.call(listeners.context, a1, a2, a3), true;
         
     | 
| 
      
 6828 
     | 
    
         
            +
                    case 5:
         
     | 
| 
      
 6829 
     | 
    
         
            +
                      return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
         
     | 
| 
      
 6830 
     | 
    
         
            +
                    case 6:
         
     | 
| 
      
 6831 
     | 
    
         
            +
                      return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
         
     | 
| 
      
 6832 
     | 
    
         
            +
                  }
         
     | 
| 
      
 6833 
     | 
    
         
            +
                  for (i = 1, args = new Array(len - 1); i < len; i++) {
         
     | 
| 
      
 6834 
     | 
    
         
            +
                    args[i - 1] = arguments[i];
         
     | 
| 
      
 6835 
     | 
    
         
            +
                  }
         
     | 
| 
      
 6836 
     | 
    
         
            +
                  listeners.fn.apply(listeners.context, args);
         
     | 
| 
      
 6837 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 6838 
     | 
    
         
            +
                  var length = listeners.length,
         
     | 
| 
      
 6839 
     | 
    
         
            +
                    j;
         
     | 
| 
      
 6840 
     | 
    
         
            +
                  for (i = 0; i < length; i++) {
         
     | 
| 
      
 6841 
     | 
    
         
            +
                    if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);
         
     | 
| 
      
 6842 
     | 
    
         
            +
                    switch (len) {
         
     | 
| 
      
 6843 
     | 
    
         
            +
                      case 1:
         
     | 
| 
      
 6844 
     | 
    
         
            +
                        listeners[i].fn.call(listeners[i].context);
         
     | 
| 
      
 6845 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 6846 
     | 
    
         
            +
                      case 2:
         
     | 
| 
      
 6847 
     | 
    
         
            +
                        listeners[i].fn.call(listeners[i].context, a1);
         
     | 
| 
      
 6848 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 6849 
     | 
    
         
            +
                      case 3:
         
     | 
| 
      
 6850 
     | 
    
         
            +
                        listeners[i].fn.call(listeners[i].context, a1, a2);
         
     | 
| 
      
 6851 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 6852 
     | 
    
         
            +
                      case 4:
         
     | 
| 
      
 6853 
     | 
    
         
            +
                        listeners[i].fn.call(listeners[i].context, a1, a2, a3);
         
     | 
| 
      
 6854 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 6855 
     | 
    
         
            +
                      default:
         
     | 
| 
      
 6856 
     | 
    
         
            +
                        if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {
         
     | 
| 
      
 6857 
     | 
    
         
            +
                          args[j - 1] = arguments[j];
         
     | 
| 
      
 6858 
     | 
    
         
            +
                        }
         
     | 
| 
      
 6859 
     | 
    
         
            +
                        listeners[i].fn.apply(listeners[i].context, args);
         
     | 
| 
      
 6860 
     | 
    
         
            +
                    }
         
     | 
| 
       6881 
6861 
     | 
    
         
             
                  }
         
     | 
| 
       6882 
6862 
     | 
    
         
             
                }
         
     | 
| 
       6883 
     | 
    
         
            -
                 
     | 
| 
       6884 
     | 
    
         
            -
             
     | 
| 
       6885 
     | 
    
         
            -
             
     | 
| 
      
 6863 
     | 
    
         
            +
                return true;
         
     | 
| 
      
 6864 
     | 
    
         
            +
              };
         
     | 
| 
      
 6865 
     | 
    
         
            +
             
     | 
| 
      
 6866 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6867 
     | 
    
         
            +
               * Add a listener for a given event.
         
     | 
| 
      
 6868 
     | 
    
         
            +
               *
         
     | 
| 
      
 6869 
     | 
    
         
            +
               * @param {(String|Symbol)} event The event name.
         
     | 
| 
      
 6870 
     | 
    
         
            +
               * @param {Function} fn The listener function.
         
     | 
| 
      
 6871 
     | 
    
         
            +
               * @param {*} [context=this] The context to invoke the listener with.
         
     | 
| 
      
 6872 
     | 
    
         
            +
               * @returns {EventEmitter} `this`.
         
     | 
| 
      
 6873 
     | 
    
         
            +
               * @public
         
     | 
| 
      
 6874 
     | 
    
         
            +
               */
         
     | 
| 
      
 6875 
     | 
    
         
            +
              EventEmitter.prototype.on = function on(event, fn, context) {
         
     | 
| 
      
 6876 
     | 
    
         
            +
                return addListener(this, event, fn, context, false);
         
     | 
| 
      
 6877 
     | 
    
         
            +
              };
         
     | 
| 
      
 6878 
     | 
    
         
            +
             
     | 
| 
      
 6879 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6880 
     | 
    
         
            +
               * Add a one-time listener for a given event.
         
     | 
| 
      
 6881 
     | 
    
         
            +
               *
         
     | 
| 
      
 6882 
     | 
    
         
            +
               * @param {(String|Symbol)} event The event name.
         
     | 
| 
      
 6883 
     | 
    
         
            +
               * @param {Function} fn The listener function.
         
     | 
| 
      
 6884 
     | 
    
         
            +
               * @param {*} [context=this] The context to invoke the listener with.
         
     | 
| 
      
 6885 
     | 
    
         
            +
               * @returns {EventEmitter} `this`.
         
     | 
| 
      
 6886 
     | 
    
         
            +
               * @public
         
     | 
| 
      
 6887 
     | 
    
         
            +
               */
         
     | 
| 
      
 6888 
     | 
    
         
            +
              EventEmitter.prototype.once = function once(event, fn, context) {
         
     | 
| 
      
 6889 
     | 
    
         
            +
                return addListener(this, event, fn, context, true);
         
     | 
| 
      
 6890 
     | 
    
         
            +
              };
         
     | 
| 
      
 6891 
     | 
    
         
            +
             
     | 
| 
      
 6892 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6893 
     | 
    
         
            +
               * Remove the listeners of a given event.
         
     | 
| 
      
 6894 
     | 
    
         
            +
               *
         
     | 
| 
      
 6895 
     | 
    
         
            +
               * @param {(String|Symbol)} event The event name.
         
     | 
| 
      
 6896 
     | 
    
         
            +
               * @param {Function} fn Only remove the listeners that match this function.
         
     | 
| 
      
 6897 
     | 
    
         
            +
               * @param {*} context Only remove the listeners that have this context.
         
     | 
| 
      
 6898 
     | 
    
         
            +
               * @param {Boolean} once Only remove one-time listeners.
         
     | 
| 
      
 6899 
     | 
    
         
            +
               * @returns {EventEmitter} `this`.
         
     | 
| 
      
 6900 
     | 
    
         
            +
               * @public
         
     | 
| 
      
 6901 
     | 
    
         
            +
               */
         
     | 
| 
      
 6902 
     | 
    
         
            +
              EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
         
     | 
| 
      
 6903 
     | 
    
         
            +
                var evt = prefix ? prefix + event : event;
         
     | 
| 
      
 6904 
     | 
    
         
            +
                if (!this._events[evt]) return this;
         
     | 
| 
      
 6905 
     | 
    
         
            +
                if (!fn) {
         
     | 
| 
      
 6906 
     | 
    
         
            +
                  clearEvent(this, evt);
         
     | 
| 
      
 6907 
     | 
    
         
            +
                  return this;
         
     | 
| 
       6886 
6908 
     | 
    
         
             
                }
         
     | 
| 
       6887 
     | 
    
         
            -
                 
     | 
| 
       6888 
     | 
    
         
            -
                if ( 
     | 
| 
       6889 
     | 
    
         
            -
             
     | 
| 
       6890 
     | 
    
         
            -
             
     | 
| 
       6891 
     | 
    
         
            -
            } 
     | 
| 
       6892 
     | 
    
         
            -
             
     | 
| 
       6893 
     | 
    
         
            -
             
     | 
| 
       6894 
     | 
    
         
            -
             
     | 
| 
       6895 
     | 
    
         
            -
             
     | 
| 
       6896 
     | 
    
         
            -
             
     | 
| 
       6897 
     | 
    
         
            -
             
     | 
| 
       6898 
     | 
    
         
            -
             
     | 
| 
       6899 
     | 
    
         
            -
             
     | 
| 
       6900 
     | 
    
         
            -
             
     | 
| 
       6901 
     | 
    
         
            -
                   
     | 
| 
       6902 
     | 
    
         
            -
                  this. 
     | 
| 
       6903 
     | 
    
         
            -
                } else if (events[type] !== undefined) {
         
     | 
| 
       6904 
     | 
    
         
            -
                  if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];
         
     | 
| 
      
 6909 
     | 
    
         
            +
                var listeners = this._events[evt];
         
     | 
| 
      
 6910 
     | 
    
         
            +
                if (listeners.fn) {
         
     | 
| 
      
 6911 
     | 
    
         
            +
                  if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
         
     | 
| 
      
 6912 
     | 
    
         
            +
                    clearEvent(this, evt);
         
     | 
| 
      
 6913 
     | 
    
         
            +
                  }
         
     | 
| 
      
 6914 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 6915 
     | 
    
         
            +
                  for (var i = 0, events = [], length = listeners.length; i < length; i++) {
         
     | 
| 
      
 6916 
     | 
    
         
            +
                    if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
         
     | 
| 
      
 6917 
     | 
    
         
            +
                      events.push(listeners[i]);
         
     | 
| 
      
 6918 
     | 
    
         
            +
                    }
         
     | 
| 
      
 6919 
     | 
    
         
            +
                  }
         
     | 
| 
      
 6920 
     | 
    
         
            +
             
     | 
| 
      
 6921 
     | 
    
         
            +
                  //
         
     | 
| 
      
 6922 
     | 
    
         
            +
                  // Reset the array, or remove it completely if we have no more listeners.
         
     | 
| 
      
 6923 
     | 
    
         
            +
                  //
         
     | 
| 
      
 6924 
     | 
    
         
            +
                  if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;else clearEvent(this, evt);
         
     | 
| 
       6905 
6925 
     | 
    
         
             
                }
         
     | 
| 
       6906 
6926 
     | 
    
         
             
                return this;
         
     | 
| 
       6907 
     | 
    
         
            -
              }
         
     | 
| 
      
 6927 
     | 
    
         
            +
              };
         
     | 
| 
       6908 
6928 
     | 
    
         | 
| 
       6909 
     | 
    
         
            -
               
     | 
| 
       6910 
     | 
    
         
            -
             
     | 
| 
       6911 
     | 
    
         
            -
             
     | 
| 
       6912 
     | 
    
         
            -
             
     | 
| 
       6913 
     | 
    
         
            -
             
     | 
| 
       6914 
     | 
    
         
            -
             
     | 
| 
       6915 
     | 
    
         
            -
             
     | 
| 
       6916 
     | 
    
         
            -
             
     | 
| 
      
 6929 
     | 
    
         
            +
              /**
         
     | 
| 
      
 6930 
     | 
    
         
            +
               * Remove all listeners, or those of the specified event.
         
     | 
| 
      
 6931 
     | 
    
         
            +
               *
         
     | 
| 
      
 6932 
     | 
    
         
            +
               * @param {(String|Symbol)} [event] The event name.
         
     | 
| 
      
 6933 
     | 
    
         
            +
               * @returns {EventEmitter} `this`.
         
     | 
| 
      
 6934 
     | 
    
         
            +
               * @public
         
     | 
| 
      
 6935 
     | 
    
         
            +
               */
         
     | 
| 
      
 6936 
     | 
    
         
            +
              EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
         
     | 
| 
      
 6937 
     | 
    
         
            +
                var evt;
         
     | 
| 
      
 6938 
     | 
    
         
            +
                if (event) {
         
     | 
| 
      
 6939 
     | 
    
         
            +
                  evt = prefix ? prefix + event : event;
         
     | 
| 
      
 6940 
     | 
    
         
            +
                  if (this._events[evt]) clearEvent(this, evt);
         
     | 
| 
      
 6941 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 6942 
     | 
    
         
            +
                  this._events = new Events();
         
     | 
| 
      
 6943 
     | 
    
         
            +
                  this._eventsCount = 0;
         
     | 
| 
       6917 
6944 
     | 
    
         
             
                }
         
     | 
| 
       6918 
     | 
    
         
            -
                this.removeAllListeners('removeListener');
         
     | 
| 
       6919 
     | 
    
         
            -
                this._events = Object.create(null);
         
     | 
| 
       6920 
     | 
    
         
            -
                this._eventsCount = 0;
         
     | 
| 
       6921 
6945 
     | 
    
         
             
                return this;
         
     | 
| 
      
 6946 
     | 
    
         
            +
              };
         
     | 
| 
      
 6947 
     | 
    
         
            +
             
     | 
| 
      
 6948 
     | 
    
         
            +
              //
         
     | 
| 
      
 6949 
     | 
    
         
            +
              // Alias methods names because people roll like that.
         
     | 
| 
      
 6950 
     | 
    
         
            +
              //
         
     | 
| 
      
 6951 
     | 
    
         
            +
              EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
         
     | 
| 
      
 6952 
     | 
    
         
            +
              EventEmitter.prototype.addListener = EventEmitter.prototype.on;
         
     | 
| 
      
 6953 
     | 
    
         
            +
             
     | 
| 
      
 6954 
     | 
    
         
            +
              //
         
     | 
| 
      
 6955 
     | 
    
         
            +
              // Expose the prefix.
         
     | 
| 
      
 6956 
     | 
    
         
            +
              //
         
     | 
| 
      
 6957 
     | 
    
         
            +
              EventEmitter.prefixed = prefix;
         
     | 
| 
      
 6958 
     | 
    
         
            +
             
     | 
| 
      
 6959 
     | 
    
         
            +
              //
         
     | 
| 
      
 6960 
     | 
    
         
            +
              // Allow `EventEmitter` to be imported as module namespace.
         
     | 
| 
      
 6961 
     | 
    
         
            +
              //
         
     | 
| 
      
 6962 
     | 
    
         
            +
              EventEmitter.EventEmitter = EventEmitter;
         
     | 
| 
      
 6963 
     | 
    
         
            +
             
     | 
| 
      
 6964 
     | 
    
         
            +
              //
         
     | 
| 
      
 6965 
     | 
    
         
            +
              // Expose the module.
         
     | 
| 
      
 6966 
     | 
    
         
            +
              //
         
     | 
| 
      
 6967 
     | 
    
         
            +
              {
         
     | 
| 
      
 6968 
     | 
    
         
            +
                module.exports = EventEmitter;
         
     | 
| 
       6922 
6969 
     | 
    
         
             
              }
         
     | 
| 
       6923 
     | 
    
         
            -
             
     | 
| 
       6924 
     | 
    
         
            -
             
     | 
| 
       6925 
     | 
    
         
            -
             
     | 
| 
       6926 
     | 
    
         
            -
              } else if (listeners !== undefined) {
         
     | 
| 
       6927 
     | 
    
         
            -
                // LIFO order
         
     | 
| 
       6928 
     | 
    
         
            -
                for (i = listeners.length - 1; i >= 0; i--) {
         
     | 
| 
       6929 
     | 
    
         
            -
                  this.removeListener(type, listeners[i]);
         
     | 
| 
       6930 
     | 
    
         
            -
                }
         
     | 
| 
       6931 
     | 
    
         
            -
              }
         
     | 
| 
       6932 
     | 
    
         
            -
              return this;
         
     | 
| 
       6933 
     | 
    
         
            -
            };
         
     | 
| 
       6934 
     | 
    
         
            -
            function _listeners(target, type, unwrap) {
         
     | 
| 
       6935 
     | 
    
         
            -
              var events = target._events;
         
     | 
| 
       6936 
     | 
    
         
            -
              if (events === undefined) return [];
         
     | 
| 
       6937 
     | 
    
         
            -
              var evlistener = events[type];
         
     | 
| 
       6938 
     | 
    
         
            -
              if (evlistener === undefined) return [];
         
     | 
| 
       6939 
     | 
    
         
            -
              if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener];
         
     | 
| 
       6940 
     | 
    
         
            -
              return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
         
     | 
| 
       6941 
     | 
    
         
            -
            }
         
     | 
| 
       6942 
     | 
    
         
            -
            EventEmitter.prototype.listeners = function listeners(type) {
         
     | 
| 
       6943 
     | 
    
         
            -
              return _listeners(this, type, true);
         
     | 
| 
       6944 
     | 
    
         
            -
            };
         
     | 
| 
       6945 
     | 
    
         
            -
            EventEmitter.prototype.rawListeners = function rawListeners(type) {
         
     | 
| 
       6946 
     | 
    
         
            -
              return _listeners(this, type, false);
         
     | 
| 
       6947 
     | 
    
         
            -
            };
         
     | 
| 
       6948 
     | 
    
         
            -
            EventEmitter.listenerCount = function (emitter, type) {
         
     | 
| 
       6949 
     | 
    
         
            -
              if (typeof emitter.listenerCount === 'function') {
         
     | 
| 
       6950 
     | 
    
         
            -
                return emitter.listenerCount(type);
         
     | 
| 
       6951 
     | 
    
         
            -
              } else {
         
     | 
| 
       6952 
     | 
    
         
            -
                return listenerCount.call(emitter, type);
         
     | 
| 
       6953 
     | 
    
         
            -
              }
         
     | 
| 
       6954 
     | 
    
         
            -
            };
         
     | 
| 
       6955 
     | 
    
         
            -
            EventEmitter.prototype.listenerCount = listenerCount;
         
     | 
| 
       6956 
     | 
    
         
            -
            function listenerCount(type) {
         
     | 
| 
       6957 
     | 
    
         
            -
              var events = this._events;
         
     | 
| 
       6958 
     | 
    
         
            -
              if (events !== undefined) {
         
     | 
| 
       6959 
     | 
    
         
            -
                var evlistener = events[type];
         
     | 
| 
       6960 
     | 
    
         
            -
                if (typeof evlistener === 'function') {
         
     | 
| 
       6961 
     | 
    
         
            -
                  return 1;
         
     | 
| 
       6962 
     | 
    
         
            -
                } else if (evlistener !== undefined) {
         
     | 
| 
       6963 
     | 
    
         
            -
                  return evlistener.length;
         
     | 
| 
       6964 
     | 
    
         
            -
                }
         
     | 
| 
       6965 
     | 
    
         
            -
              }
         
     | 
| 
       6966 
     | 
    
         
            -
              return 0;
         
     | 
| 
       6967 
     | 
    
         
            -
            }
         
     | 
| 
       6968 
     | 
    
         
            -
            EventEmitter.prototype.eventNames = function eventNames() {
         
     | 
| 
       6969 
     | 
    
         
            -
              return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
         
     | 
| 
       6970 
     | 
    
         
            -
            };
         
     | 
| 
       6971 
     | 
    
         
            -
            function arrayClone(arr, n) {
         
     | 
| 
       6972 
     | 
    
         
            -
              var copy = new Array(n);
         
     | 
| 
       6973 
     | 
    
         
            -
              for (var i = 0; i < n; ++i) copy[i] = arr[i];
         
     | 
| 
       6974 
     | 
    
         
            -
              return copy;
         
     | 
| 
       6975 
     | 
    
         
            -
            }
         
     | 
| 
       6976 
     | 
    
         
            -
            function spliceOne(list, index) {
         
     | 
| 
       6977 
     | 
    
         
            -
              for (; index + 1 < list.length; index++) list[index] = list[index + 1];
         
     | 
| 
       6978 
     | 
    
         
            -
              list.pop();
         
     | 
| 
       6979 
     | 
    
         
            -
            }
         
     | 
| 
       6980 
     | 
    
         
            -
            function unwrapListeners(arr) {
         
     | 
| 
       6981 
     | 
    
         
            -
              var ret = new Array(arr.length);
         
     | 
| 
       6982 
     | 
    
         
            -
              for (var i = 0; i < ret.length; ++i) {
         
     | 
| 
       6983 
     | 
    
         
            -
                ret[i] = arr[i].listener || arr[i];
         
     | 
| 
       6984 
     | 
    
         
            -
              }
         
     | 
| 
       6985 
     | 
    
         
            -
              return ret;
         
     | 
| 
       6986 
     | 
    
         
            -
            }
         
     | 
| 
       6987 
     | 
    
         
            -
            function once(emitter, name) {
         
     | 
| 
       6988 
     | 
    
         
            -
              return new Promise(function (resolve, reject) {
         
     | 
| 
       6989 
     | 
    
         
            -
                function errorListener(err) {
         
     | 
| 
       6990 
     | 
    
         
            -
                  emitter.removeListener(name, resolver);
         
     | 
| 
       6991 
     | 
    
         
            -
                  reject(err);
         
     | 
| 
       6992 
     | 
    
         
            -
                }
         
     | 
| 
       6993 
     | 
    
         
            -
                function resolver() {
         
     | 
| 
       6994 
     | 
    
         
            -
                  if (typeof emitter.removeListener === 'function') {
         
     | 
| 
       6995 
     | 
    
         
            -
                    emitter.removeListener('error', errorListener);
         
     | 
| 
       6996 
     | 
    
         
            -
                  }
         
     | 
| 
       6997 
     | 
    
         
            -
                  resolve([].slice.call(arguments));
         
     | 
| 
       6998 
     | 
    
         
            -
                }
         
     | 
| 
       6999 
     | 
    
         
            -
                eventTargetAgnosticAddListener(emitter, name, resolver, {
         
     | 
| 
       7000 
     | 
    
         
            -
                  once: true
         
     | 
| 
       7001 
     | 
    
         
            -
                });
         
     | 
| 
       7002 
     | 
    
         
            -
                if (name !== 'error') {
         
     | 
| 
       7003 
     | 
    
         
            -
                  addErrorHandlerIfEventEmitter(emitter, errorListener, {
         
     | 
| 
       7004 
     | 
    
         
            -
                    once: true
         
     | 
| 
       7005 
     | 
    
         
            -
                  });
         
     | 
| 
       7006 
     | 
    
         
            -
                }
         
     | 
| 
       7007 
     | 
    
         
            -
              });
         
     | 
| 
       7008 
     | 
    
         
            -
            }
         
     | 
| 
       7009 
     | 
    
         
            -
            function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
         
     | 
| 
       7010 
     | 
    
         
            -
              if (typeof emitter.on === 'function') {
         
     | 
| 
       7011 
     | 
    
         
            -
                eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
         
     | 
| 
       7012 
     | 
    
         
            -
              }
         
     | 
| 
       7013 
     | 
    
         
            -
            }
         
     | 
| 
       7014 
     | 
    
         
            -
            function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
         
     | 
| 
       7015 
     | 
    
         
            -
              if (typeof emitter.on === 'function') {
         
     | 
| 
       7016 
     | 
    
         
            -
                if (flags.once) {
         
     | 
| 
       7017 
     | 
    
         
            -
                  emitter.once(name, listener);
         
     | 
| 
       7018 
     | 
    
         
            -
                } else {
         
     | 
| 
       7019 
     | 
    
         
            -
                  emitter.on(name, listener);
         
     | 
| 
       7020 
     | 
    
         
            -
                }
         
     | 
| 
       7021 
     | 
    
         
            -
              } else if (typeof emitter.addEventListener === 'function') {
         
     | 
| 
       7022 
     | 
    
         
            -
                // EventTarget does not have `error` event semantics like Node
         
     | 
| 
       7023 
     | 
    
         
            -
                // EventEmitters, we do not listen for `error` events here.
         
     | 
| 
       7024 
     | 
    
         
            -
                emitter.addEventListener(name, function wrapListener(arg) {
         
     | 
| 
       7025 
     | 
    
         
            -
                  // IE does not have builtin `{ once: true }` support so we
         
     | 
| 
       7026 
     | 
    
         
            -
                  // have to do it manually.
         
     | 
| 
       7027 
     | 
    
         
            -
                  if (flags.once) {
         
     | 
| 
       7028 
     | 
    
         
            -
                    emitter.removeEventListener(name, wrapListener);
         
     | 
| 
       7029 
     | 
    
         
            -
                  }
         
     | 
| 
       7030 
     | 
    
         
            -
                  listener(arg);
         
     | 
| 
       7031 
     | 
    
         
            -
                });
         
     | 
| 
       7032 
     | 
    
         
            -
              } else {
         
     | 
| 
       7033 
     | 
    
         
            -
                throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
         
     | 
| 
       7034 
     | 
    
         
            -
              }
         
     | 
| 
       7035 
     | 
    
         
            -
            }
         
     | 
| 
       7036 
     | 
    
         
            -
            var eventsExports = events.exports;
         
     | 
| 
      
 6970 
     | 
    
         
            +
            })(eventemitter3);
         
     | 
| 
      
 6971 
     | 
    
         
            +
            var eventemitter3Exports = eventemitter3.exports;
         
     | 
| 
      
 6972 
     | 
    
         
            +
            var EventEmitter = /*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);
         
     | 
| 
       7037 
6973 
     | 
    
         | 
| 
       7038 
6974 
     | 
    
         
             
            /*
         
     | 
| 
       7039 
6975 
     | 
    
         
             
             *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
         
     | 
| 
         @@ -14251,7 +14187,7 @@ function getMatch(exp, ua) { 
     | 
|
| 
       14251 
14187 
     | 
    
         
             
              return match && match.length >= id && match[id] || '';
         
     | 
| 
       14252 
14188 
     | 
    
         
             
            }
         
     | 
| 
       14253 
14189 
     | 
    
         | 
| 
       14254 
     | 
    
         
            -
            var version$1 = "1. 
     | 
| 
      
 14190 
     | 
    
         
            +
            var version$1 = "1.11.0";
         
     | 
| 
       14255 
14191 
     | 
    
         | 
| 
       14256 
14192 
     | 
    
         
             
            const version = version$1;
         
     | 
| 
       14257 
14193 
     | 
    
         
             
            const protocolVersion = 9;
         
     | 
| 
         @@ -14566,7 +14502,7 @@ function getEmptyVideoStreamTrack() { 
     | 
|
| 
       14566 
14502 
     | 
    
         
             
              if (!emptyVideoStreamTrack) {
         
     | 
| 
       14567 
14503 
     | 
    
         
             
                emptyVideoStreamTrack = createDummyVideoStreamTrack();
         
     | 
| 
       14568 
14504 
     | 
    
         
             
              }
         
     | 
| 
       14569 
     | 
    
         
            -
              return emptyVideoStreamTrack;
         
     | 
| 
      
 14505 
     | 
    
         
            +
              return emptyVideoStreamTrack.clone();
         
     | 
| 
       14570 
14506 
     | 
    
         
             
            }
         
     | 
| 
       14571 
14507 
     | 
    
         
             
            function createDummyVideoStreamTrack() {
         
     | 
| 
       14572 
14508 
     | 
    
         
             
              let width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 16;
         
     | 
| 
         @@ -14601,8 +14537,11 @@ function getEmptyAudioStreamTrack() { 
     | 
|
| 
       14601 
14537 
     | 
    
         
             
                // implementation adapted from https://blog.mozilla.org/webrtc/warm-up-with-replacetrack/
         
     | 
| 
       14602 
14538 
     | 
    
         
             
                const ctx = new AudioContext();
         
     | 
| 
       14603 
14539 
     | 
    
         
             
                const oscillator = ctx.createOscillator();
         
     | 
| 
      
 14540 
     | 
    
         
            +
                const gain = ctx.createGain();
         
     | 
| 
      
 14541 
     | 
    
         
            +
                gain.gain.setValueAtTime(0, 0);
         
     | 
| 
       14604 
14542 
     | 
    
         
             
                const dst = ctx.createMediaStreamDestination();
         
     | 
| 
       14605 
     | 
    
         
            -
                oscillator.connect( 
     | 
| 
      
 14543 
     | 
    
         
            +
                oscillator.connect(gain);
         
     | 
| 
      
 14544 
     | 
    
         
            +
                gain.connect(dst);
         
     | 
| 
       14606 
14545 
     | 
    
         
             
                oscillator.start();
         
     | 
| 
       14607 
14546 
     | 
    
         
             
                [emptyAudioStreamTrack] = dst.stream.getAudioTracks();
         
     | 
| 
       14608 
14547 
     | 
    
         
             
                if (!emptyAudioStreamTrack) {
         
     | 
| 
         @@ -14610,7 +14549,7 @@ function getEmptyAudioStreamTrack() { 
     | 
|
| 
       14610 
14549 
     | 
    
         
             
                }
         
     | 
| 
       14611 
14550 
     | 
    
         
             
                emptyAudioStreamTrack.enabled = false;
         
     | 
| 
       14612 
14551 
     | 
    
         
             
              }
         
     | 
| 
       14613 
     | 
    
         
            -
              return emptyAudioStreamTrack;
         
     | 
| 
      
 14552 
     | 
    
         
            +
              return emptyAudioStreamTrack.clone();
         
     | 
| 
       14614 
14553 
     | 
    
         
             
            }
         
     | 
| 
       14615 
14554 
     | 
    
         
             
            class Future {
         
     | 
| 
       14616 
14555 
     | 
    
         
             
              constructor(futureBase, onFinally) {
         
     | 
| 
         @@ -16082,7 +16021,7 @@ const PCEvents = { 
     | 
|
| 
       16082 
16021 
     | 
    
         
             
              NegotiationComplete: 'negotiationComplete'
         
     | 
| 
       16083 
16022 
     | 
    
         
             
            };
         
     | 
| 
       16084 
16023 
     | 
    
         
             
            /** @internal */
         
     | 
| 
       16085 
     | 
    
         
            -
            class PCTransport extends  
     | 
| 
      
 16024 
     | 
    
         
            +
            class PCTransport extends EventEmitter {
         
     | 
| 
       16086 
16025 
     | 
    
         
             
              constructor(config) {
         
     | 
| 
       16087 
16026 
     | 
    
         
             
                let mediaConstraints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
         
     | 
| 
       16088 
16027 
     | 
    
         
             
                super();
         
     | 
| 
         @@ -17017,7 +16956,7 @@ const BACKGROUND_REACTION_DELAY = 5000; 
     | 
|
| 
       17017 
16956 
     | 
    
         
             
            // keep old audio elements when detached, we would re-use them since on iOS
         
     | 
| 
       17018 
16957 
     | 
    
         
             
            // Safari tracks which audio elements have been "blessed" by the user.
         
     | 
| 
       17019 
16958 
     | 
    
         
             
            const recycledElements = [];
         
     | 
| 
       17020 
     | 
    
         
            -
            class Track extends  
     | 
| 
      
 16959 
     | 
    
         
            +
            class Track extends EventEmitter {
         
     | 
| 
       17021 
16960 
     | 
    
         
             
              constructor(mediaTrack, kind) {
         
     | 
| 
       17022 
16961 
     | 
    
         
             
                super();
         
     | 
| 
       17023 
16962 
     | 
    
         
             
                this.attachedElements = [];
         
     | 
| 
         @@ -17041,7 +16980,6 @@ class Track extends eventsExports.EventEmitter { 
     | 
|
| 
       17041 
16980 
     | 
    
         
             
                    this.handleAppVisibilityChanged();
         
     | 
| 
       17042 
16981 
     | 
    
         
             
                  }
         
     | 
| 
       17043 
16982 
     | 
    
         
             
                };
         
     | 
| 
       17044 
     | 
    
         
            -
                this.setMaxListeners(100);
         
     | 
| 
       17045 
16983 
     | 
    
         
             
                this.kind = kind;
         
     | 
| 
       17046 
16984 
     | 
    
         
             
                this._mediaStreamTrack = mediaTrack;
         
     | 
| 
       17047 
16985 
     | 
    
         
             
                this._mediaStreamID = mediaTrack.id;
         
     | 
| 
         @@ -17361,7 +17299,7 @@ var PCState; 
     | 
|
| 
       17361 
17299 
     | 
    
         
             
              PCState[PCState["Closed"] = 4] = "Closed";
         
     | 
| 
       17362 
17300 
     | 
    
         
             
            })(PCState || (PCState = {}));
         
     | 
| 
       17363 
17301 
     | 
    
         
             
            /** @internal */
         
     | 
| 
       17364 
     | 
    
         
            -
            class RTCEngine extends  
     | 
| 
      
 17302 
     | 
    
         
            +
            class RTCEngine extends EventEmitter {
         
     | 
| 
       17365 
17303 
     | 
    
         
             
              get isClosed() {
         
     | 
| 
       17366 
17304 
     | 
    
         
             
                return this._isClosed;
         
     | 
| 
       17367 
17305 
     | 
    
         
             
              }
         
     | 
| 
         @@ -17499,6 +17437,7 @@ class RTCEngine extends eventsExports.EventEmitter { 
     | 
|
| 
       17499 
17437 
     | 
    
         
             
                    };
         
     | 
| 
       17500 
17438 
     | 
    
         
             
                    this.once(EngineEvent.Restarted, onRestarted);
         
     | 
| 
       17501 
17439 
     | 
    
         
             
                    this.once(EngineEvent.Disconnected, onDisconnected);
         
     | 
| 
      
 17440 
     | 
    
         
            +
                    this.once(EngineEvent.Closing, onDisconnected);
         
     | 
| 
       17502 
17441 
     | 
    
         
             
                  });
         
     | 
| 
       17503 
17442 
     | 
    
         
             
                };
         
     | 
| 
       17504 
17443 
     | 
    
         
             
                this.updateAndEmitDCBufferStatus = kind => {
         
     | 
| 
         @@ -18291,7 +18230,7 @@ class RTCEngine extends eventsExports.EventEmitter { 
     | 
|
| 
       18291 
18230 
     | 
    
         
             
                  }
         
     | 
| 
       18292 
18231 
     | 
    
         
             
                  this.hasPublished = true;
         
     | 
| 
       18293 
18232 
     | 
    
         
             
                  const handleClosed = () => {
         
     | 
| 
       18294 
     | 
    
         
            -
                    livekitLogger. 
     | 
| 
      
 18233 
     | 
    
         
            +
                    livekitLogger.warn('engine disconnected while negotiation was ongoing');
         
     | 
| 
       18295 
18234 
     | 
    
         
             
                    cleanup();
         
     | 
| 
       18296 
18235 
     | 
    
         
             
                    resolve();
         
     | 
| 
       18297 
18236 
     | 
    
         
             
                    return;
         
     | 
| 
         @@ -18440,12 +18379,16 @@ class LocalTrack extends Track { 
     | 
|
| 
       18440 
18379 
     | 
    
         
             
                  }
         
     | 
| 
       18441 
18380 
     | 
    
         
             
                  this.emit(TrackEvent.Ended, this);
         
     | 
| 
       18442 
18381 
     | 
    
         
             
                };
         
     | 
| 
       18443 
     | 
    
         
            -
                this._mediaStreamTrack.addEventListener('ended', this.handleEnded);
         
     | 
| 
       18444 
     | 
    
         
            -
                this.constraints = constraints !== null && constraints !== void 0 ? constraints : mediaTrack.getConstraints();
         
     | 
| 
       18445 
18382 
     | 
    
         
             
                this.reacquireTrack = false;
         
     | 
| 
       18446 
18383 
     | 
    
         
             
                this.providedByUser = userProvidedTrack;
         
     | 
| 
       18447 
18384 
     | 
    
         
             
                this.muteLock = new Mutex();
         
     | 
| 
       18448 
18385 
     | 
    
         
             
                this.pauseUpstreamLock = new Mutex();
         
     | 
| 
      
 18386 
     | 
    
         
            +
                // added to satisfy TS compiler, constraints are synced with MediaStreamTrack
         
     | 
| 
      
 18387 
     | 
    
         
            +
                this.constraints = mediaTrack.getConstraints();
         
     | 
| 
      
 18388 
     | 
    
         
            +
                this.setMediaStreamTrack(mediaTrack);
         
     | 
| 
      
 18389 
     | 
    
         
            +
                if (constraints) {
         
     | 
| 
      
 18390 
     | 
    
         
            +
                  this.constraints = constraints;
         
     | 
| 
      
 18391 
     | 
    
         
            +
                }
         
     | 
| 
       18449 
18392 
     | 
    
         
             
              }
         
     | 
| 
       18450 
18393 
     | 
    
         
             
              get id() {
         
     | 
| 
       18451 
18394 
     | 
    
         
             
                return this._mediaStreamTrack.id;
         
     | 
| 
         @@ -18476,6 +18419,53 @@ class LocalTrack extends Track { 
     | 
|
| 
       18476 
18419 
     | 
    
         
             
                var _a, _b;
         
     | 
| 
       18477 
18420 
     | 
    
         
             
                return (_b = (_a = this.processor) === null || _a === void 0 ? void 0 : _a.processedTrack) !== null && _b !== void 0 ? _b : this._mediaStreamTrack;
         
     | 
| 
       18478 
18421 
     | 
    
         
             
              }
         
     | 
| 
      
 18422 
     | 
    
         
            +
              setMediaStreamTrack(newTrack) {
         
     | 
| 
      
 18423 
     | 
    
         
            +
                return __awaiter(this, void 0, void 0, function* () {
         
     | 
| 
      
 18424 
     | 
    
         
            +
                  if (newTrack === this._mediaStreamTrack) {
         
     | 
| 
      
 18425 
     | 
    
         
            +
                    return;
         
     | 
| 
      
 18426 
     | 
    
         
            +
                  }
         
     | 
| 
      
 18427 
     | 
    
         
            +
                  if (this._mediaStreamTrack) {
         
     | 
| 
      
 18428 
     | 
    
         
            +
                    // detach
         
     | 
| 
      
 18429 
     | 
    
         
            +
                    this.attachedElements.forEach(el => {
         
     | 
| 
      
 18430 
     | 
    
         
            +
                      detachTrack(this._mediaStreamTrack, el);
         
     | 
| 
      
 18431 
     | 
    
         
            +
                    });
         
     | 
| 
      
 18432 
     | 
    
         
            +
                    this._mediaStreamTrack.removeEventListener('ended', this.handleEnded);
         
     | 
| 
      
 18433 
     | 
    
         
            +
                    this._mediaStreamTrack.removeEventListener('mute', this.pauseUpstream);
         
     | 
| 
      
 18434 
     | 
    
         
            +
                    this._mediaStreamTrack.removeEventListener('unmute', this.resumeUpstream);
         
     | 
| 
      
 18435 
     | 
    
         
            +
                    if (!this.providedByUser) {
         
     | 
| 
      
 18436 
     | 
    
         
            +
                      this._mediaStreamTrack.stop();
         
     | 
| 
      
 18437 
     | 
    
         
            +
                    }
         
     | 
| 
      
 18438 
     | 
    
         
            +
                  }
         
     | 
| 
      
 18439 
     | 
    
         
            +
                  this.mediaStream = new MediaStream([newTrack]);
         
     | 
| 
      
 18440 
     | 
    
         
            +
                  if (newTrack) {
         
     | 
| 
      
 18441 
     | 
    
         
            +
                    newTrack.addEventListener('ended', this.handleEnded);
         
     | 
| 
      
 18442 
     | 
    
         
            +
                    // when underlying track emits mute, it indicates that the device is unable
         
     | 
| 
      
 18443 
     | 
    
         
            +
                    // to produce media. In this case we'll need to signal with remote that
         
     | 
| 
      
 18444 
     | 
    
         
            +
                    // the track is "muted"
         
     | 
| 
      
 18445 
     | 
    
         
            +
                    // note this is different from LocalTrack.mute because we do not want to
         
     | 
| 
      
 18446 
     | 
    
         
            +
                    // touch MediaStreamTrack.enabled
         
     | 
| 
      
 18447 
     | 
    
         
            +
                    newTrack.addEventListener('mute', () => {
         
     | 
| 
      
 18448 
     | 
    
         
            +
                      livekitLogger.info('pausing upstream due to device mute');
         
     | 
| 
      
 18449 
     | 
    
         
            +
                      this.pauseUpstream();
         
     | 
| 
      
 18450 
     | 
    
         
            +
                    });
         
     | 
| 
      
 18451 
     | 
    
         
            +
                    newTrack.addEventListener('unmute', this.resumeUpstream);
         
     | 
| 
      
 18452 
     | 
    
         
            +
                    this.constraints = newTrack.getConstraints();
         
     | 
| 
      
 18453 
     | 
    
         
            +
                  }
         
     | 
| 
      
 18454 
     | 
    
         
            +
                  if (this.sender) {
         
     | 
| 
      
 18455 
     | 
    
         
            +
                    yield this.sender.replaceTrack(newTrack);
         
     | 
| 
      
 18456 
     | 
    
         
            +
                  }
         
     | 
| 
      
 18457 
     | 
    
         
            +
                  this._mediaStreamTrack = newTrack;
         
     | 
| 
      
 18458 
     | 
    
         
            +
                  if (newTrack) {
         
     | 
| 
      
 18459 
     | 
    
         
            +
                    // sync muted state with the enabled state of the newly provided track
         
     | 
| 
      
 18460 
     | 
    
         
            +
                    this._mediaStreamTrack.enabled = !this.isMuted;
         
     | 
| 
      
 18461 
     | 
    
         
            +
                    // when a valid track is replace, we'd want to start producing
         
     | 
| 
      
 18462 
     | 
    
         
            +
                    yield this.resumeUpstream();
         
     | 
| 
      
 18463 
     | 
    
         
            +
                    this.attachedElements.forEach(el => {
         
     | 
| 
      
 18464 
     | 
    
         
            +
                      attachToElement(newTrack, el);
         
     | 
| 
      
 18465 
     | 
    
         
            +
                    });
         
     | 
| 
      
 18466 
     | 
    
         
            +
                  }
         
     | 
| 
      
 18467 
     | 
    
         
            +
                });
         
     | 
| 
      
 18468 
     | 
    
         
            +
              }
         
     | 
| 
       18479 
18469 
     | 
    
         
             
              waitForDimensions() {
         
     | 
| 
       18480 
18470 
     | 
    
         
             
                let timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultDimensionsTimeout;
         
     | 
| 
       18481 
18471 
     | 
    
         
             
                return __awaiter(this, void 0, void 0, function* () {
         
     | 
| 
         @@ -18528,30 +18518,10 @@ class LocalTrack extends Track { 
     | 
|
| 
       18528 
18518 
     | 
    
         
             
                  if (!this.sender) {
         
     | 
| 
       18529 
18519 
     | 
    
         
             
                    throw new TrackInvalidError('unable to replace an unpublished track');
         
     | 
| 
       18530 
18520 
     | 
    
         
             
                  }
         
     | 
| 
       18531 
     | 
    
         
            -
                  // detach
         
     | 
| 
       18532 
     | 
    
         
            -
                  this.attachedElements.forEach(el => {
         
     | 
| 
       18533 
     | 
    
         
            -
                    detachTrack(this._mediaStreamTrack, el);
         
     | 
| 
       18534 
     | 
    
         
            -
                  });
         
     | 
| 
       18535 
     | 
    
         
            -
                  this._mediaStreamTrack.removeEventListener('ended', this.handleEnded);
         
     | 
| 
       18536 
     | 
    
         
            -
                  // on Safari, the old audio track must be stopped before attempting to acquire
         
     | 
| 
       18537 
     | 
    
         
            -
                  // the new track, otherwise the new track will stop with
         
     | 
| 
       18538 
     | 
    
         
            -
                  // 'A MediaStreamTrack ended due to a capture failure`
         
     | 
| 
       18539 
     | 
    
         
            -
                  if (!this.providedByUser) {
         
     | 
| 
       18540 
     | 
    
         
            -
                    this._mediaStreamTrack.stop();
         
     | 
| 
       18541 
     | 
    
         
            -
                  }
         
     | 
| 
       18542 
     | 
    
         
            -
                  track.addEventListener('ended', this.handleEnded);
         
     | 
| 
       18543 
18521 
     | 
    
         
             
                  livekitLogger.debug('replace MediaStreamTrack');
         
     | 
| 
       18544 
     | 
    
         
            -
                   
     | 
| 
       18545 
     | 
    
         
            -
             
     | 
| 
       18546 
     | 
    
         
            -
                   
     | 
| 
       18547 
     | 
    
         
            -
                  this._mediaStreamTrack = track;
         
     | 
| 
       18548 
     | 
    
         
            -
                  // sync muted state with the enabled state of the newly provided track
         
     | 
| 
       18549 
     | 
    
         
            -
                  this._mediaStreamTrack.enabled = !this.isMuted;
         
     | 
| 
       18550 
     | 
    
         
            -
                  yield this.resumeUpstream();
         
     | 
| 
       18551 
     | 
    
         
            -
                  this.attachedElements.forEach(el => {
         
     | 
| 
       18552 
     | 
    
         
            -
                    attachToElement(track, el);
         
     | 
| 
       18553 
     | 
    
         
            -
                  });
         
     | 
| 
       18554 
     | 
    
         
            -
                  this.mediaStream = new MediaStream([track]);
         
     | 
| 
      
 18522 
     | 
    
         
            +
                  this.setMediaStreamTrack(track);
         
     | 
| 
      
 18523 
     | 
    
         
            +
                  // this must be synced *after* setting mediaStreamTrack above, since it relies
         
     | 
| 
      
 18524 
     | 
    
         
            +
                  // on the previous state in order to cleanup
         
     | 
| 
       18555 
18525 
     | 
    
         
             
                  this.providedByUser = userProvidedTrack;
         
     | 
| 
       18556 
18526 
     | 
    
         
             
                  if (this.processor) {
         
     | 
| 
       18557 
18527 
     | 
    
         
             
                    yield this.stopProcessor();
         
     | 
| 
         @@ -18574,7 +18544,8 @@ class LocalTrack extends Track { 
     | 
|
| 
       18574 
18544 
     | 
    
         
             
                  } else {
         
     | 
| 
       18575 
18545 
     | 
    
         
             
                    streamConstraints.audio = constraints;
         
     | 
| 
       18576 
18546 
     | 
    
         
             
                  }
         
     | 
| 
       18577 
     | 
    
         
            -
                  //  
     | 
| 
      
 18547 
     | 
    
         
            +
                  // these steps are duplicated from setMediaStreamTrack because we must stop
         
     | 
| 
      
 18548 
     | 
    
         
            +
                  // the previous tracks before new tracks can be acquired
         
     | 
| 
       18578 
18549 
     | 
    
         
             
                  this.attachedElements.forEach(el => {
         
     | 
| 
       18579 
18550 
     | 
    
         
             
                    detachTrack(this.mediaStreamTrack, el);
         
     | 
| 
       18580 
18551 
     | 
    
         
             
                  });
         
     | 
| 
         @@ -18588,13 +18559,7 @@ class LocalTrack extends Track { 
     | 
|
| 
       18588 
18559 
     | 
    
         
             
                  const newTrack = mediaStream.getTracks()[0];
         
     | 
| 
       18589 
18560 
     | 
    
         
             
                  newTrack.addEventListener('ended', this.handleEnded);
         
     | 
| 
       18590 
18561 
     | 
    
         
             
                  livekitLogger.debug('re-acquired MediaStreamTrack');
         
     | 
| 
       18591 
     | 
    
         
            -
                   
     | 
| 
       18592 
     | 
    
         
            -
                    // Track can be restarted after it's unpublished
         
     | 
| 
       18593 
     | 
    
         
            -
                    yield this.sender.replaceTrack(newTrack);
         
     | 
| 
       18594 
     | 
    
         
            -
                  }
         
     | 
| 
       18595 
     | 
    
         
            -
                  this._mediaStreamTrack = newTrack;
         
     | 
| 
       18596 
     | 
    
         
            -
                  yield this.resumeUpstream();
         
     | 
| 
       18597 
     | 
    
         
            -
                  this.mediaStream = mediaStream;
         
     | 
| 
      
 18562 
     | 
    
         
            +
                  this.setMediaStreamTrack(newTrack);
         
     | 
| 
       18598 
18563 
     | 
    
         
             
                  this.constraints = constraints;
         
     | 
| 
       18599 
18564 
     | 
    
         
             
                  if (this.processor) {
         
     | 
| 
       18600 
18565 
     | 
    
         
             
                    const processor = this.processor;
         
     | 
| 
         @@ -18686,6 +18651,7 @@ class LocalTrack extends Track { 
     | 
|
| 
       18686 
18651 
     | 
    
         
             
                    }
         
     | 
| 
       18687 
18652 
     | 
    
         
             
                    this._isUpstreamPaused = false;
         
     | 
| 
       18688 
18653 
     | 
    
         
             
                    this.emit(TrackEvent.UpstreamResumed, this);
         
     | 
| 
      
 18654 
     | 
    
         
            +
                    // this operation is noop if mediastreamtrack is already being sent
         
     | 
| 
       18689 
18655 
     | 
    
         
             
                    yield this.sender.replaceTrack(this._mediaStreamTrack);
         
     | 
| 
       18690 
18656 
     | 
    
         
             
                  } finally {
         
     | 
| 
       18691 
18657 
     | 
    
         
             
                    unlock();
         
     | 
| 
         @@ -19003,25 +18969,23 @@ function computeVideoEncodings(isScreenShare, width, height, options) { 
     | 
|
| 
       19003 
18969 
     | 
    
         
             
              const original = new VideoPreset(width, height, videoEncoding.maxBitrate, videoEncoding.maxFramerate);
         
     | 
| 
       19004 
18970 
     | 
    
         
             
              if (scalabilityMode && isSVCCodec(videoCodec)) {
         
     | 
| 
       19005 
18971 
     | 
    
         
             
                livekitLogger.debug("using svc with scalabilityMode ".concat(scalabilityMode));
         
     | 
| 
      
 18972 
     | 
    
         
            +
                const sm = new ScalabilityMode(scalabilityMode);
         
     | 
| 
       19006 
18973 
     | 
    
         
             
                const encodings = [];
         
     | 
| 
       19007 
     | 
    
         
            -
                 
     | 
| 
       19008 
     | 
    
         
            -
             
     | 
| 
       19009 
     | 
    
         
            -
             
     | 
| 
       19010 
     | 
    
         
            -
             
     | 
| 
       19011 
     | 
    
         
            -
             
     | 
| 
       19012 
     | 
    
         
            -
             
     | 
| 
       19013 
     | 
    
         
            -
             
     | 
| 
       19014 
     | 
    
         
            -
             
     | 
| 
       19015 
     | 
    
         
            -
             
     | 
| 
       19016 
     | 
    
         
            -
             
     | 
| 
       19017 
     | 
    
         
            -
                      scalabilityMode: scalabilityMode
         
     | 
| 
       19018 
     | 
    
         
            -
                    });
         
     | 
| 
       19019 
     | 
    
         
            -
                    livekitLogger.debug('encodings', encodings);
         
     | 
| 
       19020 
     | 
    
         
            -
                    return encodings;
         
     | 
| 
       19021 
     | 
    
         
            -
                  default:
         
     | 
| 
       19022 
     | 
    
         
            -
                    // TODO : support other scalability modes
         
     | 
| 
       19023 
     | 
    
         
            -
                    throw new Error("unsupported scalabilityMode: ".concat(scalabilityMode));
         
     | 
| 
      
 18974 
     | 
    
         
            +
                if (sm.spatial > 3) {
         
     | 
| 
      
 18975 
     | 
    
         
            +
                  throw new Error("unsupported scalabilityMode: ".concat(scalabilityMode));
         
     | 
| 
      
 18976 
     | 
    
         
            +
                }
         
     | 
| 
      
 18977 
     | 
    
         
            +
                for (let i = 0; i < sm.spatial; i += 1) {
         
     | 
| 
      
 18978 
     | 
    
         
            +
                  encodings.push({
         
     | 
| 
      
 18979 
     | 
    
         
            +
                    rid: videoRids[2 - i],
         
     | 
| 
      
 18980 
     | 
    
         
            +
                    maxBitrate: videoEncoding.maxBitrate / Math.pow(3, i),
         
     | 
| 
      
 18981 
     | 
    
         
            +
                    /* @ts-ignore */
         
     | 
| 
      
 18982 
     | 
    
         
            +
                    maxFramerate: original.encoding.maxFramerate
         
     | 
| 
      
 18983 
     | 
    
         
            +
                  });
         
     | 
| 
       19024 
18984 
     | 
    
         
             
                }
         
     | 
| 
      
 18985 
     | 
    
         
            +
                /* @ts-ignore */
         
     | 
| 
      
 18986 
     | 
    
         
            +
                encodings[0].scalabilityMode = scalabilityMode;
         
     | 
| 
      
 18987 
     | 
    
         
            +
                livekitLogger.debug('encodings', encodings);
         
     | 
| 
      
 18988 
     | 
    
         
            +
                return encodings;
         
     | 
| 
       19025 
18989 
     | 
    
         
             
              }
         
     | 
| 
       19026 
18990 
     | 
    
         
             
              if (!useSimulcast) {
         
     | 
| 
       19027 
18991 
     | 
    
         
             
                return [videoEncoding];
         
     | 
| 
         @@ -19554,44 +19518,13 @@ function setPublishingLayersForSender(sender, senderEncodings, qualities, sender 
     | 
|
| 
       19554 
19518 
     | 
    
         
             
                    return;
         
     | 
| 
       19555 
19519 
     | 
    
         
             
                  }
         
     | 
| 
       19556 
19520 
     | 
    
         
             
                  let hasChanged = false;
         
     | 
| 
       19557 
     | 
    
         
            -
                  /*  
     | 
| 
       19558 
     | 
    
         
            -
                   
     | 
| 
       19559 
     | 
    
         
            -
                    // svc dynacast encodings
         
     | 
| 
       19560 
     | 
    
         
            -
                    const encoding = encodings[0];
         
     | 
| 
       19561 
     | 
    
         
            -
                    /* @ts-ignore */
         
     | 
| 
       19562 
     | 
    
         
            -
                    // const mode = new ScalabilityMode(encoding.scalabilityMode);
         
     | 
| 
       19563 
     | 
    
         
            -
                    let maxQuality = VideoQuality.OFF;
         
     | 
| 
       19564 
     | 
    
         
            -
                    qualities.forEach(q => {
         
     | 
| 
       19565 
     | 
    
         
            -
                      if (q.enabled && (maxQuality === VideoQuality.OFF || q.quality > maxQuality)) {
         
     | 
| 
       19566 
     | 
    
         
            -
                        maxQuality = q.quality;
         
     | 
| 
       19567 
     | 
    
         
            -
                      }
         
     | 
| 
       19568 
     | 
    
         
            -
                    });
         
     | 
| 
       19569 
     | 
    
         
            -
                    if (maxQuality === VideoQuality.OFF) {
         
     | 
| 
       19570 
     | 
    
         
            -
                      if (encoding.active) {
         
     | 
| 
       19571 
     | 
    
         
            -
                        encoding.active = false;
         
     | 
| 
       19572 
     | 
    
         
            -
                        hasChanged = true;
         
     | 
| 
       19573 
     | 
    
         
            -
                      }
         
     | 
| 
       19574 
     | 
    
         
            -
                    } else if (!encoding.active /* || mode.spatial !== maxQuality + 1*/) {
         
     | 
| 
       19575 
     | 
    
         
            -
                      hasChanged = true;
         
     | 
| 
       19576 
     | 
    
         
            -
                      encoding.active = true;
         
     | 
| 
       19577 
     | 
    
         
            -
                      /* disable closable spatial layer as it has video blur/frozen issue with current server/client
         
     | 
| 
       19578 
     | 
    
         
            -
                        1. chrome 113: when switching to up layer with scalability Mode change, it will generate a
         
     | 
| 
      
 19521 
     | 
    
         
            +
                  /* disable closable spatial layer as it has video blur / frozen issue with current server / client
         
     | 
| 
      
 19522 
     | 
    
         
            +
                  1. chrome 113: when switching to up layer with scalability Mode change, it will generate a
         
     | 
| 
       19579 
19523 
     | 
    
         
             
                        low resolution frame and recover very quickly, but noticable
         
     | 
| 
       19580 
     | 
    
         
            -
             
     | 
| 
       19581 
     | 
    
         
            -
             
     | 
| 
       19582 
     | 
    
         
            -
             
     | 
| 
       19583 
     | 
    
         
            -
             
     | 
| 
       19584 
     | 
    
         
            -
                      mode.suffix = originalMode.suffix;
         
     | 
| 
       19585 
     | 
    
         
            -
                      if (mode.spatial === 1) {
         
     | 
| 
       19586 
     | 
    
         
            -
                        // no suffix for L1Tx
         
     | 
| 
       19587 
     | 
    
         
            -
                        mode.suffix = undefined;
         
     | 
| 
       19588 
     | 
    
         
            -
                      }
         
     | 
| 
       19589 
     | 
    
         
            -
                      @ts-ignore
         
     | 
| 
       19590 
     | 
    
         
            -
                      encoding.scalabilityMode = mode.toString();
         
     | 
| 
       19591 
     | 
    
         
            -
                      encoding.scaleResolutionDownBy = 2 ** (2 - maxQuality);
         
     | 
| 
       19592 
     | 
    
         
            -
                      */
         
     | 
| 
       19593 
     | 
    
         
            -
                    }
         
     | 
| 
       19594 
     | 
    
         
            -
                  } else {
         
     | 
| 
      
 19524 
     | 
    
         
            +
                  2. livekit sfu: additional pli request cause video frozen for a few frames, also noticable */
         
     | 
| 
      
 19525 
     | 
    
         
            +
                  const closableSpatial = false;
         
     | 
| 
      
 19526 
     | 
    
         
            +
                  /* @ts-ignore */
         
     | 
| 
      
 19527 
     | 
    
         
            +
                  if (closableSpatial && encodings[0].scalabilityMode) ; else {
         
     | 
| 
       19595 
19528 
     | 
    
         
             
                    // simulcast dynacast encodings
         
     | 
| 
       19596 
19529 
     | 
    
         
             
                    encodings.forEach((encoding, idx) => {
         
     | 
| 
       19597 
19530 
     | 
    
         
             
                      var _a;
         
     | 
| 
         @@ -19648,7 +19581,7 @@ function videoQualityForRid(rid) { 
     | 
|
| 
       19648 
19581 
     | 
    
         
             
                  return VideoQuality.UNRECOGNIZED;
         
     | 
| 
       19649 
19582 
     | 
    
         
             
              }
         
     | 
| 
       19650 
19583 
     | 
    
         
             
            }
         
     | 
| 
       19651 
     | 
    
         
            -
            function videoLayersFromEncodings(width, height, encodings) {
         
     | 
| 
      
 19584 
     | 
    
         
            +
            function videoLayersFromEncodings(width, height, encodings, svc) {
         
     | 
| 
       19652 
19585 
     | 
    
         
             
              // default to a single layer, HQ
         
     | 
| 
       19653 
19586 
     | 
    
         
             
              if (!encodings) {
         
     | 
| 
       19654 
19587 
     | 
    
         
             
                return [{
         
     | 
| 
         @@ -19659,8 +19592,7 @@ function videoLayersFromEncodings(width, height, encodings) { 
     | 
|
| 
       19659 
19592 
     | 
    
         
             
                  ssrc: 0
         
     | 
| 
       19660 
19593 
     | 
    
         
             
                }];
         
     | 
| 
       19661 
19594 
     | 
    
         
             
              }
         
     | 
| 
       19662 
     | 
    
         
            -
               
     | 
| 
       19663 
     | 
    
         
            -
              if (encodings.length === 1 && encodings[0].scalabilityMode) {
         
     | 
| 
      
 19595 
     | 
    
         
            +
              if (svc) {
         
     | 
| 
       19664 
19596 
     | 
    
         
             
                // svc layers
         
     | 
| 
       19665 
19597 
     | 
    
         
             
                /* @ts-ignore */
         
     | 
| 
       19666 
19598 
     | 
    
         
             
                const sm = new ScalabilityMode(encodings[0].scalabilityMode);
         
     | 
| 
         @@ -20114,20 +20046,19 @@ class RemoteVideoTrack extends RemoteTrack { 
     | 
|
| 
       20114 
20046 
     | 
    
         
             
                this.emit(TrackEvent.VisibilityChanged, isVisible, this);
         
     | 
| 
       20115 
20047 
     | 
    
         
             
              }
         
     | 
| 
       20116 
20048 
     | 
    
         
             
              updateDimensions() {
         
     | 
| 
       20117 
     | 
    
         
            -
                var _a, _b 
     | 
| 
      
 20049 
     | 
    
         
            +
                var _a, _b;
         
     | 
| 
       20118 
20050 
     | 
    
         
             
                let maxWidth = 0;
         
     | 
| 
       20119 
20051 
     | 
    
         
             
                let maxHeight = 0;
         
     | 
| 
      
 20052 
     | 
    
         
            +
                const pixelDensity = this.getPixelDensity();
         
     | 
| 
       20120 
20053 
     | 
    
         
             
                for (const info of this.elementInfos) {
         
     | 
| 
       20121 
     | 
    
         
            -
                  const  
     | 
| 
       20122 
     | 
    
         
            -
                  const  
     | 
| 
       20123 
     | 
    
         
            -
                  const currentElementWidth = info.width() * pixelDensityValue;
         
     | 
| 
       20124 
     | 
    
         
            -
                  const currentElementHeight = info.height() * pixelDensityValue;
         
     | 
| 
      
 20054 
     | 
    
         
            +
                  const currentElementWidth = info.width() * pixelDensity;
         
     | 
| 
      
 20055 
     | 
    
         
            +
                  const currentElementHeight = info.height() * pixelDensity;
         
     | 
| 
       20125 
20056 
     | 
    
         
             
                  if (currentElementWidth + currentElementHeight > maxWidth + maxHeight) {
         
     | 
| 
       20126 
20057 
     | 
    
         
             
                    maxWidth = currentElementWidth;
         
     | 
| 
       20127 
20058 
     | 
    
         
             
                    maxHeight = currentElementHeight;
         
     | 
| 
       20128 
20059 
     | 
    
         
             
                  }
         
     | 
| 
       20129 
20060 
     | 
    
         
             
                }
         
     | 
| 
       20130 
     | 
    
         
            -
                if ((( 
     | 
| 
      
 20061 
     | 
    
         
            +
                if (((_a = this.lastDimensions) === null || _a === void 0 ? void 0 : _a.width) === maxWidth && ((_b = this.lastDimensions) === null || _b === void 0 ? void 0 : _b.height) === maxHeight) {
         
     | 
| 
       20131 
20062 
     | 
    
         
             
                  return;
         
     | 
| 
       20132 
20063 
     | 
    
         
             
                }
         
     | 
| 
       20133 
20064 
     | 
    
         
             
                this.lastDimensions = {
         
     | 
| 
         @@ -20136,6 +20067,24 @@ class RemoteVideoTrack extends RemoteTrack { 
     | 
|
| 
       20136 
20067 
     | 
    
         
             
                };
         
     | 
| 
       20137 
20068 
     | 
    
         
             
                this.emit(TrackEvent.VideoDimensionsChanged, this.lastDimensions, this);
         
     | 
| 
       20138 
20069 
     | 
    
         
             
              }
         
     | 
| 
      
 20070 
     | 
    
         
            +
              getPixelDensity() {
         
     | 
| 
      
 20071 
     | 
    
         
            +
                var _a;
         
     | 
| 
      
 20072 
     | 
    
         
            +
                const pixelDensity = (_a = this.adaptiveStreamSettings) === null || _a === void 0 ? void 0 : _a.pixelDensity;
         
     | 
| 
      
 20073 
     | 
    
         
            +
                if (pixelDensity === 'screen') {
         
     | 
| 
      
 20074 
     | 
    
         
            +
                  return getDevicePixelRatio();
         
     | 
| 
      
 20075 
     | 
    
         
            +
                } else if (!pixelDensity) {
         
     | 
| 
      
 20076 
     | 
    
         
            +
                  // when unset, we'll pick a sane default here.
         
     | 
| 
      
 20077 
     | 
    
         
            +
                  // for higher pixel density devices (mobile phones, etc), we'll use 2
         
     | 
| 
      
 20078 
     | 
    
         
            +
                  // otherwise it defaults to 1
         
     | 
| 
      
 20079 
     | 
    
         
            +
                  const devicePixelRatio = getDevicePixelRatio();
         
     | 
| 
      
 20080 
     | 
    
         
            +
                  if (devicePixelRatio > 2) {
         
     | 
| 
      
 20081 
     | 
    
         
            +
                    return 2;
         
     | 
| 
      
 20082 
     | 
    
         
            +
                  } else {
         
     | 
| 
      
 20083 
     | 
    
         
            +
                    return 1;
         
     | 
| 
      
 20084 
     | 
    
         
            +
                  }
         
     | 
| 
      
 20085 
     | 
    
         
            +
                }
         
     | 
| 
      
 20086 
     | 
    
         
            +
                return pixelDensity;
         
     | 
| 
      
 20087 
     | 
    
         
            +
              }
         
     | 
| 
       20139 
20088 
     | 
    
         
             
            }
         
     | 
| 
       20140 
20089 
     | 
    
         
             
            class HTMLElementInfo {
         
     | 
| 
       20141 
20090 
     | 
    
         
             
              get visible() {
         
     | 
| 
         @@ -20221,7 +20170,7 @@ function isElementInViewport(el) { 
     | 
|
| 
       20221 
20170 
     | 
    
         
             
              return top < window.pageYOffset + window.innerHeight && left < window.pageXOffset + window.innerWidth && top + height > window.pageYOffset && left + width > window.pageXOffset && !hidden && (opacity !== '' ? parseFloat(opacity) > 0 : true) && display !== 'none';
         
     | 
| 
       20222 
20171 
     | 
    
         
             
            }
         
     | 
| 
       20223 
20172 
     | 
    
         | 
| 
       20224 
     | 
    
         
            -
            class TrackPublication extends  
     | 
| 
      
 20173 
     | 
    
         
            +
            class TrackPublication extends EventEmitter {
         
     | 
| 
       20225 
20174 
     | 
    
         
             
              constructor(kind, id, name) {
         
     | 
| 
       20226 
20175 
     | 
    
         
             
                super();
         
     | 
| 
       20227 
20176 
     | 
    
         
             
                this.metadataMuted = false;
         
     | 
| 
         @@ -20231,7 +20180,6 @@ class TrackPublication extends eventsExports.EventEmitter { 
     | 
|
| 
       20231 
20180 
     | 
    
         
             
                this.handleUnmuted = () => {
         
     | 
| 
       20232 
20181 
     | 
    
         
             
                  this.emit(TrackEvent.Unmuted);
         
     | 
| 
       20233 
20182 
     | 
    
         
             
                };
         
     | 
| 
       20234 
     | 
    
         
            -
                this.setMaxListeners(100);
         
     | 
| 
       20235 
20183 
     | 
    
         
             
                this.kind = kind;
         
     | 
| 
       20236 
20184 
     | 
    
         
             
                this.trackSid = id;
         
     | 
| 
       20237 
20185 
     | 
    
         
             
                this.trackName = name;
         
     | 
| 
         @@ -20401,7 +20349,7 @@ function qualityFromProto(q) { 
     | 
|
| 
       20401 
20349 
     | 
    
         
             
                  return ConnectionQuality.Unknown;
         
     | 
| 
       20402 
20350 
     | 
    
         
             
              }
         
     | 
| 
       20403 
20351 
     | 
    
         
             
            }
         
     | 
| 
       20404 
     | 
    
         
            -
            class Participant extends  
     | 
| 
      
 20352 
     | 
    
         
            +
            class Participant extends EventEmitter {
         
     | 
| 
       20405 
20353 
     | 
    
         
             
              /** @internal */
         
     | 
| 
       20406 
20354 
     | 
    
         
             
              constructor(sid, identity, name, metadata) {
         
     | 
| 
       20407 
20355 
     | 
    
         
             
                super();
         
     | 
| 
         @@ -20410,7 +20358,6 @@ class Participant extends eventsExports.EventEmitter { 
     | 
|
| 
       20410 
20358 
     | 
    
         
             
                /** if participant is currently speaking */
         
     | 
| 
       20411 
20359 
     | 
    
         
             
                this.isSpeaking = false;
         
     | 
| 
       20412 
20360 
     | 
    
         
             
                this._connectionQuality = ConnectionQuality.Unknown;
         
     | 
| 
       20413 
     | 
    
         
            -
                this.setMaxListeners(100);
         
     | 
| 
       20414 
20361 
     | 
    
         
             
                this.sid = sid;
         
     | 
| 
       20415 
20362 
     | 
    
         
             
                this.identity = identity;
         
     | 
| 
       20416 
20363 
     | 
    
         
             
                this.name = name;
         
     | 
| 
         @@ -21114,8 +21061,11 @@ class LocalParticipant extends Participant { 
     | 
|
| 
       21114 
21061 
     | 
    
         
             
                };
         
     | 
| 
       21115 
21062 
     | 
    
         
             
                this.handleDisconnected = () => {
         
     | 
| 
       21116 
21063 
     | 
    
         
             
                  var _a, _b;
         
     | 
| 
       21117 
     | 
    
         
            -
                   
     | 
| 
       21118 
     | 
    
         
            -
             
     | 
| 
      
 21064 
     | 
    
         
            +
                  if (this.reconnectFuture) {
         
     | 
| 
      
 21065 
     | 
    
         
            +
                    this.reconnectFuture.promise.catch(e => livekitLogger.warn(e));
         
     | 
| 
      
 21066 
     | 
    
         
            +
                    (_b = (_a = this.reconnectFuture) === null || _a === void 0 ? void 0 : _a.reject) === null || _b === void 0 ? void 0 : _b.call(_a, 'Got disconnected during reconnection attempt');
         
     | 
| 
      
 21067 
     | 
    
         
            +
                    this.reconnectFuture = undefined;
         
     | 
| 
      
 21068 
     | 
    
         
            +
                  }
         
     | 
| 
       21119 
21069 
     | 
    
         
             
                };
         
     | 
| 
       21120 
21070 
     | 
    
         
             
                this.updateTrackSubscriptionPermissions = () => {
         
     | 
| 
       21121 
21071 
     | 
    
         
             
                  livekitLogger.debug('updating track subscription permissions', {
         
     | 
| 
         @@ -21727,7 +21677,7 @@ class LocalParticipant extends Participant { 
     | 
|
| 
       21727 
21677 
     | 
    
         
             
                      }
         
     | 
| 
       21728 
21678 
     | 
    
         
             
                    }
         
     | 
| 
       21729 
21679 
     | 
    
         
             
                    encodings = computeVideoEncodings(track.source === Track.Source.ScreenShare, dims.width, dims.height, opts);
         
     | 
| 
       21730 
     | 
    
         
            -
                    req.layers = videoLayersFromEncodings(req.width, req.height, encodings);
         
     | 
| 
      
 21680 
     | 
    
         
            +
                    req.layers = videoLayersFromEncodings(req.width, req.height, encodings, isSVCCodec(opts.videoCodec));
         
     | 
| 
       21731 
21681 
     | 
    
         
             
                  } else if (track.kind === Track.Kind.Audio) {
         
     | 
| 
       21732 
21682 
     | 
    
         
             
                    encodings = [{
         
     | 
| 
       21733 
21683 
     | 
    
         
             
                      maxBitrate: (_h = (_g = opts.audioPreset) === null || _g === void 0 ? void 0 : _g.maxBitrate) !== null && _h !== void 0 ? _h : opts.audioBitrate,
         
     | 
| 
         @@ -22107,7 +22057,7 @@ const RoomState = ConnectionState; 
     | 
|
| 
       22107 
22057 
     | 
    
         
             
             *
         
     | 
| 
       22108 
22058 
     | 
    
         
             
             * @noInheritDoc
         
     | 
| 
       22109 
22059 
     | 
    
         
             
             */
         
     | 
| 
       22110 
     | 
    
         
            -
            class Room extends  
     | 
| 
      
 22060 
     | 
    
         
            +
            class Room extends EventEmitter {
         
     | 
| 
       22111 
22061 
     | 
    
         
             
              /**
         
     | 
| 
       22112 
22062 
     | 
    
         
             
               * Creates a new Room, the primary construct for a LiveKit session.
         
     | 
| 
       22113 
22063 
     | 
    
         
             
               * @param options
         
     | 
| 
         @@ -22272,6 +22222,9 @@ class Room extends eventsExports.EventEmitter { 
     | 
|
| 
       22272 
22222 
     | 
    
         
             
                    // capturing both 'pagehide' and 'beforeunload' to capture broadest set of browser behaviors
         
     | 
| 
       22273 
22223 
     | 
    
         
             
                    window.addEventListener('pagehide', this.onPageLeave);
         
     | 
| 
       22274 
22224 
     | 
    
         
             
                    window.addEventListener('beforeunload', this.onPageLeave);
         
     | 
| 
      
 22225 
     | 
    
         
            +
                  }
         
     | 
| 
      
 22226 
     | 
    
         
            +
                  if (isWeb()) {
         
     | 
| 
      
 22227 
     | 
    
         
            +
                    document.addEventListener('freeze', this.onPageLeave);
         
     | 
| 
       22275 
22228 
     | 
    
         
             
                    (_b = navigator.mediaDevices) === null || _b === void 0 ? void 0 : _b.addEventListener('devicechange', this.handleDeviceChange);
         
     | 
| 
       22276 
22229 
     | 
    
         
             
                  }
         
     | 
| 
       22277 
22230 
     | 
    
         
             
                  this.setAndEmitConnectionState(ConnectionState.Connected);
         
     | 
| 
         @@ -22589,7 +22542,6 @@ class Room extends eventsExports.EventEmitter { 
     | 
|
| 
       22589 
22542 
     | 
    
         
             
                this.onLocalParticipantPermissionsChanged = prevPermissions => {
         
     | 
| 
       22590 
22543 
     | 
    
         
             
                  this.emit(RoomEvent.ParticipantPermissionsChanged, prevPermissions, this.localParticipant);
         
     | 
| 
       22591 
22544 
     | 
    
         
             
                };
         
     | 
| 
       22592 
     | 
    
         
            -
                this.setMaxListeners(100);
         
     | 
| 
       22593 
22545 
     | 
    
         
             
                this.participants = new Map();
         
     | 
| 
       22594 
22546 
     | 
    
         
             
                this.cachedParticipantSids = [];
         
     | 
| 
       22595 
22547 
     | 
    
         
             
                this.identityToSid = new Map();
         
     | 
| 
         @@ -22813,6 +22765,28 @@ class Room extends eventsExports.EventEmitter { 
     | 
|
| 
       22813 
22765 
     | 
    
         
             
                return __awaiter(this, void 0, void 0, function* () {
         
     | 
| 
       22814 
22766 
     | 
    
         
             
                  yield this.acquireAudioContext();
         
     | 
| 
       22815 
22767 
     | 
    
         
             
                  const elements = [];
         
     | 
| 
      
 22768 
     | 
    
         
            +
                  if (isSafari()) {
         
     | 
| 
      
 22769 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 22770 
     | 
    
         
            +
                     * iOS Safari blocks audio element playback if
         
     | 
| 
      
 22771 
     | 
    
         
            +
                     * - user is not publishing audio themselves and
         
     | 
| 
      
 22772 
     | 
    
         
            +
                     * - no other audio source is playing
         
     | 
| 
      
 22773 
     | 
    
         
            +
                     *
         
     | 
| 
      
 22774 
     | 
    
         
            +
                     * as a workaround, we create an audio element with an empty track, so that
         
     | 
| 
      
 22775 
     | 
    
         
            +
                     * silent audio is always playing
         
     | 
| 
      
 22776 
     | 
    
         
            +
                     */
         
     | 
| 
      
 22777 
     | 
    
         
            +
                    const audioId = 'livekit-dummy-audio-el';
         
     | 
| 
      
 22778 
     | 
    
         
            +
                    let dummyAudioEl = document.getElementById(audioId);
         
     | 
| 
      
 22779 
     | 
    
         
            +
                    if (!dummyAudioEl) {
         
     | 
| 
      
 22780 
     | 
    
         
            +
                      dummyAudioEl = document.createElement('audio');
         
     | 
| 
      
 22781 
     | 
    
         
            +
                      dummyAudioEl.autoplay = true;
         
     | 
| 
      
 22782 
     | 
    
         
            +
                      dummyAudioEl.hidden = true;
         
     | 
| 
      
 22783 
     | 
    
         
            +
                      const track = getEmptyAudioStreamTrack();
         
     | 
| 
      
 22784 
     | 
    
         
            +
                      track.enabled = true;
         
     | 
| 
      
 22785 
     | 
    
         
            +
                      dummyAudioEl.srcObject = new MediaStream([track]);
         
     | 
| 
      
 22786 
     | 
    
         
            +
                      document.body.append(dummyAudioEl);
         
     | 
| 
      
 22787 
     | 
    
         
            +
                    }
         
     | 
| 
      
 22788 
     | 
    
         
            +
                    elements.push(dummyAudioEl);
         
     | 
| 
      
 22789 
     | 
    
         
            +
                  }
         
     | 
| 
       22816 
22790 
     | 
    
         
             
                  this.participants.forEach(p => {
         
     | 
| 
       22817 
22791 
     | 
    
         
             
                    p.audioTracks.forEach(t => {
         
     | 
| 
       22818 
22792 
     | 
    
         
             
                      if (t.track) {
         
     | 
| 
         @@ -23008,6 +22982,7 @@ class Room extends eventsExports.EventEmitter { 
     | 
|
| 
       23008 
22982 
     | 
    
         
             
                  if (isWeb()) {
         
     | 
| 
       23009 
22983 
     | 
    
         
             
                    window.removeEventListener('beforeunload', this.onPageLeave);
         
     | 
| 
       23010 
22984 
     | 
    
         
             
                    window.removeEventListener('pagehide', this.onPageLeave);
         
     | 
| 
      
 22985 
     | 
    
         
            +
                    window.removeEventListener('freeze', this.onPageLeave);
         
     | 
| 
       23011 
22986 
     | 
    
         
             
                    (_a = navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.removeEventListener('devicechange', this.handleDeviceChange);
         
     | 
| 
       23012 
22987 
     | 
    
         
             
                  }
         
     | 
| 
       23013 
22988 
     | 
    
         
             
                } finally {
         
     | 
| 
         @@ -23321,6 +23296,10 @@ class Room extends eventsExports.EventEmitter { 
     | 
|
| 
       23321 
23296 
     | 
    
         
             
                for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
         
     | 
| 
       23322 
23297 
     | 
    
         
             
                  args[_key2 - 1] = arguments[_key2];
         
     | 
| 
       23323 
23298 
     | 
    
         
             
                }
         
     | 
| 
      
 23299 
     | 
    
         
            +
                // emit<E extends keyof RoomEventCallbacks>(
         
     | 
| 
      
 23300 
     | 
    
         
            +
                //   event: E,
         
     | 
| 
      
 23301 
     | 
    
         
            +
                //   ...args: Parameters<RoomEventCallbacks[E]>
         
     | 
| 
      
 23302 
     | 
    
         
            +
                // ): boolean {
         
     | 
| 
       23324 
23303 
     | 
    
         
             
                // active speaker updates are too spammy
         
     | 
| 
       23325 
23304 
     | 
    
         
             
                if (event !== RoomEvent.ActiveSpeakersChanged) {
         
     | 
| 
       23326 
23305 
     | 
    
         
             
                  livekitLogger.debug("room event ".concat(event), {
         
     | 
| 
         @@ -23340,7 +23319,7 @@ var CheckStatus; 
     | 
|
| 
       23340 
23319 
     | 
    
         
             
              CheckStatus[CheckStatus["SUCCESS"] = 3] = "SUCCESS";
         
     | 
| 
       23341 
23320 
     | 
    
         
             
              CheckStatus[CheckStatus["FAILED"] = 4] = "FAILED";
         
     | 
| 
       23342 
23321 
     | 
    
         
             
            })(CheckStatus || (CheckStatus = {}));
         
     | 
| 
       23343 
     | 
    
         
            -
            class Checker extends  
     | 
| 
      
 23322 
     | 
    
         
            +
            class Checker extends EventEmitter {
         
     | 
| 
       23344 
23323 
     | 
    
         
             
              constructor(url, token) {
         
     | 
| 
       23345 
23324 
     | 
    
         
             
                let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
         
     | 
| 
       23346 
23325 
     | 
    
         
             
                super();
         
     | 
| 
         @@ -23752,7 +23731,7 @@ class WebSocketCheck extends Checker { 
     | 
|
| 
       23752 
23731 
     | 
    
         
             
              }
         
     | 
| 
       23753 
23732 
     | 
    
         
             
            }
         
     | 
| 
       23754 
23733 
     | 
    
         | 
| 
       23755 
     | 
    
         
            -
            class ConnectionCheck extends  
     | 
| 
      
 23734 
     | 
    
         
            +
            class ConnectionCheck extends EventEmitter {
         
     | 
| 
       23756 
23735 
     | 
    
         
             
              constructor(url, token) {
         
     | 
| 
       23757 
23736 
     | 
    
         
             
                super();
         
     | 
| 
       23758 
23737 
     | 
    
         
             
                this.checkResults = new Map();
         
     |