@webex/plugin-meetings 2.14.2 → 2.15.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.
Files changed (36) hide show
  1. package/README.md +2 -0
  2. package/dist/common/errors/parameter.js +1 -1
  3. package/dist/common/errors/parameter.js.map +1 -1
  4. package/dist/constants.js +8 -4
  5. package/dist/constants.js.map +1 -1
  6. package/dist/locus-info/index.js +7 -0
  7. package/dist/locus-info/index.js.map +1 -1
  8. package/dist/locus-info/infoUtils.js +4 -2
  9. package/dist/locus-info/infoUtils.js.map +1 -1
  10. package/dist/locus-info/selfUtils.js +14 -0
  11. package/dist/locus-info/selfUtils.js.map +1 -1
  12. package/dist/meeting/in-meeting-actions.js +3 -1
  13. package/dist/meeting/in-meeting-actions.js.map +1 -1
  14. package/dist/meeting/index.js +164 -118
  15. package/dist/meeting/index.js.map +1 -1
  16. package/dist/meeting/util.js +4 -0
  17. package/dist/meeting/util.js.map +1 -1
  18. package/dist/metrics/constants.js +5 -1
  19. package/dist/metrics/constants.js.map +1 -1
  20. package/package.json +6 -6
  21. package/src/common/errors/parameter.js +1 -1
  22. package/src/constants.js +3 -0
  23. package/src/locus-info/index.js +10 -0
  24. package/src/locus-info/infoUtils.js +11 -3
  25. package/src/locus-info/selfUtils.js +12 -0
  26. package/src/meeting/in-meeting-actions.js +2 -0
  27. package/src/meeting/index.js +106 -52
  28. package/src/meeting/util.js +2 -0
  29. package/src/metrics/constants.js +5 -1
  30. package/test/unit/spec/fixture/locus.js +404 -0
  31. package/test/unit/spec/locus-info/index.js +27 -0
  32. package/test/unit/spec/locus-info/infoUtils.js +17 -10
  33. package/test/unit/spec/locus-info/selfConstant.js +1 -0
  34. package/test/unit/spec/meeting/in-meeting-actions.js +2 -0
  35. package/test/unit/spec/meeting/index.js +230 -0
  36. package/test/unit/spec/meeting/utils.js +7 -0
@@ -2220,7 +2220,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
2220
2220
  canPauseRecording: _util.default.canUserPause(payload.info.userDisplayHints),
2221
2221
  canResumeRecording: _util.default.canUserResume(payload.info.userDisplayHints),
2222
2222
  canRaiseHand: _util.default.canUserRaiseHand(payload.info.userDisplayHints),
2223
- canLowerAllHands: _util.default.canUserLowerAllHands(payload.info.userDisplayHints)
2223
+ canLowerAllHands: _util.default.canUserLowerAllHands(payload.info.userDisplayHints),
2224
+ canLowerSomeoneElsesHand: _util.default.canUserLowerSomeoneElsesHand(payload.info.userDisplayHints)
2224
2225
  });
2225
2226
 
2226
2227
  if (changed) {
@@ -3281,9 +3282,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3281
3282
  return _media.default.stopTracks(videoTrack);
3282
3283
  }).then(function () {
3283
3284
  var audioStopped = audioTrack && audioTrack.readyState === _constants.ENDED;
3284
- var videoStopped = videoTrack && videoTrack.readyState === _constants.ENDED;
3285
+ var videoStopped = videoTrack && videoTrack.readyState === _constants.ENDED; // triggers event for audio and video stop , sometime either audio or video one of them exists
3285
3286
 
3286
- if (audioStopped && videoStopped) {
3287
+ if (audioStopped || videoStopped) {
3287
3288
  _triggerProxy.default.trigger(_this23, {
3288
3289
  file: 'meeting/index',
3289
3290
  function: 'closeLocalStream'
@@ -3291,7 +3292,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3291
3292
  type: _constants.EVENT_TYPES.LOCAL
3292
3293
  });
3293
3294
  } else if (audioTrack || videoTrack) {
3294
- _loggerProxy.default.logger.warn('Meeting:index#closeLocalStream --> Error: MediaStreamTrack.readyState is incorrect.');
3295
+ _loggerProxy.default.logger.warn('Meeting:index#closeLocalStream --> Warning: track might already been ended or unavaliable.');
3295
3296
  }
3296
3297
  });
3297
3298
  }
@@ -3968,7 +3969,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
3968
3969
 
3969
3970
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3970
3971
 
