@webex/plugin-meetings 3.8.0-next.3 → 3.8.0-next.30

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 (78) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/config.js +1 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/constants.js +1 -0
  6. package/dist/constants.js.map +1 -1
  7. package/dist/interpretation/index.js +4 -4
  8. package/dist/interpretation/index.js.map +1 -1
  9. package/dist/interpretation/siLanguage.js +1 -1
  10. package/dist/locus-info/controlsUtils.js +1 -1
  11. package/dist/locus-info/controlsUtils.js.map +1 -1
  12. package/dist/meeting/index.js +89 -5
  13. package/dist/meeting/index.js.map +1 -1
  14. package/dist/meeting/locusMediaRequest.js +21 -5
  15. package/dist/meeting/locusMediaRequest.js.map +1 -1
  16. package/dist/meeting/util.js +4 -1
  17. package/dist/meeting/util.js.map +1 -1
  18. package/dist/meeting-info/meeting-info-v2.js +359 -60
  19. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  20. package/dist/meetings/index.js +60 -1
  21. package/dist/meetings/index.js.map +1 -1
  22. package/dist/member/index.js +10 -0
  23. package/dist/member/index.js.map +1 -1
  24. package/dist/member/util.js +3 -0
  25. package/dist/member/util.js.map +1 -1
  26. package/dist/metrics/constants.js +9 -0
  27. package/dist/metrics/constants.js.map +1 -1
  28. package/dist/reachability/clusterReachability.js +52 -8
  29. package/dist/reachability/clusterReachability.js.map +1 -1
  30. package/dist/reachability/index.js +70 -45
  31. package/dist/reachability/index.js.map +1 -1
  32. package/dist/reachability/reachability.types.js +14 -0
  33. package/dist/reachability/reachability.types.js.map +1 -1
  34. package/dist/reachability/request.js +19 -3
  35. package/dist/reachability/request.js.map +1 -1
  36. package/dist/recording-controller/util.js +5 -5
  37. package/dist/recording-controller/util.js.map +1 -1
  38. package/dist/types/config.d.ts +1 -0
  39. package/dist/types/constants.d.ts +1 -0
  40. package/dist/types/meeting/index.d.ts +30 -0
  41. package/dist/types/meeting-info/meeting-info-v2.d.ts +80 -0
  42. package/dist/types/meetings/index.d.ts +29 -0
  43. package/dist/types/member/index.d.ts +1 -0
  44. package/dist/types/metrics/constants.d.ts +9 -0
  45. package/dist/types/reachability/clusterReachability.d.ts +13 -1
  46. package/dist/types/reachability/index.d.ts +2 -1
  47. package/dist/types/reachability/reachability.types.d.ts +5 -0
  48. package/dist/webinar/index.js +1 -1
  49. package/package.json +22 -22
  50. package/src/config.ts +1 -0
  51. package/src/constants.ts +1 -0
  52. package/src/interpretation/index.ts +3 -3
  53. package/src/locus-info/controlsUtils.ts +2 -2
  54. package/src/meeting/index.ts +85 -7
  55. package/src/meeting/locusMediaRequest.ts +27 -4
  56. package/src/meeting/util.ts +2 -1
  57. package/src/meeting-info/meeting-info-v2.ts +247 -6
  58. package/src/meetings/index.ts +72 -1
  59. package/src/member/index.ts +11 -0
  60. package/src/member/util.ts +3 -0
  61. package/src/metrics/constants.ts +9 -0
  62. package/src/reachability/clusterReachability.ts +47 -1
  63. package/src/reachability/index.ts +15 -0
  64. package/src/reachability/reachability.types.ts +6 -0
  65. package/src/reachability/request.ts +7 -0
  66. package/src/recording-controller/util.ts +17 -13
  67. package/test/unit/spec/interpretation/index.ts +39 -1
  68. package/test/unit/spec/locus-info/controlsUtils.js +8 -0
  69. package/test/unit/spec/meeting/index.js +200 -108
  70. package/test/unit/spec/meeting/locusMediaRequest.ts +96 -58
  71. package/test/unit/spec/meeting/utils.js +55 -0
  72. package/test/unit/spec/meeting-info/meetinginfov2.js +443 -114
  73. package/test/unit/spec/meetings/index.js +78 -1
  74. package/test/unit/spec/member/index.js +7 -0
  75. package/test/unit/spec/member/util.js +24 -0
  76. package/test/unit/spec/reachability/clusterReachability.ts +47 -1
  77. package/test/unit/spec/reachability/index.ts +12 -0
  78. package/test/unit/spec/reachability/request.js +47 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_collection","SimultaneousInterpretation","WebexPlugin","extend","namespace","MEETINGS","collections","siLanguages","SILanguageCollection","props","locusUrl","approvalUrl","originalLanguage","sourceLanguage","targetLanguage","receiveLanguage","order","isActive","selfParticipantId","canManageInterpreters","supportLanguages","meetingSIEnabled","hostSIEnabled","selfIsInterpreter","derived","shouldQuerySupportLanguages","cache","deps","fn","initialize","_this","listenTo","querySupportLanguages","listenToHandoffRequests","cleanUp","stopListening","locusUrlUpdate","set","approvalUrlUpdate","updateCanManageInterpreters","updateHostSIEnabled","updateMeetingSIEnabled","updateInterpretation","interpretation","updateSelfInterpretation","_ref","preTargetLanguage","_ref2","getTargetLanguageCode","_this$siLanguages$get","get","languageCode","_this2","request","method","HTTP_VERBS","GET","uri","concat","then","result","_result$body","body","trigger","INTERPRETATION","EVENTS","SUPPORT_LANGUAGES_UPDATE","catch","error","LoggerProxy","logger","getInterpreters","updateInterpreters","interpreters","PATCH","changeDirection","_promise","default","reject","Error","_this3","webex","internal","mercury","event","_event$data","_event$data$approval","data","approval","resourceType","RESOURCE_TYPE","_receivers$","_event$data$approval2","receivers","initiator","actionType","url","receiverId","participantId","isReceiver","senderId","isSender","HANDOFF_REQUESTS_ARRIVED","handoffInterpreter","POST","ACTION_TYPE","OFFERED","requestHandoff","REQUESTED","acceptRequest","PUT","ACCEPTED","declineRequest","DECLINED","version","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, INTERPRETATION, MEETINGS} from '../constants';\n\nimport SILanguageCollection from './collection';\n\n/**\n * @class SimultaneousInterpretation\n */\nconst SimultaneousInterpretation = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n siLanguages: SILanguageCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current meeting's locus url\n approvalUrl: 'string', // appears current meeting's approval url for handoff between interpreters\n originalLanguage: 'string', // appears current meeting's original language\n sourceLanguage: 'string', // appears self interpreter's source language\n targetLanguage: 'string', // appears self interpreter's target language\n receiveLanguage: 'string', // appears self's receive language\n order: 'number', // appears the order of self as interpreter\n isActive: 'boolean', // appears self is interpreter and is active\n selfParticipantId: 'string', // appears the self participant id\n canManageInterpreters: 'boolean', // appears the ability to manage interpreters\n supportLanguages: 'array', // appears the support languages\n meetingSIEnabled: 'boolean', // appears the meeting support SI feature\n hostSIEnabled: 'boolean', // appears the meeting host/interpreter feature of SI enabled\n selfIsInterpreter: 'boolean', // current user is interpreter or not\n },\n derived: {\n shouldQuerySupportLanguages: {\n cache: false,\n deps: ['canManageInterpreters', 'hostSIEnabled'],\n /**\n * Returns should query support languages or not\n * @returns {boolean}\n */\n fn() {\n return !!(this.canManageInterpreters && this.hostSIEnabled);\n },\n },\n },\n /**\n * initialize for interpretation\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:shouldQuerySupportLanguages', () => {\n if (this.canManageInterpreters && !this.supportLanguages) {\n this.querySupportLanguages();\n }\n });\n this.listenToHandoffRequests();\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl // approval url\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n /**\n * Update whether self has capability to manage interpreters (only host can manage it)\n * @param {boolean} canManageInterpreters\n * @returns {void}\n */\n updateCanManageInterpreters(canManageInterpreters) {\n this.set('canManageInterpreters', canManageInterpreters);\n },\n /**\n * Update whether the meeting's host si is enabled or not\n * @param {boolean} hostSIEnabled\n * @returns {void}\n */\n updateHostSIEnabled(hostSIEnabled) {\n this.set('hostSIEnabled', hostSIEnabled);\n },\n\n /**\n * Update whether the meeting support SI feature or not from meeting info\n * @param {boolean} meetingSIEnabled\n * @param {boolean} selfIsInterpreter\n * @returns {void}\n */\n updateMeetingSIEnabled(meetingSIEnabled: boolean, selfIsInterpreter): void {\n this.set('meetingSIEnabled', meetingSIEnabled);\n this.set('selfIsInterpreter', selfIsInterpreter);\n },\n\n /**\n * Update the interpretation languages channels which user can choose to subscribe\n * @param {Object} interpretation\n * @returns {void}\n */\n updateInterpretation(interpretation) {\n this.siLanguages.set(interpretation?.siLanguages || []);\n },\n /**\n * Update self's interpretation information (self is interpreter)\n * @param {Object} interpretation\n * @param {String} selfParticipantId\n * @returns {bool} is target language changed\n */\n updateSelfInterpretation({interpretation, selfParticipantId}) {\n const preTargetLanguage = this.targetLanguage;\n const {originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage} =\n interpretation || {};\n this.set({originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage});\n this.set('selfParticipantId', selfParticipantId);\n this.set('selfIsInterpreter', !!targetLanguage);\n\n return !!(preTargetLanguage !== targetLanguage);\n },\n\n /**\n * Get the language code of the interpreter target language\n * @returns {number}\n */\n getTargetLanguageCode() {\n if (this.selfIsInterpreter) {\n return this.siLanguages.get(this.targetLanguage)?.languageCode;\n }\n\n return 0;\n },\n\n /**\n * query interpretation languages\n * @returns {Promise}\n */\n querySupportLanguages() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/languages/interpretation`,\n })\n .then((result) => {\n this.set('supportLanguages', result.body?.siLanguages);\n this.trigger(INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#querySupportLanguages failed', error);\n throw error;\n });\n },\n /**\n * get interpreters of the meeting\n * @returns {Promise}\n */\n getInterpreters() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/interpretation/interpreters`,\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#getInterpreters failed', error);\n throw error;\n });\n },\n /**\n * update interpreters of the meeting\n * @param {Array} interpreters\n * @returns {Promise}\n */\n updateInterpreters(interpreters) {\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/controls`,\n body: {\n interpretation: {\n interpreters,\n },\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#updateInterpreters failed', error);\n throw error;\n });\n },\n /**\n * Change direction of interpretation for an interpreter participant\n * @returns {Promise}\n */\n changeDirection() {\n if (!this.sourceLanguage || !this.targetLanguage) {\n return Promise.reject(new Error('Missing sourceLanguage or targetLanguage'));\n }\n\n if (!this.selfParticipantId) {\n return Promise.reject(new Error('Missing self participant id'));\n }\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/participant/${this.selfParticipantId}/controls`,\n body: {\n interpretation: {\n sourceLanguage: this.targetLanguage,\n targetLanguage: this.sourceLanguage,\n isActive: this.isActive,\n order: this.order,\n },\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#changeDirection failed', error);\n throw error;\n });\n },\n /**\n * Sets up a listener for handoff requests from mercury\n * @returns {void}\n */\n listenToHandoffRequests() {\n this.listenTo(this.webex.internal.mercury, 'event:locus.approval_request', (event) => {\n if (event?.data?.approval?.resourceType === INTERPRETATION.RESOURCE_TYPE) {\n const {receivers, initiator, actionType, url} = event.data.approval;\n const receiverId = receivers?.[0]?.participantId;\n const isReceiver = !!receiverId && receiverId === this.selfParticipantId;\n const senderId = initiator?.participantId;\n const isSender = !!senderId && senderId === this.selfParticipantId;\n if (!isReceiver && !isSender) {\n return;\n }\n this.trigger(INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, {\n actionType,\n isReceiver,\n isSender,\n senderId,\n receiverId,\n url,\n });\n }\n });\n },\n /**\n * handoff the active interpreter role to another interpreter in same group, only the interpreter is allowed to call this api\n * @param {string} participantId the participant id you want to hand off\n * @returns {Promise}\n */\n handoffInterpreter(participantId) {\n if (!participantId) {\n return Promise.reject(new Error('Missing target participant id'));\n }\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.OFFERED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n receivers: [\n {\n participantId,\n },\n ],\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#handoffInterpreter failed', error);\n throw error;\n });\n },\n /**\n * the in-active interpreter request to hand off the active role to self\n * @returns {Promise}\n */\n requestHandoff() {\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.REQUESTED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#requestHandoff failed', error);\n throw error;\n });\n },\n /**\n * accept the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n acceptRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to accept'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.ACCEPTED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#acceptRequest failed', error);\n throw error;\n });\n },\n /**\n * decline the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n declineRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to decline'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.DECLINED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#declineRequest failed', error);\n throw error;\n });\n },\n});\n\nexport default SimultaneousInterpretation;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_collection","SimultaneousInterpretation","WebexPlugin","extend","namespace","MEETINGS","collections","siLanguages","SILanguageCollection","props","locusUrl","approvalUrl","originalLanguage","sourceLanguage","targetLanguage","receiveLanguage","order","isActive","selfParticipantId","canManageInterpreters","supportLanguages","meetingSIEnabled","hostSIEnabled","selfIsInterpreter","derived","shouldQuerySupportLanguages","cache","deps","fn","initialize","_this","listenTo","querySupportLanguages","listenToHandoffRequests","cleanUp","stopListening","locusUrlUpdate","set","approvalUrlUpdate","updateCanManageInterpreters","updateHostSIEnabled","updateMeetingSIEnabled","updateInterpretation","interpretation","updateSelfInterpretation","_ref","preTargetLanguage","_ref2","getTargetLanguageCode","_this$siLanguages$get","get","languageCode","_this2","request","method","HTTP_VERBS","GET","uri","concat","then","result","_result$body","body","trigger","INTERPRETATION","EVENTS","SUPPORT_LANGUAGES_UPDATE","catch","error","LoggerProxy","logger","getInterpreters","updateInterpreters","interpreters","PATCH","changeDirection","_promise","default","reject","Error","_this3","webex","internal","mercury","event","_event$data","_event$data$approval","data","approval","resourceType","RESOURCE_TYPE","_receivers$","_event$data$approval2","receivers","initiator","actionType","url","receiverId","participantId","isReceiver","senderId","isSender","HANDOFF_REQUESTS_ARRIVED","handoffInterpreter","POST","ACTION_TYPE","OFFERED","requestHandoff","REQUESTED","acceptRequest","PUT","ACCEPTED","declineRequest","DECLINED","version","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, INTERPRETATION, MEETINGS} from '../constants';\n\nimport SILanguageCollection from './collection';\n\n/**\n * @class SimultaneousInterpretation\n */\nconst SimultaneousInterpretation = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n siLanguages: SILanguageCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current meeting's locus url\n approvalUrl: 'string', // appears current meeting's approval url for handoff between interpreters\n originalLanguage: 'string', // appears current meeting's original language\n sourceLanguage: 'string', // appears self interpreter's source language\n targetLanguage: 'string', // appears self interpreter's target language\n receiveLanguage: 'string', // appears self's receive language\n order: 'number', // appears the order of self as interpreter\n isActive: 'boolean', // appears self is interpreter and is active\n selfParticipantId: 'string', // appears the self participant id\n canManageInterpreters: 'boolean', // appears the ability to manage interpreters\n supportLanguages: 'array', // appears the support languages\n meetingSIEnabled: 'boolean', // appears the meeting support SI feature\n hostSIEnabled: 'boolean', // appears the meeting host/interpreter feature of SI enabled\n selfIsInterpreter: 'boolean', // current user is interpreter or not\n },\n derived: {\n shouldQuerySupportLanguages: {\n cache: false,\n deps: ['canManageInterpreters', 'hostSIEnabled', 'locusUrl'],\n /**\n * Returns should query support languages or not\n * @returns {boolean}\n */\n fn() {\n return !!(this.canManageInterpreters && this.hostSIEnabled && this.locusUrl);\n },\n },\n },\n /**\n * initialize for interpretation\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:shouldQuerySupportLanguages', () => {\n if (this.shouldQuerySupportLanguages && !this.supportLanguages) {\n this.querySupportLanguages();\n }\n });\n this.listenToHandoffRequests();\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl // approval url\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n /**\n * Update whether self has capability to manage interpreters (only host can manage it)\n * @param {boolean} canManageInterpreters\n * @returns {void}\n */\n updateCanManageInterpreters(canManageInterpreters) {\n this.set('canManageInterpreters', canManageInterpreters);\n },\n /**\n * Update whether the meeting's host si is enabled or not\n * @param {boolean} hostSIEnabled\n * @returns {void}\n */\n updateHostSIEnabled(hostSIEnabled) {\n this.set('hostSIEnabled', hostSIEnabled);\n },\n\n /**\n * Update whether the meeting support SI feature or not from meeting info\n * @param {boolean} meetingSIEnabled\n * @param {boolean} selfIsInterpreter\n * @returns {void}\n */\n updateMeetingSIEnabled(meetingSIEnabled: boolean, selfIsInterpreter): void {\n this.set('meetingSIEnabled', meetingSIEnabled);\n this.set('selfIsInterpreter', selfIsInterpreter);\n },\n\n /**\n * Update the interpretation languages channels which user can choose to subscribe\n * @param {Object} interpretation\n * @returns {void}\n */\n updateInterpretation(interpretation) {\n this.siLanguages.set(interpretation?.siLanguages || []);\n },\n /**\n * Update self's interpretation information (self is interpreter)\n * @param {Object} interpretation\n * @param {String} selfParticipantId\n * @returns {bool} is target language changed\n */\n updateSelfInterpretation({interpretation, selfParticipantId}) {\n const preTargetLanguage = this.targetLanguage;\n const {originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage} =\n interpretation || {};\n this.set({originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage});\n this.set('selfParticipantId', selfParticipantId);\n this.set('selfIsInterpreter', !!targetLanguage);\n\n return !!(preTargetLanguage !== targetLanguage);\n },\n\n /**\n * Get the language code of the interpreter target language\n * @returns {number}\n */\n getTargetLanguageCode() {\n if (this.selfIsInterpreter) {\n return this.siLanguages.get(this.targetLanguage)?.languageCode;\n }\n\n return 0;\n },\n\n /**\n * query interpretation languages\n * @returns {Promise}\n */\n querySupportLanguages() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/languages/interpretation`,\n })\n .then((result) => {\n this.set('supportLanguages', result.body?.siLanguages);\n this.trigger(INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#querySupportLanguages failed', error);\n throw error;\n });\n },\n /**\n * get interpreters of the meeting\n * @returns {Promise}\n */\n getInterpreters() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/interpretation/interpreters`,\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#getInterpreters failed', error);\n throw error;\n });\n },\n /**\n * update interpreters of the meeting\n * @param {Array} interpreters\n * @returns {Promise}\n */\n updateInterpreters(interpreters) {\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/controls`,\n body: {\n interpretation: {\n interpreters,\n },\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#updateInterpreters failed', error);\n throw error;\n });\n },\n /**\n * Change direction of interpretation for an interpreter participant\n * @returns {Promise}\n */\n changeDirection() {\n if (!this.sourceLanguage || !this.targetLanguage) {\n return Promise.reject(new Error('Missing sourceLanguage or targetLanguage'));\n }\n\n if (!this.selfParticipantId) {\n return Promise.reject(new Error('Missing self participant id'));\n }\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/participant/${this.selfParticipantId}/controls`,\n body: {\n interpretation: {\n sourceLanguage: this.targetLanguage,\n targetLanguage: this.sourceLanguage,\n isActive: this.isActive,\n order: this.order,\n },\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#changeDirection failed', error);\n throw error;\n });\n },\n /**\n * Sets up a listener for handoff requests from mercury\n * @returns {void}\n */\n listenToHandoffRequests() {\n this.listenTo(this.webex.internal.mercury, 'event:locus.approval_request', (event) => {\n if (event?.data?.approval?.resourceType === INTERPRETATION.RESOURCE_TYPE) {\n const {receivers, initiator, actionType, url} = event.data.approval;\n const receiverId = receivers?.[0]?.participantId;\n const isReceiver = !!receiverId && receiverId === this.selfParticipantId;\n const senderId = initiator?.participantId;\n const isSender = !!senderId && senderId === this.selfParticipantId;\n if (!isReceiver && !isSender) {\n return;\n }\n this.trigger(INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, {\n actionType,\n isReceiver,\n isSender,\n senderId,\n receiverId,\n url,\n });\n }\n });\n },\n /**\n * handoff the active interpreter role to another interpreter in same group, only the interpreter is allowed to call this api\n * @param {string} participantId the participant id you want to hand off\n * @returns {Promise}\n */\n handoffInterpreter(participantId) {\n if (!participantId) {\n return Promise.reject(new Error('Missing target participant id'));\n }\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.OFFERED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n receivers: [\n {\n participantId,\n },\n ],\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#handoffInterpreter failed', error);\n throw error;\n });\n },\n /**\n * the in-active interpreter request to hand off the active role to self\n * @returns {Promise}\n */\n requestHandoff() {\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.REQUESTED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#requestHandoff failed', error);\n throw error;\n });\n },\n /**\n * accept the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n acceptRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to accept'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.ACCEPTED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#acceptRequest failed', error);\n throw error;\n });\n },\n /**\n * decline the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n declineRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to decline'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.DECLINED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#declineRequest failed', error);\n throw error;\n });\n },\n});\n\nexport default SimultaneousInterpretation;\n"],"mappings":"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"}
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
18
18
  languageCode: 'number',