3971
- // If a join request is being processed, refer to the deferred promise.
3972
+ if (!this.webex.meetings.registered) {
3973
+ var errorMessage = 'Meeting:index#join --> Device not registered';
3974
+ var error = new Error(errorMessage);
3975
+
3976
+ _loggerProxy.default.logger.error(errorMessage);
3977
+
3978
+ return _promise.default.reject(error);
3979
+ } // If a join request is being processed, refer to the deferred promise.
3980
+
3981
+
3972
3982
  if (this.deferJoin) {
3973
3983
  return this.deferJoin;
3974
3984
  } // Scope-up the resolve/reject methods for handling within join().
@@ -4025,14 +4035,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4025
4035
  if (options.meetingQuality) {
4026
4036
  if (typeof options.meetingQuality === 'string') {
4027
4037
  if (!_constants.QUALITY_LEVELS[options.meetingQuality]) {
4028
- var errorMessage = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
4029
- var error = new Error(errorMessage);
4038
+ var _errorMessage = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
4030
4039
 
4031
- _loggerProxy.default.logger.error(errorMessage);
4040
+ var _error = new Error(_errorMessage);
4032
4041
 
4033
- joinFailed(error);
4042
+ _loggerProxy.default.logger.error(_errorMessage);
4043
+
4044
+ joinFailed(_error);
4034
4045
  this.deferJoin = undefined;
4035
- return _promise.default.reject(error);
4046
+ return _promise.default.reject(_error);
4036
4047
  }
4037
4048
 
4038
4049
  this.mediaProperties.setLocalQualityLevel(options.meetingQuality);
@@ -4041,15 +4052,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4041
4052
 
4042
4053
  if ((0, _typeof2.default)(options.meetingQuality) === 'object') {
4043
4054
  if (!_constants.QUALITY_LEVELS[options.meetingQuality.local] && !_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
4044
- var _errorMessage = "Meeting:index#join --> ".concat(options.meetingQuality.local || options.meetingQuality.remote, " not defined");
4055
+ var _errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality.local || options.meetingQuality.remote, " not defined");
4045
4056
 
4046
- _loggerProxy.default.logger.error(_errorMessage);
4057
+ _loggerProxy.default.logger.error(_errorMessage2);
4047
4058
 
4048
- var _error = new Error(_errorMessage);
4059
+ var _error2 = new Error(_errorMessage2);
4049
4060
 
4050
- joinFailed(_error);
4061
+ joinFailed(_error2);
4051
4062
  this.deferJoin = undefined;
4052
- return _promise.default.reject(new Error(_errorMessage));
4063
+ return _promise.default.reject(new Error(_errorMessage2));
4053
4064
  }
4054
4065
 
4055
4066
  if (options.meetingQuality.local) {
@@ -4306,7 +4317,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4306
4317
  mediaCapabilities: {
4307
4318
  rx: {
4308
4319
  audio: false,
4309
- share: false,
4320
+ share: true,
4310
4321
  share_audio: false,
4311
4322
  video: false,
4312
4323
  whiteboard: false
@@ -4327,27 +4338,98 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4327
4338
  meeting: this
4328
4339
  });
4329
4340
 
4341
+ this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
4342
+ var mediaSettings;
4343
+ return _regenerator.default.wrap(function _callee4$(_context4) {
4344
+ while (1) {
4345
+ switch (_context4.prev = _context4.next) {
4346
+ case 0:
4347
+ _context4.prev = 0;
4348
+
4349
+ if (!_this37.isSharing) {
4350
+ _context4.next = 4;
4351
+ break;
4352
+ }
4353
+
4354
+ _context4.next = 4;
4355
+ return _this37.stopFloorRequest();
4356
+
4357
+ case 4:
4358
+ mediaSettings = {
4359
+ mediaDirection: {
4360
+ sendVideo: false,
4361
+ receiveVideo: false,
4362
+ sendAudio: false,
4363
+ receiveAudio: false,
4364
+ sendShare: false,
4365
+ receiveShare: true
4366
+ }
4367
+ }; // clean up the local tracks
4368
+
4369
+ _this37.mediaProperties.setMediaDirection(mediaSettings.mediaDirection); // close the existing local tracks
4370
+
4371
+
4372
+ _context4.next = 8;
4373
+ return _this37.closeLocalStream();
4374
+
4375
+ case 8:
4376
+ _context4.next = 10;
4377
+ return _this37.closeLocalShare();
4378
+
4379
+ case 10:
4380
+ _this37.mediaProperties.unsetMediaTracks(); // when a move to is intiated by the client , Locus delets the existing media node from the server as soon the DX answers the meeting
4381
+ // once the DX answers we establish connection back the media server with only receiveShare enabled
4382
+
4383
+
4384
+ _context4.next = 13;
4385
+ return _this37.reconnectionManager.reconnectMedia(mediaSettings).then(function () {
4386
+ _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
4387
+ });
4388
+
4389
+ case 13:
4390
+ _context4.next = 19;
4391
+ break;
4392
+
4393
+ case 15:
4394
+ _context4.prev = 15;
4395
+ _context4.t0 = _context4["catch"](0);
4396
+
4397
+ _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context4.t0);
4398
+
4399
+ _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
4400
+ correlation_id: _this37.correlationId,
4401
+ locus_id: _this37.locusUrl.split('/').pop(),
4402
+ reason: _context4.t0.message,
4403
+ stack: _context4.t0.stack
4404
+ });
4405
+
4406
+ case 19:
4407
+ case "end":
4408
+ return _context4.stop();
4409
+ }
4410
+ }
4411
+ }, _callee4, null, [[0, 15]]);
4412
+ })));
4413
+
4414
+ _loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
4415
+
4330
4416
  return _util.default.joinMeetingOptions(this, {
4331
4417
  resourceId: resourceId,
4332
4418
  moveToResource: true
4333
4419
  }).then(function () {
4334
4420
  _this37.meetingFiniteStateMachine.join();
4335
-
4336
- return _this37.updateMedia({
4337
- mediaSettings: {
4338
- sendVideo: false,
4339
- receiveVideo: false,
4340
- sendAudio: false,
4341
- receiveAudio: false,
4342
- sendShare: false,
4343
- receiveShare: false
4344
- }
4345
- }).then(function () {
4346
- return _promise.default.resolve(_this37);
4347
- });
4348
4421
  }).catch(function (error) {
4349
4422
  _this37.meetingFiniteStateMachine.fail(error);
4350
4423
 
4424
+ _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
4425
+ correlation_id: _this37.correlationId,
4426
+ locus_id: _this37.locusUrl.split('/').pop(),
4427
+ reason: error.message,
4428
+ stack: error.stack
4429
+ });
4430
+
4431
+ _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
4432
+
4351
4433
  return _promise.default.reject(error);