19
19
  languageName: 'string'
20
20
  },
21
- version: "3.8.0-next.3"
21
+ version: "3.8.0-next.30"
22
22
  });
23
23
  var _default = exports.default = SILanguage;
24
24
  //# sourceMappingURL=siLanguage.js.map
@@ -167,7 +167,7 @@ ControlsUtils.getControls = function (oldControls, newControls) {
167
167
  hasVideoEnabledChanged: ((_newControls$video = newControls.video) === null || _newControls$video === void 0 ? void 0 : _newControls$video.enabled) !== undefined && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : previous.videoEnabled, current === null || current === void 0 ? void 0 : current.videoEnabled),
168
168
  hasWebcastChanged: !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$webcastCont = previous.webcastControl) === null || _previous$webcastCont === void 0 ? void 0 : _previous$webcastCont.streaming, current === null || current === void 0 ? void 0 : (_current$webcastContr = current.webcastControl) === null || _current$webcastContr === void 0 ? void 0 : _current$webcastContr.streaming),
169
169
  hasMeetingFullChanged: !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$meetingFull = previous.meetingFull) === null || _previous$meetingFull === void 0 ? void 0 : _previous$meetingFull.meetingFull, current === null || current === void 0 ? void 0 : (_current$meetingFull = current.meetingFull) === null || _current$meetingFull === void 0 ? void 0 : _current$meetingFull.meetingFull) || !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$meetingFull2 = previous.meetingFull) === null || _previous$meetingFull2 === void 0 ? void 0 : _previous$meetingFull2.meetingPanelistFull, current === null || current === void 0 ? void 0 : (_current$meetingFull2 = current.meetingFull) === null || _current$meetingFull2 === void 0 ? void 0 : _current$meetingFull2.meetingPanelistFull),