4352
4434
  });
4353
4435
  }
@@ -4364,77 +4446,41 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4364
4446
  value: function moveFrom(resourceId) {
4365
4447
  var _this38 = this;
4366
4448
 
4449
+ // On moveFrom ask the developer to re capture it moveFrom then updateMedia
4367
4450
  if (!resourceId) {
4368
4451
  throw new _parameter.default('Cannot move call without a resourceId.');
4369
4452
  }
4370
4453
 
4371
4454
  var oldCorrelationId = this.correlationId;
4372
- this.id = _uuid.default.v4();
4373
- this.webex.meetings.meetingCollection.set(this);
4374
-
4375
- _metrics.default.postEvent({
4376
- event: _config.eventType.MEDIA_CAPABILITIES,
4377
- meeting: this,
4378
- data: {
4379
- mediaCapabilities: {
4380
- rx: {
4381
- audio: true,
4382
- share: true,
4383
- share_audio: true,
4384
- video: true,
4385
- whiteboard: true
4386
- },
4387
- tx: {
4388
- audio: true,
4389
- share: true,
4390
- share_audio: true,
4391
- video: true,
4392
- whiteboard: true
4393
- }
4394
- }
4395
- }
4396
- });
4397
4455
 
4398
4456
  _metrics.default.postEvent({
4399
4457
  event: _config.eventType.MOVE_MEDIA,
4400
4458
  meeting: this
4401
4459
  });
4402
4460
 
4403
- return _util.default.joinMeetingOptions(this).then(function (join) {
4404
- return _this38.getMediaStreams({
4405
- sendAudio: true,
4406
- sendVideo: true,
4407
- sendShare: false
4408
- }).then(function (_ref11) {
4409
- var _ref12 = (0, _slicedToArray2.default)(_ref11, 2),
4410
- localStream = _ref12[0],
4411
- localShare = _ref12[1];
4412
-
4413
- return _this38.updateMedia({
4414
- mediaSettings: {
4415
- sendAudio: true,
4416
- receiveAudio: true,
4417
- sendVideo: true,
4418
- receiveVideo: true,
4419
- sendShare: false,
4420
- receiveShare: false
4421
- },
4422
- localStream: localStream,
4423
- localShare: localShare
4424
- }).then(function () {
4425
- return _promise.default.resolve(join);
4426
- });
4461
+ return _util.default.joinMeetingOptions(this).then(function () {
4462
+ return _util.default.leaveMeeting(_this38, {
4463
+ resourceId: resourceId,
4464
+ correlationId: oldCorrelationId,
4465
+ moveMeeting: true
4427
4466
  }).then(function () {
4428
- return _util.default.leaveMeeting(_this38, {
4429
- resourceId: resourceId,
4430
- correlationId: oldCorrelationId,
4431
- moveMeeting: true
4432
- });
4467
+ _this38.resourceId = '';
4468
+
4469
+ _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
4433
4470
  });
4434
- }).then(function () {
4435
- _this38.webex.meetings.meetingCollection.delete(_this38.id);
4471
+ }).catch(function (error) {
4472
+ _this38.meetingFiniteStateMachine.fail(error);
4436
4473
 
4437
- return _promise.default.resolve();
4474
+ _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
4475
+ correlation_id: _this38.correlationId,
4476
+ locus_id: _this38.locusUrl.split('/').pop(),
4477
+ reason: error.message,
4478
+ stack: error.stack
4479
+ });
4480
+
4481
+ _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
4482
+
4483
+ return _promise.default.reject(error);
4438
4484
  });
4439
4485
  }
4440
4486
  /**
@@ -4840,20 +4886,20 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4840
4886
  }, {
4841
4887
  key: "updateAudio",
4842
4888
  value: function () {
4843
- var _updateAudio = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(options) {
4889
+ var _updateAudio = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(options) {
4844
4890
  var _this42 = this;
4845
4891
 
4846
4892
  var sendAudio, receiveAudio, stream, bnrEnabled, audioTransceiver, track;
4847
- return _regenerator.default.wrap(function _callee4$(_context4) {
4893
+ return _regenerator.default.wrap(function _callee5$(_context5) {
4848
4894
  while (1) {
4849
- switch (_context4.prev = _context4.next) {
4895
+ switch (_context5.prev = _context5.next) {
4850
4896
  case 0:
4851
4897
  if (this.canUpdateMedia()) {
4852
- _context4.next = 2;
4898
+ _context5.next = 2;
4853
4899
  break;
4854
4900
  }
4855
4901
 
4856
- return _context4.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.AUDIO, options));
4902
+ return _context5.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.AUDIO, options));
4857
4903
 
4858
4904
  case 2:
4859
4905
  sendAudio = options.sendAudio, receiveAudio = options.receiveAudio, stream = options.stream, bnrEnabled = options.bnrEnabled;
@@ -4861,30 +4907,30 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4861
4907
  track = _util.default.getTrack(stream).audioTrack;
4862
4908
 
4863
4909
  if (!(typeof sendAudio !== 'boolean' || typeof receiveAudio !== 'boolean')) {
4864
- _context4.next = 7;
4910
+ _context5.next = 7;
4865
4911
  break;
4866
4912
  }
4867
4913
 
4868
- return _context4.abrupt("return", _promise.default.reject(new _parameter.default('Pass sendAudio and receiveAudio parameter')));
4914
+ return _context5.abrupt("return", _promise.default.reject(new _parameter.default('Pass sendAudio and receiveAudio parameter')));
4869
4915
 
4870
4916
  case 7:
4871
4917
  if (!(sendAudio && !this.isAudioMuted() && (bnrEnabled === _constants.BNR_STATUS.ENABLED || bnrEnabled === _constants.BNR_STATUS.SHOULD_ENABLE))) {
4872
- _context4.next = 13;
4918
+ _context5.next = 13;
4873
4919
  break;
4874
4920
  }
4875
4921
 
4876
4922
  _loggerProxy.default.logger.info('Meeting:index#updateAudio. Calling WebRTC enable bnr method');
4877
4923
 
4878
- _context4.next = 11;
4924
+ _context5.next = 11;
4879
4925
  return this.internal_enableBNR(track);
4880
4926
 
4881
4927
  case 11:
4882
- track = _context4.sent;
4928
+ track = _context5.sent;
4883
4929
 
4884
4930
  _loggerProxy.default.logger.info('Meeting:index#updateAudio. WebRTC enable bnr request completed');
4885
4931
 
4886
4932
  case 13:
4887
- return _context4.abrupt("return", _util.default.validateOptions({
4933
+ return _context5.abrupt("return", _util.default.validateOptions({
4888
4934
  sendAudio: sendAudio,
4889
4935
  localStream: stream
4890
4936
  }).then(function () {
@@ -4924,10 +4970,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4924
4970
 
4925
4971
  case 14:
4926
4972
  case "end":
4927
- return _context4.stop();
4973
+ return _context5.stop();
4928
4974
  }
4929
4975
  }
4930
- }, _callee4, this);
4976
+ }, _callee5, this);
4931
4977
  }));
4932
4978
 
4933
4979
  function updateAudio(_x3) {
@@ -5736,9 +5782,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5736
5782
  sendVideo: this.mediaProperties.mediaDirection.sendVideo,
5737
5783
  sendShare: this.mediaProperties.mediaDirection.sendShare
5738
5784
  };
5739
- return this.getMediaStreams(mediaDirection, _constants.VIDEO_RESOLUTIONS[level]).then(function (_ref13) {
5740
- var _ref14 = (0, _slicedToArray2.default)(_ref13, 1),
5741
- localStream = _ref14[0];
5785
+ return this.getMediaStreams(mediaDirection, _constants.VIDEO_RESOLUTIONS[level]).then(function (_ref12) {
5786
+ var _ref13 = (0, _slicedToArray2.default)(_ref12, 1),
5787
+ localStream = _ref13[0];
5742
5788
 
5743
5789
  return _this53.updateVideo({
5744
5790
  sendVideo: true,
@@ -5954,9 +6000,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5954
6000
 
5955
6001
  }, {
5956
6002
  key: "handleMediaLogging",
5957
- value: function handleMediaLogging(_ref15) {
5958
- var audioTrack = _ref15.audioTrack,
5959
- videoTrack = _ref15.videoTrack;
6003
+ value: function handleMediaLogging(_ref14) {
6004
+ var audioTrack = _ref14.audioTrack,
6005
+ videoTrack = _ref14.videoTrack;
5960
6006
 
5961
6007
  _util.default.handleVideoLogging(videoTrack);
5962
6008
 
@@ -6253,40 +6299,40 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6253
6299
  }, {
6254
6300
  key: "internal_enableBNR",
6255
6301
  value: function () {
6256
- var _internal_enableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(audioTrack) {
6302
+ var _internal_enableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(audioTrack) {
6257
6303
  var bnrAudioTrack;
6258
- return _regenerator.default.wrap(function _callee5$(_context5) {
6304
+ return _regenerator.default.wrap(function _callee6$(_context6) {
6259
6305
  while (1) {
6260
- switch (_context5.prev = _context5.next) {
6306
+ switch (_context6.prev = _context6.next) {
6261
6307
  case 0:
6262
- _context5.prev = 0;
6308
+ _context6.prev = 0;
6263
6309
 
6264
6310
  _loggerProxy.default.logger.info('Meeting:index#internal_enableBNR. Internal enable BNR called');
6265
6311
 
6266
- _context5.next = 4;
6312
+ _context6.next = 4;
6267
6313
  return _internalMediaCore.Media.Effects.BNR.enableBNR(audioTrack);
6268
6314
 
6269
6315
  case 4:
6270
- bnrAudioTrack = _context5.sent;
6316
+ bnrAudioTrack = _context6.sent;
6271
6317
 
6272
6318
  _loggerProxy.default.logger.info('Meeting:index#internal_enableBNR. BNR enabled track obtained from WebRTC & returned as stream');
6273
6319
 
6274
- return _context5.abrupt("return", bnrAudioTrack);
6320
+ return _context6.abrupt("return", bnrAudioTrack);
6275
6321
 
6276
6322
  case 9:
6277
- _context5.prev = 9;
6278
- _context5.t0 = _context5["catch"](0);
6323
+ _context6.prev = 9;
6324
+ _context6.t0 = _context6["catch"](0);
6279
6325
 
6280
- _loggerProxy.default.logger.error('Meeting:index#internal_enableBNR.', _context5.t0);
6326
+ _loggerProxy.default.logger.error('Meeting:index#internal_enableBNR.', _context6.t0);
6281
6327
 
6282
- throw _context5.t0;
6328
+ throw _context6.t0;
6283
6329
 
6284
6330
  case 13:
6285
6331
  case "end":
6286
- return _context5.stop();
6332
+ return _context6.stop();
6287
6333
  }
6288
6334
  }
6289
- }, _callee5, null, [[0, 9]]);
6335
+ }, _callee6, null, [[0, 9]]);
6290
6336
  }));
6291
6337
 
6292
6338
  function internal_enableBNR(_x4) {