170
- hasPracticeSessionEnabledChanged: !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$practiceSes = previous.practiceSession) === null || _previous$practiceSes === void 0 ? void 0 : _previous$practiceSes.enabled, current === null || current === void 0 ? void 0 : (_current$practiceSess = current.practiceSession) === null || _current$practiceSess === void 0 ? void 0 : _current$practiceSess.enabled),
170
+ hasPracticeSessionEnabledChanged: !(0, _lodash.isEqual)(!!(previous !== null && previous !== void 0 && (_previous$practiceSes = previous.practiceSession) !== null && _previous$practiceSes !== void 0 && _previous$practiceSes.enabled), !!(current !== null && current !== void 0 && (_current$practiceSess = current.practiceSession) !== null && _current$practiceSess !== void 0 && _current$practiceSess.enabled)),
171
171
  hasStageViewChanged: !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : previous.videoLayout, current === null || current === void 0 ? void 0 : current.videoLayout)
172
172
  }
173
173
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","_constants","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","manualCaptionControl","enabled","entryExitTone","mode","video","videoEnabled","muteOnEntry","shareControl","control","disallowUnmute","reactions","showDisplayNameWithReactions","viewTheParticipantList","_controls$viewThePart","_controls$viewThePart2","_controls$viewThePart3","_controls$viewThePart4","_controls$viewThePart5","_controls$viewThePart6","panelistEnabled","attendeeCount","raiseHand","webcastControl","streaming","meetingFull","_controls$meetingFull","_controls$meetingFull2","_controls$meetingFull3","_controls$meetingFull4","meetingPanelistFull","practiceSession","getControls","oldControls","newControls","_current$muteOnEntry","_previous$muteOnEntry","_current$shareControl","_previous$shareContro","_current$disallowUnmu","_previous$disallowUnm","_current$reactions","_previous$reactions","_current$reactions2","_previous$reactions2","_current$viewTheParti","_previous$viewThePart","_current$viewTheParti2","_previous$viewThePart2","_current$viewTheParti3","_previous$viewThePart3","_current$raiseHand","_previous$raiseHand","_current$video","_previous$video","_previous$record","_previous$record2","_current$record","_previous$record3","_current$record2","_previous$record4","_current$record3","_previous$meetingCont","_current$meetingConta","_previous$transcribe","_current$transcribe","_previous$transcribe2","_current$transcribe2","_previous$manualCapti","_current$manualCaptio","_previous$manualCapti2","_current$manualCaptio2","_newControls$video","_previous$webcastCont","_current$webcastContr","_previous$meetingFull","_current$meetingFull","_previous$meetingFull2","_current$meetingFull2","_previous$practiceSes","_current$practiceSess","previous","current","updates","hasMuteOnEntryChanged","hasShareControlChanged","hasDisallowUnmuteChanged","hasReactionsChanged","hasReactionDisplayNamesChanged","hasViewTheParticipantListChanged","hasRaiseHandChanged","hasVideoChanged","hasRecordingPausedChanged","isEqual","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasManualCaptionChanged","hasEntryExitToneChanged","hasBreakoutChanged","breakout","hasInterpretationChanged","interpretation","hasVideoEnabledChanged","undefined","hasWebcastChanged","hasMeetingFullChanged","hasPracticeSessionEnabledChanged","hasStageViewChanged","videoLayout","isNeedReplaceMembers","groupId","sessionId","getSessionSwitchStatus","status","isReturnToMain","isJoinToBreakout","sessionType","BREAKOUTS","SESSION_TYPES","BREAKOUT","MAIN","isMainSessionDTO","locus","_locus$controls","_locus$controls$break","_default","exports"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\nimport {BREAKOUTS} from '../constants';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n };\n }\n\n if (controls && controls.manualCaptionControl) {\n parsedControls.manualCaptionControl = {\n enabled: controls.manualCaptionControl.enabled,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n if (controls && controls.video) {\n parsedControls.videoEnabled = controls.video.enabled;\n }\n\n if (controls?.muteOnEntry) {\n parsedControls.muteOnEntry = {enabled: controls.muteOnEntry.enabled};\n }\n\n if (controls?.shareControl) {\n parsedControls.shareControl = {control: controls.shareControl.control};\n }\n\n if (controls?.disallowUnmute) {\n parsedControls.disallowUnmute = {enabled: controls.disallowUnmute.enabled};\n }\n\n if (controls?.reactions) {\n parsedControls.reactions = {\n enabled: controls.reactions.enabled,\n showDisplayNameWithReactions: controls.reactions.showDisplayNameWithReactions,\n };\n }\n\n if (controls?.viewTheParticipantList) {\n parsedControls.viewTheParticipantList = {\n enabled: controls.viewTheParticipantList?.enabled ?? false,\n panelistEnabled: controls.viewTheParticipantList?.panelistEnabled ?? false,\n attendeeCount: controls.viewTheParticipantList?.attendeeCount ?? 0,\n };\n }\n\n if (controls?.raiseHand) {\n parsedControls.raiseHand = {enabled: controls.raiseHand.enabled};\n }\n\n if (controls?.video) {\n parsedControls.video = {enabled: controls.video.enabled};\n }\n\n if (controls?.webcastControl) {\n parsedControls.webcastControl = {streaming: controls.webcastControl.streaming};\n }\n\n if (controls?.meetingFull) {\n parsedControls.meetingFull = {\n meetingFull: controls.meetingFull?.meetingFull ?? false,\n meetingPanelistFull: controls.meetingFull?.meetingPanelistFull ?? false,\n };\n }\n\n if (controls?.practiceSession) {\n parsedControls.practiceSession = {\n enabled: controls.practiceSession.enabled,\n };\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasMuteOnEntryChanged: current?.muteOnEntry?.enabled !== previous?.muteOnEntry?.enabled,\n\n hasShareControlChanged: current?.shareControl?.control !== previous?.shareControl?.control,\n\n hasDisallowUnmuteChanged:\n current?.disallowUnmute?.enabled !== previous?.disallowUnmute?.enabled,\n\n hasReactionsChanged: current?.reactions?.enabled !== previous?.reactions?.enabled,\n\n hasReactionDisplayNamesChanged:\n current?.reactions?.showDisplayNameWithReactions !==\n previous?.reactions?.showDisplayNameWithReactions,\n\n hasViewTheParticipantListChanged:\n current?.viewTheParticipantList?.enabled !== previous?.viewTheParticipantList?.enabled ||\n current?.viewTheParticipantList?.panelistEnabled !==\n previous?.viewTheParticipantList?.panelistEnabled ||\n current?.viewTheParticipantList?.attendeeCount !==\n previous?.viewTheParticipantList?.attendeeCount,\n\n hasRaiseHandChanged: current?.raiseHand?.enabled !== previous?.raiseHand?.enabled,\n\n hasVideoChanged: current?.video?.enabled !== previous?.video?.enabled,\n\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasManualCaptionChanged:\n current?.manualCaptionControl &&\n !isEqual(previous?.manualCaptionControl?.enabled, current?.manualCaptionControl?.enabled) &&\n (previous?.manualCaptionControl?.enabled || current?.manualCaptionControl?.enabled),\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n\n hasBreakoutChanged: !isEqual(previous?.breakout, current?.breakout),\n\n hasInterpretationChanged: !isEqual(previous?.interpretation, current?.interpretation),\n\n hasVideoEnabledChanged:\n newControls.video?.enabled !== undefined &&\n !isEqual(previous?.videoEnabled, current?.videoEnabled),\n\n hasWebcastChanged: !isEqual(\n previous?.webcastControl?.streaming,\n current?.webcastControl?.streaming\n ),\n\n hasMeetingFullChanged:\n !isEqual(previous?.meetingFull?.meetingFull, current?.meetingFull?.meetingFull) ||\n !isEqual(\n previous?.meetingFull?.meetingPanelistFull,\n current?.meetingFull?.meetingPanelistFull\n ),\n\n hasPracticeSessionEnabledChanged: !isEqual(\n previous?.practiceSession?.enabled,\n current?.practiceSession?.enabled\n ),\n\n hasStageViewChanged: !isEqual(previous?.videoLayout, current?.videoLayout),\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * check whether to replace the meeting's members or not.\n * For case joined breakout session, need replace meeting's members\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Boolean}\n */\nControlsUtils.isNeedReplaceMembers = (oldControls: any, controls: any) => {\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return false;\n }\n\n return (\n oldControls.breakout.groupId !== controls.breakout.groupId ||\n oldControls.breakout.sessionId !== controls.breakout.sessionId\n );\n};\n\n/**\n * determine the switch status between breakout session and main session.\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Object}\n */\nControlsUtils.getSessionSwitchStatus = (oldControls: any, controls: any) => {\n const status = {isReturnToMain: false, isJoinToBreakout: false};\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return status;\n }\n\n status.isReturnToMain =\n oldControls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n status.isJoinToBreakout =\n oldControls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;\n\n return status;\n};\n\nControlsUtils.isMainSessionDTO = (locus: any) => {\n return locus?.controls?.breakout?.sessionType !== BREAKOUTS.SESSION_TYPES.BREAKOUT;\n};\n\nexport default ControlsUtils;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAAuC,SAAAE,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAEvC,IAAMqB,aAAkB,GAAG,CAAC,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACAA,aAAa,CAACC,KAAK,GAAG,UAACC,QAAa,EAAK;EACvC,IAAMC,cAAc,GAAAb,aAAA,KAAOY,QAAQ,CAAC;EAEpC,IAAIA,QAAQ,IAAIA,QAAQ,CAACE,MAAM,EAAE;IAC/BD,cAAc,CAACC,MAAM,GAAG;MACtBC,UAAU,EAAEL,aAAa,CAACM,KAAK,CAACJ,QAAQ,CAAC;MACzCK,MAAM,EAAEL,QAAQ,CAACE,MAAM,CAACG,MAAM,GAAGL,QAAQ,CAACE,MAAM,CAACG,MAAM,GAAG,KAAK;MAC/DC,SAAS,EAAEN,QAAQ,CAACE,MAAM,CAACI,SAAS;MACpCC,YAAY,EAAEP,QAAQ,CAACE,MAAM,CAACM,IAAI,CAACD;IACrC,CAAC;EACH;EAEA,IAAIP,QAAQ,IAAIA,QAAQ,CAACS,gBAAgB,EAAE;IACzCR,cAAc,CAACQ,gBAAgB,GAAG;MAChCC,mBAAmB,EAAEV,QAAQ,CAACS,gBAAgB,CAACC;IACjD,CAAC;EACH;EAEA,IAAIV,QAAQ,IAAIA,QAAQ,CAACW,UAAU,EAAE;IACnCV,cAAc,CAACU,UAAU,GAAG;MAC1BC,YAAY,EAAEZ,QAAQ,CAACW,UAAU,CAACC,YAAY;MAC9CC,OAAO,EAAEb,QAAQ,CAACW,UAAU,CAACE;IAC/B,CAAC;EACH;EAEA,IAAIb,QAAQ,IAAIA,QAAQ,CAACc,oBAAoB,EAAE;IAC7Cb,cAAc,CAACa,oBAAoB,GAAG;MACpCC,OAAO,EAAEf,QAAQ,CAACc,oBAAoB,CAACC;IACzC,CAAC;EACH;EAEA,IAAIf,QAAQ,IAAIA,QAAQ,CAACgB,aAAa,EAAE;IACtCf,cAAc,CAACe,aAAa,GAAGhB,QAAQ,CAACgB,aAAa,CAACD,OAAO,GACzDf,QAAQ,CAACgB,aAAa,CAACC,IAAI,GAC3B,IAAI;EACV;EAEA,IAAIjB,QAAQ,IAAIA,QAAQ,CAACkB,KAAK,EAAE;IAC9BjB,cAAc,CAACkB,YAAY,GAAGnB,QAAQ,CAACkB,KAAK,CAACH,OAAO;EACtD;EAEA,IAAIf,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEoB,WAAW,EAAE;IACzBnB,cAAc,CAACmB,WAAW,GAAG;MAACL,OAAO,EAAEf,QAAQ,CAACoB,WAAW,CAACL;IAAO,CAAC;EACtE;EAEA,IAAIf,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEqB,YAAY,EAAE;IAC1BpB,cAAc,CAACoB,YAAY,GAAG;MAACC,OAAO,EAAEtB,QAAQ,CAACqB,YAAY,CAACC;IAAO,CAAC;EACxE;EAEA,IAAItB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEuB,cAAc,EAAE;IAC5BtB,cAAc,CAACsB,cAAc,GAAG;MAACR,OAAO,EAAEf,QAAQ,CAACuB,cAAc,CAACR;IAAO,CAAC;EAC5E;EAEA,IAAIf,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEwB,SAAS,EAAE;IACvBvB,cAAc,CAACuB,SAAS,GAAG;MACzBT,OAAO,EAAEf,QAAQ,CAACwB,SAAS,CAACT,OAAO;MACnCU,4BAA4B,EAAEzB,QAAQ,CAACwB,SAAS,CAACC;IACnD,CAAC;EACH;EAEA,IAAIzB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE0B,sBAAsB,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACpC/B,cAAc,CAACyB,sBAAsB,GAAG;MACtCX,OAAO,GAAAY,qBAAA,IAAAC,sBAAA,GAAE5B,QAAQ,CAAC0B,sBAAsB,cAAAE,sBAAA,uBAA/BA,sBAAA,CAAiCb,OAAO,cAAAY,qBAAA,cAAAA,qBAAA,GAAI,KAAK;MAC1DM,eAAe,GAAAJ,sBAAA,IAAAC,sBAAA,GAAE9B,QAAQ,CAAC0B,sBAAsB,cAAAI,sBAAA,uBAA/BA,sBAAA,CAAiCG,eAAe,cAAAJ,sBAAA,cAAAA,sBAAA,GAAI,KAAK;MAC1EK,aAAa,GAAAH,sBAAA,IAAAC,sBAAA,GAAEhC,QAAQ,CAAC0B,sBAAsB,cAAAM,sBAAA,uBAA/BA,sBAAA,CAAiCE,aAAa,cAAAH,sBAAA,cAAAA,sBAAA,GAAI;IACnE,CAAC;EACH;EAEA,IAAI/B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEmC,SAAS,EAAE;IACvBlC,cAAc,CAACkC,SAAS,GAAG;MAACpB,OAAO,EAAEf,QAAQ,CAACmC,SAAS,CAACpB;IAAO,CAAC;EAClE;EAEA,IAAIf,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEkB,KAAK,EAAE;IACnBjB,cAAc,CAACiB,KAAK,GAAG;MAACH,OAAO,EAAEf,QAAQ,CAACkB,KAAK,CAACH;IAAO,CAAC;EAC1D;EAEA,IAAIf,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEoC,cAAc,EAAE;IAC5BnC,cAAc,CAACmC,cAAc,GAAG;MAACC,SAAS,EAAErC,QAAQ,CAACoC,cAAc,CAACC;IAAS,CAAC;EAChF;EAEA,IAAIrC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEsC,WAAW,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACzBzC,cAAc,CAACqC,WAAW,GAAG;MAC3BA,WAAW,GAAAC,qBAAA,IAAAC,sBAAA,GAAExC,QAAQ,CAACsC,WAAW,cAAAE,sBAAA,uBAApBA,sBAAA,CAAsBF,WAAW,cAAAC,qBAAA,cAAAA,qBAAA,GAAI,KAAK;MACvDI,mBAAmB,GAAAF,sBAAA,IAAAC,sBAAA,GAAE1C,QAAQ,CAACsC,WAAW,cAAAI,sBAAA,uBAApBA,sBAAA,CAAsBC,mBAAmB,cAAAF,sBAAA,cAAAA,sBAAA,GAAI;IACpE,CAAC;EACH;EAEA,IAAIzC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE4C,eAAe,EAAE;IAC7B3C,cAAc,CAAC2C,eAAe,GAAG;MAC/B7B,OAAO,EAAEf,QAAQ,CAAC4C,eAAe,CAAC7B;IACpC,CAAC;EACH;EAEA,OAAOd,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACAH,aAAa,CAAC+C,WAAW,GAAG,UAACC,WAAgB,EAAEC,WAAgB,EAAK;EAAA,IAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,cAAA,EAAAC,eAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;EAClE,IAAMC,QAAQ,GAAGhG,aAAa,CAACC,KAAK,CAAC+C,WAAW,CAAC;EACjD,IAAMiD,OAAO,GAAGjG,aAAa,CAACC,KAAK,CAACgD,WAAW,CAAC;EAEhD,OAAO;IACL+C,QAAQ,EAARA,QAAQ;IACRC,OAAO,EAAPA,OAAO;IACPC,OAAO,EAAE;MACPC,qBAAqB,EAAE,CAAAF,OAAO,aAAPA,OAAO,wBAAA/C,oBAAA,GAAP+C,OAAO,CAAE3E,WAAW,cAAA4B,oBAAA,uBAApBA,oBAAA,CAAsBjC,OAAO,OAAK+E,QAAQ,aAARA,QAAQ,wBAAA7C,qBAAA,GAAR6C,QAAQ,CAAE1E,WAAW,cAAA6B,qBAAA,uBAArBA,qBAAA,CAAuBlC,OAAO;MAEvFmF,sBAAsB,EAAE,CAAAH,OAAO,aAAPA,OAAO,wBAAA7C,qBAAA,GAAP6C,OAAO,CAAE1E,YAAY,cAAA6B,qBAAA,uBAArBA,qBAAA,CAAuB5B,OAAO,OAAKwE,QAAQ,aAARA,QAAQ,wBAAA3C,qBAAA,GAAR2C,QAAQ,CAAEzE,YAAY,cAAA8B,qBAAA,uBAAtBA,qBAAA,CAAwB7B,OAAO;MAE1F6E,wBAAwB,EACtB,CAAAJ,OAAO,aAAPA,OAAO,wBAAA3C,qBAAA,GAAP2C,OAAO,CAAExE,cAAc,cAAA6B,qBAAA,uBAAvBA,qBAAA,CAAyBrC,OAAO,OAAK+E,QAAQ,aAARA,QAAQ,wBAAAzC,qBAAA,GAARyC,QAAQ,CAAEvE,cAAc,cAAA8B,qBAAA,uBAAxBA,qBAAA,CAA0BtC,OAAO;MAExEqF,mBAAmB,EAAE,CAAAL,OAAO,aAAPA,OAAO,wBAAAzC,kBAAA,GAAPyC,OAAO,CAAEvE,SAAS,cAAA8B,kBAAA,uBAAlBA,kBAAA,CAAoBvC,OAAO,OAAK+E,QAAQ,aAARA,QAAQ,wBAAAvC,mBAAA,GAARuC,QAAQ,CAAEtE,SAAS,cAAA+B,mBAAA,uBAAnBA,mBAAA,CAAqBxC,OAAO;MAEjFsF,8BAA8B,EAC5B,CAAAN,OAAO,aAAPA,OAAO,wBAAAvC,mBAAA,GAAPuC,OAAO,CAAEvE,SAAS,cAAAgC,mBAAA,uBAAlBA,mBAAA,CAAoB/B,4BAA4B,OAChDqE,QAAQ,aAARA,QAAQ,wBAAArC,oBAAA,GAARqC,QAAQ,CAAEtE,SAAS,cAAAiC,oBAAA,uBAAnBA,oBAAA,CAAqBhC,4BAA4B;MAEnD6E,gCAAgC,EAC9B,CAAAP,OAAO,aAAPA,OAAO,wBAAArC,qBAAA,GAAPqC,OAAO,CAAErE,sBAAsB,cAAAgC,qBAAA,uBAA/BA,qBAAA,CAAiC3C,OAAO,OAAK+E,QAAQ,aAARA,QAAQ,wBAAAnC,qBAAA,GAARmC,QAAQ,CAAEpE,sBAAsB,cAAAiC,qBAAA,uBAAhCA,qBAAA,CAAkC5C,OAAO,KACtF,CAAAgF,OAAO,aAAPA,OAAO,wBAAAnC,sBAAA,GAAPmC,OAAO,CAAErE,sBAAsB,cAAAkC,sBAAA,uBAA/BA,sBAAA,CAAiC3B,eAAe,OAC9C6D,QAAQ,aAARA,QAAQ,wBAAAjC,sBAAA,GAARiC,QAAQ,CAAEpE,sBAAsB,cAAAmC,sBAAA,uBAAhCA,sBAAA,CAAkC5B,eAAe,KACnD,CAAA8D,OAAO,aAAPA,OAAO,wBAAAjC,sBAAA,GAAPiC,OAAO,CAAErE,sBAAsB,cAAAoC,sBAAA,uBAA/BA,sBAAA,CAAiC5B,aAAa,OAC5C4D,QAAQ,aAARA,QAAQ,wBAAA/B,sBAAA,GAAR+B,QAAQ,CAAEpE,sBAAsB,cAAAqC,sBAAA,uBAAhCA,sBAAA,CAAkC7B,aAAa;MAEnDqE,mBAAmB,EAAE,CAAAR,OAAO,aAAPA,OAAO,wBAAA/B,kBAAA,GAAP+B,OAAO,CAAE5D,SAAS,cAAA6B,kBAAA,uBAAlBA,kBAAA,CAAoBjD,OAAO,OAAK+E,QAAQ,aAARA,QAAQ,wBAAA7B,mBAAA,GAAR6B,QAAQ,CAAE3D,SAAS,cAAA8B,mBAAA,uBAAnBA,mBAAA,CAAqBlD,OAAO;MAEjFyF,eAAe,EAAE,CAAAT,OAAO,aAAPA,OAAO,wBAAA7B,cAAA,GAAP6B,OAAO,CAAE7E,KAAK,cAAAgD,cAAA,uBAAdA,cAAA,CAAgBnD,OAAO,OAAK+E,QAAQ,aAARA,QAAQ,wBAAA3B,eAAA,GAAR2B,QAAQ,CAAE5E,KAAK,cAAAiD,eAAA,uBAAfA,eAAA,CAAiBpD,OAAO;MAErE0F,yBAAyB,EACvB,CAAAV,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE7F,MAAM,KACf,CAAC,IAAAwG,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAA1B,gBAAA,GAAR0B,QAAQ,CAAE5F,MAAM,cAAAkE,gBAAA,uBAAhBA,gBAAA,CAAkB/D,MAAM,EAAE0F,OAAO,CAAC7F,MAAM,CAACG,MAAM,CAAC,KACxD,CAAAyF,QAAQ,aAARA,QAAQ,wBAAAzB,iBAAA,GAARyB,QAAQ,CAAE5F,MAAM,cAAAmE,iBAAA,uBAAhBA,iBAAA,CAAkB/D,SAAS,MAAIyF,OAAO,aAAPA,OAAO,wBAAAzB,eAAA,GAAPyB,OAAO,CAAE7F,MAAM,cAAAoE,eAAA,uBAAfA,eAAA,CAAiBhE,SAAS,EAAC;MAAE;;MAE/DqG,mBAAmB,EACjB,CAAAZ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE7F,MAAM,KACf,CAAC,IAAAwG,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAAvB,iBAAA,GAARuB,QAAQ,CAAE5F,MAAM,cAAAqE,iBAAA,uBAAhBA,iBAAA,CAAkBjE,SAAS,EAAEyF,OAAO,aAAPA,OAAO,wBAAAvB,gBAAA,GAAPuB,OAAO,CAAE7F,MAAM,cAAAsE,gBAAA,uBAAfA,gBAAA,CAAiBlE,SAAS,CAAC;MAAI;MACpE,CAAAwF,QAAQ,aAARA,QAAQ,wBAAArB,iBAAA,GAARqB,QAAQ,CAAE5F,MAAM,cAAAuE,iBAAA,uBAAhBA,iBAAA,CAAkBnE,SAAS,MAAIyF,OAAO,aAAPA,OAAO,wBAAArB,gBAAA,GAAPqB,OAAO,CAAE7F,MAAM,cAAAwE,gBAAA,uBAAfA,gBAAA,CAAiBpE,SAAS,EAAC;MAAE;;MAE/DsG,0BAA0B,EACxB,CAAAb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEtF,gBAAgB,KACzB,CAAC,IAAAiG,eAAO,EACNZ,QAAQ,aAARA,QAAQ,wBAAAnB,qBAAA,GAARmB,QAAQ,CAAErF,gBAAgB,cAAAkE,qBAAA,uBAA1BA,qBAAA,CAA4BjE,mBAAmB,EAC/CqF,OAAO,aAAPA,OAAO,wBAAAnB,qBAAA,GAAPmB,OAAO,CAAEtF,gBAAgB,cAAAmE,qBAAA,uBAAzBA,qBAAA,CAA2BlE,mBAC7B,CAAC;MAEHmG,oBAAoB,EAClB,CAAAd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpF,UAAU,KACnB,CAAC,IAAA+F,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAAjB,oBAAA,GAARiB,QAAQ,CAAEnF,UAAU,cAAAkE,oBAAA,uBAApBA,oBAAA,CAAsBjE,YAAY,EAAEmF,OAAO,aAAPA,OAAO,wBAAAjB,mBAAA,GAAPiB,OAAO,CAAEpF,UAAU,cAAAmE,mBAAA,uBAAnBA,mBAAA,CAAqBlE,YAAY,CAAC;MAAI;MAClF,CAAAkF,QAAQ,aAARA,QAAQ,wBAAAf,qBAAA,GAARe,QAAQ,CAAEnF,UAAU,cAAAoE,qBAAA,uBAApBA,qBAAA,CAAsBnE,YAAY,MAAImF,OAAO,aAAPA,OAAO,wBAAAf,oBAAA,GAAPe,OAAO,CAAEpF,UAAU,cAAAqE,oBAAA,uBAAnBA,oBAAA,CAAqBpE,YAAY,EAAC;MAAE;;MAE7EkG,uBAAuB,EACrB,CAAAf,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjF,oBAAoB,KAC7B,CAAC,IAAA4F,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAAb,qBAAA,GAARa,QAAQ,CAAEhF,oBAAoB,cAAAmE,qBAAA,uBAA9BA,qBAAA,CAAgClE,OAAO,EAAEgF,OAAO,aAAPA,OAAO,wBAAAb,qBAAA,GAAPa,OAAO,CAAEjF,oBAAoB,cAAAoE,qBAAA,uBAA7BA,qBAAA,CAA+BnE,OAAO,CAAC,KACxF,CAAA+E,QAAQ,aAARA,QAAQ,wBAAAX,sBAAA,GAARW,QAAQ,CAAEhF,oBAAoB,cAAAqE,sBAAA,uBAA9BA,sBAAA,CAAgCpE,OAAO,MAAIgF,OAAO,aAAPA,OAAO,wBAAAX,sBAAA,GAAPW,OAAO,CAAEjF,oBAAoB,cAAAsE,sBAAA,uBAA7BA,sBAAA,CAA+BrE,OAAO,EAAC;MAErFgG,uBAAuB,EAAE,CAAC,EACxBhE,WAAW,CAAC/B,aAAa,IACzB,CAAC,IAAA0F,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE9E,aAAa,EAAE+E,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE/E,aAAa,CAAC,KACxD8E,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE9E,aAAa,IAAI+E,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE/E,aAAa,CAAC,CACpD;MAEDgG,kBAAkB,EAAE,CAAC,IAAAN,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEmB,QAAQ,EAAElB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEkB,QAAQ,CAAC;MAEnEC,wBAAwB,EAAE,CAAC,IAAAR,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEqB,cAAc,EAAEpB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEoB,cAAc,CAAC;MAErFC,sBAAsB,EACpB,EAAA/B,kBAAA,GAAAtC,WAAW,CAAC7B,KAAK,cAAAmE,kBAAA,uBAAjBA,kBAAA,CAAmBtE,OAAO,MAAKsG,SAAS,IACxC,CAAC,IAAAX,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE3E,YAAY,EAAE4E,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE5E,YAAY,CAAC;MAEzDmG,iBAAiB,EAAE,CAAC,IAAAZ,eAAO,EACzBZ,QAAQ,aAARA,QAAQ,wBAAAR,qBAAA,GAARQ,QAAQ,CAAE1D,cAAc,cAAAkD,qBAAA,uBAAxBA,qBAAA,CAA0BjD,SAAS,EACnC0D,OAAO,aAAPA,OAAO,wBAAAR,qBAAA,GAAPQ,OAAO,CAAE3D,cAAc,cAAAmD,qBAAA,uBAAvBA,qBAAA,CAAyBlD,SAC3B,CAAC;MAEDkF,qBAAqB,EACnB,CAAC,IAAAb,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAAN,qBAAA,GAARM,QAAQ,CAAExD,WAAW,cAAAkD,qBAAA,uBAArBA,qBAAA,CAAuBlD,WAAW,EAAEyD,OAAO,aAAPA,OAAO,wBAAAN,oBAAA,GAAPM,OAAO,CAAEzD,WAAW,cAAAmD,oBAAA,uBAApBA,oBAAA,CAAsBnD,WAAW,CAAC,IAC/E,CAAC,IAAAoE,eAAO,EACNZ,QAAQ,aAARA,QAAQ,wBAAAJ,sBAAA,GAARI,QAAQ,CAAExD,WAAW,cAAAoD,sBAAA,uBAArBA,sBAAA,CAAuB/C,mBAAmB,EAC1CoD,OAAO,aAAPA,OAAO,wBAAAJ,qBAAA,GAAPI,OAAO,CAAEzD,WAAW,cAAAqD,qBAAA,uBAApBA,qBAAA,CAAsBhD,mBACxB,CAAC;MAEH6E,gCAAgC,EAAE,CAAC,IAAAd,eAAO,EACxCZ,QAAQ,aAARA,QAAQ,wBAAAF,qBAAA,GAARE,QAAQ,CAAElD,eAAe,cAAAgD,qBAAA,uBAAzBA,qBAAA,CAA2B7E,OAAO,EAClCgF,OAAO,aAAPA,OAAO,wBAAAF,qBAAA,GAAPE,OAAO,CAAEnD,eAAe,cAAAiD,qBAAA,uBAAxBA,qBAAA,CAA0B9E,OAC5B,CAAC;MAED0G,mBAAmB,EAAE,CAAC,IAAAf,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE4B,WAAW,EAAE3B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2B,WAAW;IAC3E;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA5H,aAAa,CAACM,KAAK,GAAG,UAACJ,QAAa,EAAK;EACvC,IAAIA,QAAQ,CAACE,MAAM,CAACM,IAAI,EAAE;IACxB,OAAOR,QAAQ,CAACE,MAAM,CAACM,IAAI,CAACL,UAAU;EACxC;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACAL,aAAa,CAAC6H,oBAAoB,GAAG,UAAC7E,WAAgB,EAAE9C,QAAa,EAAK;EACxE;EACA,IAAI,EAAC8C,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEmE,QAAQ,KAAI,EAACjH,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEiH,QAAQ,GAAE;IACjD,OAAO,KAAK;EACd;EAEA,OACEnE,WAAW,CAACmE,QAAQ,CAACW,OAAO,KAAK5H,QAAQ,CAACiH,QAAQ,CAACW,OAAO,IAC1D9E,WAAW,CAACmE,QAAQ,CAACY,SAAS,KAAK7H,QAAQ,CAACiH,QAAQ,CAACY,SAAS;AAElE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA/H,aAAa,CAACgI,sBAAsB,GAAG,UAAChF,WAAgB,EAAE9C,QAAa,EAAK;EAC1E,IAAM+H,MAAM,GAAG;IAACC,cAAc,EAAE,KAAK;IAAEC,gBAAgB,EAAE;EAAK,CAAC;EAC/D;EACA,IAAI,EAACnF,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEmE,QAAQ,KAAI,EAACjH,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEiH,QAAQ,GAAE;IACjD,OAAOc,MAAM;EACf;EAEAA,MAAM,CAACC,cAAc,GACnBlF,WAAW,CAACmE,QAAQ,CAACiB,WAAW,KAAKC,oBAAS,CAACC,aAAa,CAACC,QAAQ,IACrErI,QAAQ,CAACiH,QAAQ,CAACiB,WAAW,KAAKC,oBAAS,CAACC,aAAa,CAACE,IAAI;EAChEP,MAAM,CAACE,gBAAgB,GACrBnF,WAAW,CAACmE,QAAQ,CAACiB,WAAW,KAAKC,oBAAS,CAACC,aAAa,CAACE,IAAI,IACjEtI,QAAQ,CAACiH,QAAQ,CAACiB,WAAW,KAAKC,oBAAS,CAACC,aAAa,CAACC,QAAQ;EAEpE,OAAON,MAAM;AACf,CAAC;AAEDjI,aAAa,CAACyI,gBAAgB,GAAG,UAACC,KAAU,EAAK;EAAA,IAAAC,eAAA,EAAAC,qBAAA;EAC/C,OAAO,CAAAF,KAAK,aAALA,KAAK,wBAAAC,eAAA,GAALD,KAAK,CAAExI,QAAQ,cAAAyI,eAAA,wBAAAC,qBAAA,GAAfD,eAAA,CAAiBxB,QAAQ,cAAAyB,qBAAA,uBAAzBA,qBAAA,CAA2BR,WAAW,MAAKC,oBAAS,CAACC,aAAa,CAACC,QAAQ;AACpF,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAlJ,OAAA,GAEaI,aAAa"}
1
+ {"version":3,"names":["_lodash","require","_constants","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","manualCaptionControl","enabled","entryExitTone","mode","video","videoEnabled","muteOnEntry","shareControl","control","disallowUnmute","reactions","showDisplayNameWithReactions","viewTheParticipantList","_controls$viewThePart","_controls$viewThePart2","_controls$viewThePart3","_controls$viewThePart4","_controls$viewThePart5","_controls$viewThePart6","panelistEnabled","attendeeCount","raiseHand","webcastControl","streaming","meetingFull","_controls$meetingFull","_controls$meetingFull2","_controls$meetingFull3","_controls$meetingFull4","meetingPanelistFull","practiceSession","getControls","oldControls","newControls","_current$muteOnEntry","_previous$muteOnEntry","_current$shareControl","_previous$shareContro","_current$disallowUnmu","_previous$disallowUnm","_current$reactions","_previous$reactions","_current$reactions2","_previous$reactions2","_current$viewTheParti","_previous$viewThePart","_current$viewTheParti2","_previous$viewThePart2","_current$viewTheParti3","_previous$viewThePart3","_current$raiseHand","_previous$raiseHand","_current$video","_previous$video","_previous$record","_previous$record2","_current$record","_previous$record3","_current$record2","_previous$record4","_current$record3","_previous$meetingCont","_current$meetingConta","_previous$transcribe","_current$transcribe","_previous$transcribe2","_current$transcribe2","_previous$manualCapti","_current$manualCaptio","_previous$manualCapti2","_current$manualCaptio2","_newControls$video","_previous$webcastCont","_current$webcastContr","_previous$meetingFull","_current$meetingFull","_previous$meetingFull2","_current$meetingFull2","_previous$practiceSes","_current$practiceSess","previous","current","updates","hasMuteOnEntryChanged","hasShareControlChanged","hasDisallowUnmuteChanged","hasReactionsChanged","hasReactionDisplayNamesChanged","hasViewTheParticipantListChanged","hasRaiseHandChanged","hasVideoChanged","hasRecordingPausedChanged","isEqual","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasManualCaptionChanged","hasEntryExitToneChanged","hasBreakoutChanged","breakout","hasInterpretationChanged","interpretation","hasVideoEnabledChanged","undefined","hasWebcastChanged","hasMeetingFullChanged","hasPracticeSessionEnabledChanged","hasStageViewChanged","videoLayout","isNeedReplaceMembers","groupId","sessionId","getSessionSwitchStatus","status","isReturnToMain","isJoinToBreakout","sessionType","BREAKOUTS","SESSION_TYPES","BREAKOUT","MAIN","isMainSessionDTO","locus","_locus$controls","_locus$controls$break","_default","exports"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\nimport {BREAKOUTS} from '../constants';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n };\n }\n\n if (controls && controls.manualCaptionControl) {\n parsedControls.manualCaptionControl = {\n enabled: controls.manualCaptionControl.enabled,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n if (controls && controls.video) {\n parsedControls.videoEnabled = controls.video.enabled;\n }\n\n if (controls?.muteOnEntry) {\n parsedControls.muteOnEntry = {enabled: controls.muteOnEntry.enabled};\n }\n\n if (controls?.shareControl) {\n parsedControls.shareControl = {control: controls.shareControl.control};\n }\n\n if (controls?.disallowUnmute) {\n parsedControls.disallowUnmute = {enabled: controls.disallowUnmute.enabled};\n }\n\n if (controls?.reactions) {\n parsedControls.reactions = {\n enabled: controls.reactions.enabled,\n showDisplayNameWithReactions: controls.reactions.showDisplayNameWithReactions,\n };\n }\n\n if (controls?.viewTheParticipantList) {\n parsedControls.viewTheParticipantList = {\n enabled: controls.viewTheParticipantList?.enabled ?? false,\n panelistEnabled: controls.viewTheParticipantList?.panelistEnabled ?? false,\n attendeeCount: controls.viewTheParticipantList?.attendeeCount ?? 0,\n };\n }\n\n if (controls?.raiseHand) {\n parsedControls.raiseHand = {enabled: controls.raiseHand.enabled};\n }\n\n if (controls?.video) {\n parsedControls.video = {enabled: controls.video.enabled};\n }\n\n if (controls?.webcastControl) {\n parsedControls.webcastControl = {streaming: controls.webcastControl.streaming};\n }\n\n if (controls?.meetingFull) {\n parsedControls.meetingFull = {\n meetingFull: controls.meetingFull?.meetingFull ?? false,\n meetingPanelistFull: controls.meetingFull?.meetingPanelistFull ?? false,\n };\n }\n\n if (controls?.practiceSession) {\n parsedControls.practiceSession = {\n enabled: controls.practiceSession.enabled,\n };\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasMuteOnEntryChanged: current?.muteOnEntry?.enabled !== previous?.muteOnEntry?.enabled,\n\n hasShareControlChanged: current?.shareControl?.control !== previous?.shareControl?.control,\n\n hasDisallowUnmuteChanged:\n current?.disallowUnmute?.enabled !== previous?.disallowUnmute?.enabled,\n\n hasReactionsChanged: current?.reactions?.enabled !== previous?.reactions?.enabled,\n\n hasReactionDisplayNamesChanged:\n current?.reactions?.showDisplayNameWithReactions !==\n previous?.reactions?.showDisplayNameWithReactions,\n\n hasViewTheParticipantListChanged:\n current?.viewTheParticipantList?.enabled !== previous?.viewTheParticipantList?.enabled ||\n current?.viewTheParticipantList?.panelistEnabled !==\n previous?.viewTheParticipantList?.panelistEnabled ||\n current?.viewTheParticipantList?.attendeeCount !==\n previous?.viewTheParticipantList?.attendeeCount,\n\n hasRaiseHandChanged: current?.raiseHand?.enabled !== previous?.raiseHand?.enabled,\n\n hasVideoChanged: current?.video?.enabled !== previous?.video?.enabled,\n\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasManualCaptionChanged:\n current?.manualCaptionControl &&\n !isEqual(previous?.manualCaptionControl?.enabled, current?.manualCaptionControl?.enabled) &&\n (previous?.manualCaptionControl?.enabled || current?.manualCaptionControl?.enabled),\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n\n hasBreakoutChanged: !isEqual(previous?.breakout, current?.breakout),\n\n hasInterpretationChanged: !isEqual(previous?.interpretation, current?.interpretation),\n\n hasVideoEnabledChanged:\n newControls.video?.enabled !== undefined &&\n !isEqual(previous?.videoEnabled, current?.videoEnabled),\n\n hasWebcastChanged: !isEqual(\n previous?.webcastControl?.streaming,\n current?.webcastControl?.streaming\n ),\n\n hasMeetingFullChanged:\n !isEqual(previous?.meetingFull?.meetingFull, current?.meetingFull?.meetingFull) ||\n !isEqual(\n previous?.meetingFull?.meetingPanelistFull,\n current?.meetingFull?.meetingPanelistFull\n ),\n\n hasPracticeSessionEnabledChanged: !isEqual(\n !!previous?.practiceSession?.enabled,\n !!current?.practiceSession?.enabled\n ),\n\n hasStageViewChanged: !isEqual(previous?.videoLayout, current?.videoLayout),\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * check whether to replace the meeting's members or not.\n * For case joined breakout session, need replace meeting's members\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Boolean}\n */\nControlsUtils.isNeedReplaceMembers = (oldControls: any, controls: any) => {\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return false;\n }\n\n return (\n oldControls.breakout.groupId !== controls.breakout.groupId ||\n oldControls.breakout.sessionId !== controls.breakout.sessionId\n );\n};\n\n/**\n * determine the switch status between breakout session and main session.\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Object}\n */\nControlsUtils.getSessionSwitchStatus = (oldControls: any, controls: any) => {\n const status = {isReturnToMain: false, isJoinToBreakout: false};\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return status;\n }\n\n status.isReturnToMain =\n oldControls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n status.isJoinToBreakout =\n oldControls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;\n\n return status;\n};\n\nControlsUtils.isMainSessionDTO = (locus: any) => {\n return locus?.controls?.breakout?.sessionType !== BREAKOUTS.SESSION_TYPES.BREAKOUT;\n};\n\nexport default ControlsUtils;\n"],"mappings":"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"}
@@ -21,6 +21,7 @@ var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/
21
21
  var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
22
22
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
23
23
  var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
24
+ var _isNan = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/number/is-nan"));
24
25
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
25
26
  var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
26
27
  var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
@@ -646,7 +647,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
646
647
  rawError: error
647
648
  }
648
649
  });
649
- } else if (error instanceof _internalMediaCore.Errors.SdpOfferHandlingError || error instanceof _internalMediaCore.Errors.SdpAnswerHandlingError) {
650
+ } else if (error instanceof _internalMediaCore.Errors.SdpOfferHandlingError) {
650
651
  sendBehavioralMetric(_constants2.default.PEERCONNECTION_FAILURE, error, _this.correlationId);
651
652
 
652
653
  // @ts-ignore
@@ -660,6 +661,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
660
661
  rawError: error
661
662
  }
662
663
  });
664
+ } else if (error instanceof _internalMediaCore.Errors.SdpAnswerHandlingError) {
665
+ sendBehavioralMetric(_constants2.default.PEERCONNECTION_FAILURE, error, _this.correlationId);
666
+
667
+ // @ts-ignore
668
+ _this.webex.internal.newMetrics.submitClientEvent({
669
+ name: 'client.media-engine.remote-sdp-received',
670
+ payload: {
671
+ canProceed: false
672
+ },
673
+ options: {
674
+ meetingId: _this.id,
675
+ rawError: error
676
+ }
677
+ });
678
+ if (_this.deferSDPAnswer) {
679
+ clearTimeout(_this.sdpResponseTimer);
680
+ _this.sdpResponseTimer = undefined;
681
+ _this.deferSDPAnswer.reject();
682
+ }
663
683
  } else if (error instanceof _internalMediaCore.Errors.SdpError) {
664
684
  // this covers also the case of Errors.IceGatheringError which extends Errors.SdpError
665
685
  sendBehavioralMetric(_constants2.default.INVALID_ICE_CANDIDATE, error, _this.correlationId);
@@ -1282,8 +1302,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1282
1302
  * @returns {undefined}
1283
1303
  */
1284
1304
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "handleShareVideoStreamMuteStateChange", function (muted) {
1285
- var _this$statsAnalyzer, _this$mediaProperties3, _this$mediaProperties4;
1305
+ var _this$mediaProperties3, _this$mediaProperties4, _this$statsAnalyzer;
1286
1306
  _loggerProxy.default.logger.log("Meeting:index#handleShareVideoStreamMuteStateChange --> Share video stream mute state changed to muted ".concat(muted));
1307
+ var shareVideoStreamSettings = (_this$mediaProperties3 = _this.mediaProperties) === null || _this$mediaProperties3 === void 0 ? void 0 : (_this$mediaProperties4 = _this$mediaProperties3.shareVideoStream) === null || _this$mediaProperties4 === void 0 ? void 0 : _this$mediaProperties4.getSettings();
1287
1308
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_VIDEO_MUTE_STATE_CHANGE, {
1288
1309
  correlationId: _this.correlationId,
1289
1310
  muted: muted,
@@ -1292,8 +1313,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1292
1313
  // SDK to TypeScript 5, which may affect other packages, use bracket notation for now, since
1293
1314
  // all we're doing here is adding metrics.
1294
1315
  // eslint-disable-next-line dot-notation
1295
- displaySurface: (_this$mediaProperties3 = _this.mediaProperties) === null || _this$mediaProperties3 === void 0 ? void 0 : (_this$mediaProperties4 = _this$mediaProperties3.shareVideoStream) === null || _this$mediaProperties4 === void 0 ? void 0 : _this$mediaProperties4.getSettings()['displaySurface'],
1296
- isMultistream: _this.isMultistream
1316
+ displaySurface: shareVideoStreamSettings === null || shareVideoStreamSettings === void 0 ? void 0 : shareVideoStreamSettings['displaySurface'],
1317
+ isMultistream: _this.isMultistream,
1318
+ frameRate: shareVideoStreamSettings === null || shareVideoStreamSettings === void 0 ? void 0 : shareVideoStreamSettings.frameRate
1297
1319
  });
1298
1320
  });
1299
1321
  /**
@@ -2303,6 +2325,44 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2303
2325
  this.callStateForMetrics.correlationId = correlationId;
2304
2326
  }
2305
2327
 
2328
+ /**
2329
+ * Getter - Returns callStateForMetrics.userNameInput
2330
+ * @returns {string}
2331
+ */
2332
+ }, {
2333
+ key: "userNameInput",
2334
+ get: function get() {
2335
+ var _this$callStateForMet;
2336
+ return (_this$callStateForMet = this.callStateForMetrics) === null || _this$callStateForMet === void 0 ? void 0 : _this$callStateForMet.userNameInput;
2337
+ }
2338
+
2339
+ /**
2340
+ * Setter - sets callStateForMetrics.userNameInput
2341
+ * @param {string} userNameInput
2342
+ */,
2343
+ set: function set(userNameInput) {
2344
+ this.callStateForMetrics.userNameInput = userNameInput;
2345
+ }
2346
+
2347
+ /**
2348
+ * Getter - Returns callStateForMetrics.emailInput
2349
+ * @returns {string}
2350
+ */
2351
+ }, {
2352
+ key: "emailInput",
2353
+ get: function get() {
2354
+ var _this$callStateForMet2;
2355
+ return (_this$callStateForMet2 = this.callStateForMetrics) === null || _this$callStateForMet2 === void 0 ? void 0 : _this$callStateForMet2.emailInput;
2356
+ }
2357
+
2358
+ /**
2359
+ * Setter - sets callStateForMetrics.emailInput
2360
+ * @param {string} emailInput
2361
+ */,
2362
+ set: function set(emailInput) {
2363
+ this.callStateForMetrics.emailInput = emailInput;
2364
+ }
2365
+
2306
2366
  /**
2307
2367
  * Getter - Returns callStateForMetrics.sessionCorrelationId
2308
2368
  * @returns {string}
@@ -2332,6 +2392,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2332
2392
  return (0, _classPrivateFieldGet2.default)(this, _isoLocalClientMeetingJoinTime);
2333
2393
  }
2334
2394
 
2395
+ /**
2396
+ * Setter - sets isoLocalClientMeetingJoinTime
2397
+ * This will be set once on meeting join, and not updated again
2398
+ * this will always produce an ISO string
2399
+ * If the iso string is invalid, it will fallback to the current system time
2400
+ * @param {string | undefined} time
2401
+ */,
2402
+ set: function set(time) {
2403
+ var fallback = new Date().toISOString();
2404
+ if (!time) {
2405
+ (0, _classPrivateFieldSet2.default)(this, _isoLocalClientMeetingJoinTime, fallback);
2406
+ } else {
2407
+ var date = new Date(time);
2408
+
2409
+ // Check if the date is valid
2410
+ if ((0, _isNan.default)(date.getTime())) {
2411
+ _loggerProxy.default.logger.info( // @ts-ignore
2412
+ "Meeting:index#isoLocalClientMeetingJoinTime --> Invalid date provided: ".concat(time, ". Falling back to system clock."));
2413
+ (0, _classPrivateFieldSet2.default)(this, _isoLocalClientMeetingJoinTime, fallback);
2414
+ } else {
2415
+ (0, _classPrivateFieldSet2.default)(this, _isoLocalClientMeetingJoinTime, date.toISOString());
2416
+ }
2417
+ }
2418
+ }
2419
+
2335
2420
  /**
2336
2421
  * Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
2337
2422
  * @param {any} info
@@ -6073,7 +6158,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6073
6158
 
6074
6159
  // @ts-ignore
6075
6160
  _this35.webex.internal.device.meetingStarted();
6076
- (0, _classPrivateFieldSet2.default)(_this35, _isoLocalClientMeetingJoinTime, new Date().toISOString());
6077
6161
  _loggerProxy.default.logger.log('Meeting:index#join --> Success');
6078
6162
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
6079
6163
  correlation_id: _this35.correlationId