@azure/communication-react 1.16.0 → 1.17.0-alpha-202405150013

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 (1212) hide show
  1. package/dist/communication-react.d.ts +1997 -123
  2. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BkDaUOJU.js +138 -0
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BkDaUOJU.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/index-DJswSfNy.js +39729 -0
  5. package/dist/dist-cjs/communication-react/index-DJswSfNy.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index.js +160 -32462
  7. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/common.d.ts +74 -0
  11. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/identifier.js +4 -1
  16. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/index.d.ts +2 -0
  18. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.d.ts +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  24. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  25. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  26. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +5 -1
  28. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +11 -0
  29. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +12 -0
  31. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +25 -7
  32. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +7 -1
  34. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +24 -55
  36. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +10 -1
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +75 -59
  41. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +11 -1
  43. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +15 -1
  45. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +45 -0
  47. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +87 -0
  48. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -0
  49. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +4 -2
  52. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +17 -0
  53. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +5 -0
  56. package/dist/dist-esm/calling-component-bindings/src/index.js +6 -0
  57. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
  59. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +43 -13
  60. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +4 -3
  63. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  64. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +6 -3
  65. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +14 -2
  67. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +20 -1
  68. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  69. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  70. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +7 -0
  72. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +23 -7
  73. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  74. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +11 -9
  75. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  76. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  77. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +27 -15
  78. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  79. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +47 -10
  80. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +6 -5
  82. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +15 -1
  84. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +2 -1
  86. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +66 -71
  87. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  88. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +63 -2
  89. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +12 -1
  91. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +99 -30
  92. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +7 -8
  94. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +140 -87
  96. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +3 -0
  100. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +30 -7
  101. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.d.ts +17 -0
  104. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +61 -3
  105. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +5 -0
  107. package/dist/dist-esm/calling-stateful-client/src/Converter.js +26 -15
  108. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -73
  110. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +14 -16
  112. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  113. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +3 -15
  115. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +17 -0
  117. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +36 -0
  118. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -0
  119. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  120. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +1 -3
  122. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  126. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +1 -0
  128. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +11 -0
  129. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  130. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  131. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +25 -1
  133. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +69 -40
  134. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  135. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +32 -24
  136. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  137. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +8 -11
  138. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  139. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +19 -0
  140. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +91 -0
  141. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -0
  142. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +23 -0
  143. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +48 -0
  144. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -0
  145. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  146. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  147. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +8 -0
  148. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  149. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  150. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  151. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +6 -7
  152. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  153. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +3 -0
  154. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  155. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  156. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  157. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  158. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  159. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  160. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +15 -15
  161. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  162. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +3 -2
  163. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +40 -19
  164. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  165. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  166. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +2 -1
  167. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +5 -0
  168. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  169. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  170. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  171. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +116 -12
  172. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  173. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  174. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  175. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  176. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  177. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +3 -7
  178. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  179. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +3 -1
  180. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  181. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  182. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +10 -3
  183. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  184. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  185. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  186. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +16 -22
  187. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  188. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  189. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +8 -11
  190. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  191. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  192. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +4 -16
  193. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  194. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +57 -67
  195. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  196. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +114 -128
  197. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  198. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +7 -1
  199. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  200. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  201. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  202. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.d.ts +1 -1
  203. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  204. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.d.ts +1 -1
  205. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  206. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.d.ts +1 -1
  207. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  208. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.d.ts +1 -1
  209. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  210. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +1 -0
  211. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  212. package/dist/dist-esm/communication-react/src/index.d.ts +28 -0
  213. package/dist/dist-esm/communication-react/src/index.js +16 -0
  214. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  215. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +3 -6
  217. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.d.ts +1 -1
  220. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +4 -10
  222. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  224. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  226. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/{AttachmentCard.d.ts → Attachment/AttachmentCard.d.ts} +3 -2
  229. package/dist/dist-esm/react-components/src/components/{AttachmentCard.js → Attachment/AttachmentCard.js} +22 -21
  230. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -0
  231. package/dist/dist-esm/react-components/src/components/{AttachmentCardGroup.js → Attachment/AttachmentCardGroup.js} +2 -2
  232. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js.map +1 -0
  233. package/dist/dist-esm/react-components/src/components/{AttachmentDownloadCards.d.ts → Attachment/AttachmentDownloadCards.d.ts} +4 -3
  234. package/dist/dist-esm/react-components/src/components/{AttachmentDownloadCards.js → Attachment/AttachmentDownloadCards.js} +21 -11
  235. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -0
  236. package/dist/dist-esm/react-components/src/components/{AttachmentUploadCards.d.ts → Attachment/AttachmentUploadCards.d.ts} +3 -3
  237. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js +48 -0
  238. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js.map +1 -0
  239. package/dist/dist-esm/react-components/src/components/CameraButton.js +8 -19
  240. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  242. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +9 -8
  244. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +36 -19
  246. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +2 -5
  248. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +37 -22
  250. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +13 -1
  252. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +30 -24
  253. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +16 -0
  255. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +86 -27
  256. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +9 -5
  258. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +10 -0
  260. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +15 -0
  261. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -0
  262. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +18 -1
  263. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +39 -9
  264. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +2 -1
  266. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +54 -11
  267. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +4 -1
  269. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +54 -26
  270. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +16 -2
  272. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +22 -0
  273. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  274. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +17 -0
  275. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +125 -0
  276. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -0
  277. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +31 -2
  278. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +42 -8
  279. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  280. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +18 -1
  281. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +45 -12
  282. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +76 -15
  284. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  286. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +7 -4
  288. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  290. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  292. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/ControlBar.js +10 -14
  295. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  297. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +3 -14
  299. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  301. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +37 -0
  302. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  303. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  304. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +58 -0
  305. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  306. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +5 -8
  307. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +105 -0
  309. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +86 -0
  310. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -0
  311. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +86 -0
  312. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +31 -0
  313. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -0
  314. package/dist/dist-esm/react-components/src/components/DevicesButton.js +19 -27
  315. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js +12 -48
  317. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +45 -51
  319. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  321. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  323. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +11 -9
  325. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  327. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +6 -4
  329. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +11 -5
  331. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/EndCallButton.js +16 -16
  334. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/ErrorBar.js +9 -5
  336. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/ErrorBoundary.d.ts +20 -0
  338. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js +29 -0
  339. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js.map +1 -0
  340. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  341. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  343. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  345. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  346. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  347. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -9
  348. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +13 -14
  350. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +3 -10
  352. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +2 -0
  354. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +23 -7
  355. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  357. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +29 -29
  359. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +45 -22
  360. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +4 -12
  362. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +121 -0
  364. package/dist/dist-esm/react-components/src/components/MentionPopover.js +126 -0
  365. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -0
  366. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +2 -2
  367. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +20 -33
  370. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +46 -3
  372. package/dist/dist-esm/react-components/src/components/MessageThread.js +106 -45
  373. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -14
  375. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +94 -101
  377. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +13 -0
  379. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +27 -29
  380. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
  382. package/dist/dist-esm/react-components/src/components/ParticipantList.js +55 -35
  383. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +46 -32
  385. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  387. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  389. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +6 -12
  391. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/components/ReactionButton.js +26 -25
  393. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  394. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +28 -28
  395. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +27 -17
  396. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.d.ts +3 -3
  398. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  399. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  401. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  402. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.d.ts +7 -0
  403. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.js +86 -0
  404. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.js.map +1 -0
  405. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.d.ts +7 -0
  406. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.js +55 -0
  407. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.js.map +1 -0
  408. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTablePane.d.ts +15 -0
  409. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTablePane.js +64 -0
  410. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTablePane.js.map +1 -0
  411. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextTableContextMenu.d.ts +8 -0
  412. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextTableContextMenu.js +66 -0
  413. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextTableContextMenu.js.map +1 -0
  414. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/insertTableAction.d.ts +9 -0
  415. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/insertTableAction.js +56 -0
  416. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/insertTableAction.js.map +1 -0
  417. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +23 -0
  418. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +78 -0
  419. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -0
  420. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +57 -0
  421. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +138 -0
  422. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -0
  423. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +34 -0
  424. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +78 -0
  425. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -0
  426. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +145 -0
  427. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +246 -0
  428. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -0
  429. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +16 -0
  430. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +68 -0
  431. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -0
  432. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -14
  433. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +47 -1
  435. package/dist/dist-esm/react-components/src/components/SendBox.js +117 -13
  436. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +34 -0
  438. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +42 -0
  439. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -0
  440. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +14 -0
  441. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +20 -0
  442. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -0
  443. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +2 -4
  444. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  446. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js +10 -3
  448. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js.map +1 -1
  451. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +23 -23
  452. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -1
  453. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -1
  454. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  455. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  456. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +24 -0
  457. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +595 -0
  458. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -0
  459. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +152 -0
  460. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +822 -0
  461. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -0
  462. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  463. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +9 -6
  465. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +3 -1
  467. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +3 -1
  469. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +20 -0
  471. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +3 -1
  473. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  474. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +13 -31
  475. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  476. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +3 -1
  477. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  478. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +8 -12
  479. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  480. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +6 -12
  481. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  482. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +6 -2
  483. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  484. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +26 -11
  485. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  486. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +14 -10
  487. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  488. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +50 -19
  489. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  490. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +2 -2
  491. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  492. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +17 -0
  493. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +112 -0
  494. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +1 -0
  495. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  496. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  497. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  498. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.d.ts +10 -10
  499. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +6 -4
  500. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  501. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +17 -11
  502. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -1
  503. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +29 -24
  504. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
  505. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +13 -13
  506. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +9 -7
  507. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  508. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +2 -2
  509. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +2 -4
  510. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  511. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +44 -13
  512. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -6
  514. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +9 -34
  516. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  517. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +2 -11
  518. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  519. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  523. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +1 -3
  524. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  525. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -11
  526. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  527. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +22 -28
  528. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  529. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +11 -6
  530. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  531. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +28 -28
  532. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +35 -45
  533. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  534. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  535. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -1
  536. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +50 -20
  537. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  538. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -1
  539. package/dist/dist-esm/react-components/src/components/VideoGallery.js +144 -44
  540. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  541. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +7 -0
  542. package/dist/dist-esm/react-components/src/components/VideoTile.js +41 -59
  543. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  544. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +2 -2
  545. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  546. package/dist/dist-esm/react-components/src/components/index.d.ts +24 -5
  547. package/dist/dist-esm/react-components/src/components/index.js +18 -3
  548. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  549. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +4 -0
  550. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +4 -0
  551. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  552. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  553. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  554. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  555. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  556. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  557. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +2 -6
  558. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  559. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  560. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  561. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  562. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  563. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  564. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  565. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +2 -5
  566. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
  567. package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js.map +1 -1
  568. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +2 -5
  569. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  570. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +26 -0
  571. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +69 -0
  572. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -0
  573. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  574. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  575. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +4 -10
  576. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  577. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.d.ts +4 -0
  578. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +22 -8
  579. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  580. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  581. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
  582. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +14 -8
  583. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
  584. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +82 -0
  585. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +291 -0
  586. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -0
  587. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +21 -0
  588. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +34 -0
  589. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -0
  590. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +1 -0
  591. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +5 -13
  592. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  593. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +38 -0
  594. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +92 -0
  595. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -0
  596. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +5 -0
  597. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +32 -0
  598. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -0
  599. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -6
  600. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  601. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  602. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -2
  603. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  604. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  605. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +26 -0
  606. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +67 -0
  607. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -0
  608. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +1 -2
  609. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  610. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +5 -19
  611. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  612. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  613. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  614. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +33 -1
  615. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +32 -3
  616. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  617. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +13 -4
  618. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +57 -4
  619. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  620. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +1 -4
  621. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  622. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorStringsUtils.d.ts +15 -0
  623. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorStringsUtils.js +39 -0
  624. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorStringsUtils.js.map +1 -0
  625. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +22 -0
  626. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +29 -0
  627. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -0
  628. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +11 -1
  629. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +23 -3
  630. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  631. package/dist/dist-esm/react-components/src/components/utils/common.d.ts +1 -1
  632. package/dist/dist-esm/react-components/src/components/utils/common.js +4 -0
  633. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  634. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  635. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  636. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +2 -1
  637. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +4 -7
  638. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  639. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  640. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
  641. package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
  642. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
  643. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  644. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  645. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  646. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +10 -1
  647. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  648. package/dist/dist-esm/react-components/src/components/utils.js +13 -10
  649. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  650. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +8 -6
  651. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  652. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  653. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +4 -0
  654. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +5 -1
  655. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  656. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  657. package/dist/dist-esm/react-components/src/index.d.ts +1 -0
  658. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  659. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +60 -0
  660. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  661. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  662. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js +1 -3
  663. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js.map +1 -1
  664. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +18 -18
  665. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js +1 -3
  666. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js.map +1 -1
  667. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +18 -18
  668. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js +1 -3
  669. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js.map +1 -1
  670. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +18 -18
  671. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js +1 -3
  672. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js.map +1 -1
  673. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +18 -18
  674. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +38 -19
  675. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js +1 -3
  676. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js.map +1 -1
  677. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +18 -18
  678. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js +1 -3
  679. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js.map +1 -1
  680. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +18 -18
  681. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js +1 -3
  682. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js.map +1 -1
  683. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +18 -18
  684. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js +1 -3
  685. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js.map +1 -1
  686. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +18 -18
  687. package/dist/dist-esm/react-components/src/localization/locales/index.js +1 -3
  688. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  689. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js +1 -3
  690. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js.map +1 -1
  691. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +18 -18
  692. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js +1 -3
  693. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js.map +1 -1
  694. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +18 -18
  695. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js +1 -3
  696. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js.map +1 -1
  697. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +18 -18
  698. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js +1 -3
  699. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js.map +1 -1
  700. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +18 -18
  701. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js +1 -3
  702. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js.map +1 -1
  703. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +18 -18
  704. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js +1 -3
  705. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js.map +1 -1
  706. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +18 -18
  707. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js +1 -3
  708. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js.map +1 -1
  709. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +18 -18
  710. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js +1 -3
  711. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js.map +1 -1
  712. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +18 -18
  713. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js +1 -3
  714. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js.map +1 -1
  715. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +18 -18
  716. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js +1 -3
  717. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js.map +1 -1
  718. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +18 -18
  719. package/dist/dist-esm/react-components/src/localization/locales/utils.js +1 -1
  720. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  721. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js +1 -3
  722. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js.map +1 -1
  723. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +18 -18
  724. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js +1 -3
  725. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js.map +1 -1
  726. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +18 -18
  727. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +3 -5
  728. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  729. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +1 -1
  730. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  731. package/dist/dist-esm/react-components/src/theming/generateTheme.js +15 -1
  732. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  733. package/dist/dist-esm/react-components/src/theming/icons.d.ts +29 -0
  734. package/dist/dist-esm/react-components/src/theming/icons.js +144 -17
  735. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  736. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  737. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  738. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  739. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  740. package/dist/dist-esm/react-components/src/theming/themeDuplicates.js.map +1 -1
  741. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  742. package/dist/dist-esm/react-components/src/theming/themes.d.ts +6 -0
  743. package/dist/dist-esm/react-components/src/theming/themes.js +10 -0
  744. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  745. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +1 -7
  746. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  747. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +21 -49
  748. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  749. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  750. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  751. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +27 -1
  752. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  753. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  754. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  755. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  756. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +8 -0
  757. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  758. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  759. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  760. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  761. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  762. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  763. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +6 -0
  764. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +2 -0
  765. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  766. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  768. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +72 -0
  769. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +57 -31
  770. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  771. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +108 -0
  772. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  773. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +76 -10
  774. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +362 -74
  775. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +98 -2
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +7 -1
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +8 -3
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +1 -3
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -1
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +8 -2
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +4 -0
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +2 -0
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +82 -29
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +1 -0
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +65 -52
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +48 -0
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +210 -0
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
  800. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +16 -20
  801. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +2 -0
  803. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +21 -0
  804. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  805. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +20 -2
  806. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  807. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +2 -0
  808. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +21 -0
  809. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  811. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  813. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  814. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  815. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +4 -4
  816. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  817. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +33 -22
  818. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  819. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  820. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +49 -25
  821. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +26 -30
  823. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +76 -45
  825. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  827. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  829. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +10 -32
  831. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +29 -11
  833. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +14 -14
  836. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +60 -39
  837. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  838. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +4 -4
  839. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  840. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  841. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +3 -5
  843. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  844. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +7 -7
  845. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +3 -1
  846. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  847. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +10 -7
  848. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  849. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +23 -13
  850. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  851. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +3 -1
  852. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  853. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  854. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  855. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  856. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  857. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  858. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -1
  859. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +1 -1
  861. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  863. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +12 -8
  865. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  866. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts +1 -1
  867. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +53 -18
  868. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  870. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  872. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +4 -0
  873. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +2 -0
  874. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  875. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +18 -11
  876. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  877. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +7 -0
  878. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +119 -14
  879. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  880. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +5 -13
  881. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +24 -0
  883. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +34 -0
  884. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  885. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +15 -7
  886. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  887. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  888. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  889. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js +2 -2
  890. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js.map +1 -1
  891. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.d.ts +1 -1
  892. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js +4 -3
  893. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js.map +1 -1
  894. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +18 -21
  895. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  896. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +15 -0
  897. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +54 -0
  898. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  899. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  900. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  901. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  902. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +2 -1
  903. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  904. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +14 -2
  905. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +15 -0
  906. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  907. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  908. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  909. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -1
  910. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +1 -4
  911. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  912. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +1 -1
  913. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +1 -1
  914. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -1
  915. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  916. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  917. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -1
  918. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  919. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  920. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  921. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  922. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +1 -1
  923. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +3 -1
  924. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  925. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +1 -1
  926. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +10 -4
  927. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -1
  928. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  929. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  930. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  931. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +3 -3
  932. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +15 -2
  933. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  934. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  935. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  936. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  937. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  938. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  939. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  940. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  941. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  942. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  943. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  944. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  945. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  946. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  947. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  948. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  949. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  950. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +2 -6
  951. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  952. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +41 -29
  953. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  954. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  955. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  956. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -1
  957. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +1 -4
  958. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  959. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  960. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  961. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  962. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +2 -9
  963. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  964. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  965. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +2 -4
  966. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  967. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  968. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  969. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -2
  970. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  971. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +6 -24
  972. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  973. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +2 -2
  974. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  975. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  976. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  977. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +11 -13
  978. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  979. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +11 -10
  980. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  981. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -2
  982. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  983. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +15 -3
  984. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +125 -22
  985. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  986. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  987. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.d.ts +6 -6
  988. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +15 -5
  989. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
  990. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +2 -2
  991. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -1
  992. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  993. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +61 -1
  994. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +93 -23
  995. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  996. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  997. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  998. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +9 -7
  999. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  1000. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +6 -9
  1001. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  1002. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +2 -2
  1003. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  1004. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  1005. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  1006. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +18 -7
  1007. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +117 -40
  1008. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  1009. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +38 -3
  1010. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  1011. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +9 -1
  1012. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +33 -0
  1013. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  1014. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +5 -2
  1015. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +20 -2
  1016. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  1017. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  1018. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  1019. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  1020. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  1021. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  1022. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  1023. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +15 -0
  1024. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +6 -1
  1025. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  1026. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  1027. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +15 -0
  1028. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +21 -0
  1029. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -0
  1030. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  1031. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +10 -2
  1032. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  1033. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  1034. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  1035. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +127 -25
  1036. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  1037. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  1038. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  1039. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  1040. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  1041. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  1042. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +4 -3
  1043. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +63 -36
  1044. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  1045. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +5 -2
  1046. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  1047. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.d.ts +0 -5
  1048. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -29
  1049. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  1050. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +66 -61
  1051. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +33 -44
  1052. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  1053. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +18 -6
  1054. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  1055. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +2 -8
  1056. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  1057. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +1 -3
  1058. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  1059. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +28 -5
  1060. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  1061. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  1062. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +2 -0
  1063. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  1064. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +3 -7
  1065. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  1066. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  1067. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -10
  1068. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  1069. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +25 -0
  1070. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +112 -0
  1071. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  1072. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  1073. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  1074. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  1075. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js.map +1 -1
  1076. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +5 -0
  1077. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +10 -4
  1078. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  1079. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +5 -14
  1080. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  1081. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  1082. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +60 -0
  1083. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  1084. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  1085. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  1086. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  1087. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js +3 -5
  1088. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js.map +1 -1
  1089. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +5 -7
  1090. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  1091. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +12 -16
  1092. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  1093. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  1094. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  1095. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -5
  1096. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  1097. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +1 -0
  1098. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +61 -36
  1099. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  1100. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +39 -37
  1101. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  1102. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +123 -58
  1103. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  1104. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +1 -1
  1105. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  1106. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  1107. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  1108. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  1109. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.d.ts +2 -2
  1110. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +5 -7
  1111. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -1
  1112. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +102 -110
  1113. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  1114. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  1115. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +1 -0
  1116. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  1117. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.d.ts +2 -2
  1118. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js +5 -7
  1119. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -1
  1120. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  1121. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +1 -1
  1122. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -1
  1123. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  1124. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  1125. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +18 -11
  1126. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  1127. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  1128. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  1129. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +15 -15
  1130. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  1131. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +6 -6
  1132. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +35 -8
  1133. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  1134. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +7 -15
  1135. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  1136. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js +2 -1
  1137. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -1
  1138. package/dist/dist-esm/react-composites/src/composites/common/Survey.d.ts +20 -7
  1139. package/dist/dist-esm/react-composites/src/composites/common/Survey.js +19 -34
  1140. package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -1
  1141. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.d.ts +1 -1
  1142. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js +4 -3
  1143. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js.map +1 -1
  1144. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +11 -8
  1145. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  1146. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.d.ts +2 -2
  1147. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +3 -2
  1148. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  1149. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +1 -1
  1150. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +11 -12
  1151. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  1152. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  1153. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  1154. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +40 -1
  1155. package/dist/dist-esm/react-composites/src/composites/common/icons.js +15 -3
  1156. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  1157. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  1158. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  1159. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  1160. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  1161. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +4 -10
  1162. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  1163. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +11 -44
  1164. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  1165. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +6 -29
  1166. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  1167. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +4 -22
  1168. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  1169. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js +15 -13
  1170. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js.map +1 -1
  1171. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +20 -4
  1172. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  1173. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  1174. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  1175. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  1176. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  1177. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  1178. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  1179. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  1180. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  1181. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  1182. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  1183. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  1184. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  1185. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  1186. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  1187. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  1188. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  1189. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  1190. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  1191. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  1192. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  1193. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  1194. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  1195. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  1196. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  1197. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  1198. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js +1 -1
  1199. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  1200. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  1201. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  1202. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  1203. package/package.json +7 -7
  1204. package/dist/dist-esm/react-components/src/components/AttachmentCard.js.map +0 -1
  1205. package/dist/dist-esm/react-components/src/components/AttachmentCardGroup.js.map +0 -1
  1206. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js.map +0 -1
  1207. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js +0 -45
  1208. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js.map +0 -1
  1209. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.d.ts +0 -19
  1210. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js +0 -4
  1211. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js.map +0 -1
  1212. /package/dist/dist-esm/react-components/src/components/{AttachmentCardGroup.d.ts → Attachment/AttachmentCardGroup.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AzureCommunicationCallAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,sDAA6C;AACzF,OAAO,EAAyC,8BAA8B,EAAwH,mDAA0C;AAIhP,OAAO,EAAsE,gBAAgB,IAAI,mBAAmB,EAA2J,MAAM,8BAA8B,CAAC;AAWpT,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAStC,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExG,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,yCAAgC;AACxH,OAAO,EAAoH,8BAA8B,EAAkD,MAAM,6BAA6B,CAAC;AAC/O,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAA0B,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,qCAAqC,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAI7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,4EAA4E;AAC5E,MAAM,WAAW;IAKf,YAAY,WAA4B,EAAE,WAAoB,EAAE,WAAoB,EAAE,OASrF,EAAE,aAAqC;;QAbhC,YAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;QAcjD,IAAI,CAAC,KAAK,GAAG;YACX,+BAA+B,EAAE,KAAK;YACtC,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,WAAW,EAAE,MAAA,WAAW,CAAC,SAAS,0CAAE,WAAW;YAC/C,OAAO,EAAE,WAAW,CAAC,aAAa;YAClC,IAAI,EAAE,SAAS;YACf,aAAa,EAAG,aAA2C;YAC3D,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,WAAW;YACX,WAAW;YACX,qBAAqB,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,0CAAE,qBAAqB;YAC7E,8BAA8B,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,0CAAE,mBAAmB;YACpF,6BAA6B,EAAE,SAAS;YACxC,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;YAC9B,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;SACtC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EAAC,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE;YAC3G,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjB,CAAC;IACO,iBAAiB,KAAU,CAAC;IAC7B,aAAa,CAAC,OAA6C;QAChE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IACM,cAAc,CAAC,OAA6C;QACjE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACM,QAAQ,CAAC,KAAuB;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACM,2BAA2B,CAAC,+BAAwC;QACzE,IAAI,CAAC,QAAQ,iCACR,IAAI,CAAC,KAAK,KACb,+BAA+B,IAC/B,CAAC;IACL,CAAC;IAED,8DAA8D;IACvD,gBAAgB,CAAC,MAA0B;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IACM,eAAe,CAAC,aAAoC;QACzD,IAAI,CAAC,QAAQ,iCACR,IAAI,CAAC,KAAK,KACb,aAAa,IACb,CAAC;IACL,CAAC;IACM,WAAW,CAAC,OAA2D;QAC5E,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IACM,YAAY,CAAC,OAA2D;QAC7E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IACM,iBAAiB,CAAC,WAA4B;;QACnD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,qFAAqF;QACrF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAChC,MAAM,sBAAsB,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,iBAAiB,EAAC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1I,MAAM,YAAY,GAAG,sBAAsB,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3G,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,uDAAuD;YACvD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACjC,4DAA4D;YAC5D,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,iCACR,IAAI,CAAC,KAAK,KACb,MAAM,EAAE,WAAW,CAAC,MAAM,EAC1B,WAAW,EAAE,MAAA,WAAW,CAAC,SAAS,0CAAE,WAAW,EAC/C,IAAI,EACJ,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,WAAW,CAAC,aAAa,EAClC,YAAY,EAAE,WAAW,CAAC,YAAY,EACtC,YAAY,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,OAAO,CAAC,KAAI,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EACnL,yBAAyB,EAAE,YAAY,IACvC,CAAC;QACL,CAAC;IACH,CAAC;IACM,wBAAwB,CAAC,qBAA6C;QAC3E,IAAI,CAAC,QAAQ,iCACR,IAAI,CAAC,KAAK,KACb,qBAAqB,IACrB,CAAC;IACL,CAAC;IACM,gCAAgC,CAAC,6BAAqD;QAC3F,IAAI,CAAC,QAAQ,iCACR,IAAI,CAAC,KAAK,KACb,6BAA6B,IAC7B,CAAC;IACL,CAAC;IACM,uBAAuB,CAAC,IAAgB;QAC7C,IAAI,CAAC,QAAQ,iCACR,IAAI,CAAC,KAAK,KACb,yBAAyB,EAAE,IAAI,IAC/B,CAAC;IACL,CAAC;CACF;AACD,MAAM,mBAAmB,GAAG,CAAC,KAE5B,EAAyB,EAAE;;IAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,EAAE,CAAC;YAC1E,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC,iBAEnC,EAAgC,EAAE;;IACjC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAChE,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,gBAAgB,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAA,MAAA,gBAAgB,CAAC,SAAS,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,sBAAsB,CAAC,SAAS,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,EAAE,CAAC;YACtG,sBAAsB,GAAG,gBAAgB,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AAOF;;GAEG;AACH,MAAM,OAAO,6BAA6B;IAgBxC,IAAY,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAY,IAAI,CAAC,OAA+B;QAC9C,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAGD,YAAY,UAA8B,EAAE,sBAAkE,EAAE,SAAoB,EAAE,aAAoC,EAAE,OAAoE;;QAdxO,2BAAsB,GAAG,IAAI,GAAG,EAAiC,CAAC;QAClE,YAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;QAqjB3C,qBAAgB,GAAG,GAAS,EAAE;;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAClC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM;gBACrC,OAAO,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC;QA5iBA,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,yBAAyB,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAE,sBAAgD,CAAC,CAAC,CAAC,SAAS,CAAC;QAChJ,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC,sBAAsB,CAAC,KAAK,KAAK,CAAC,CAAC,CAAE,sBAA6C,CAAC,CAAC,CAAC,SAAS,CAAC;QACxI,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,6CAA6C,CAAA,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QACxJ,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,IAAI,CAAC,yCAAyC,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,0CAAE,mBAAmB,CAAC;QACtG,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACrF,MAAM,aAAa,GAAG,CAAC,WAA4B,EAAQ,EAAE;;YAC3D,8CAA8C;YAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,6GAA6G;YAC7G,uGAAuG;YACvG,wGAAwG;YACxG,eAAe;YACf,8DAA8D;YAC9D,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,wEAAwE;YACxE,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,WAAW,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChJ,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACtE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE;YAC9E,yCAAyC,EAAE,IAAI,CAAC,yCAAyC;SAC1F,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;QACzC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,cAAc,GAAG,CAAC,IAGvB,EAAQ,EAAE;;gBACT,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,EAAE,CAAC;oBAClB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,IAAI,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAA,CAAA,EAAA,CAAC,CAAC;oBACzE,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;wBAC/E,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;wBACvG,MAAM,UAAU,GAAI,SAAuB,CAAC;wBAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAK,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,CAAA,CAAC,CAAC;wBACvG,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;wBACpC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YACD,IAAI,CAAC,SAAuB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,sGAAsG;IAC9F,4BAA4B;QAClC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACO,iBAAiB;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,qDAAqD;QACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,4CAA4C;QAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,4CAA4C;QAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,4CAA4C;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACM,OAAO;QACZ,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACY,YAAY;;YACvB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBACtD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzE,OAAO,OAAO,CAAC;YACjB,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,gBAAgB;;YAC3B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC7E,OAAO,WAAW,CAAC;YACrB,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,aAAa;;YACxB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChH,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC1E,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,mBAAmB,CAAC,SAAgC;;YAC/D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;YACxF,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACM,QAAQ,CAAC,OAAmC;;QACjD,IAAI,SAAS,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,KAAK,mCAAI,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE;YACtC,qEAAqE;YACrE,IAAI,sBAAsB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC;YACnE,IAAI,0BAA0B,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,+BAA+B,CAAC;YAEjF,2BAA2B;YAC3B,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,mCAAmC;gBACnC,0BAA0B,GAAG,OAAO,CAAC;YACvC,CAAC;iBAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACvC,kBAAkB;gBAClB,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;oBAC5D,0BAA0B,GAAG,OAAO,CAAC,YAAY,CAAC;gBACpD,CAAC;gBACD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACpD,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,MAAM,YAAY,GAAiB;gBACjC,KAAK,EAAE,CAAC,0BAA0B;aACnC,CAAC;YACF,MAAM,cAAc,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAiB,cAAc,IAAI,sBAAsB,CAAC,CAAC,CAAC;gBAC5E,iBAAiB,EAAE,CAAC,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;aAC7D,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IACO,SAAS,CAAC,YAA0B,EAAE,YAA0B;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,6CAA6C;QAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,IAAI,CAAC,OAAmC,EAAE;gBACrE,YAAY;gBACZ,YAAY;aACb,CAA2B,CAAC;QAC/B,CAAC;QAED,6CAA6C;QAC7C,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,IAAI,CAAC,OAAiC,EAAE;gBACnE,YAAY;gBACZ,YAAY;aACb,CAA2B,CAAC;QAC/B,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,IAAI,CAAC,OAA2B,EAAE;gBAC7D,YAAY;gBACZ,YAAY;aACb,CAA2B,CAAC;QAC/B,CAAC;QACD,OAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,IAAI,CAAC,OAA4B,EAAE;YAC9D,YAAY;YACZ,YAAY;SACb,CAA2B,CAAC;IAC/B,CAAC;IACY,gBAAgB,CAAC,YAAqB,EAAE,OAA4B;;YAC/E,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;KAAA;IACY,iBAAiB,CAAC,YAAqB;;YAClD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KAAA;IACY,4BAA4B,CAAC,YAAoB;;YAC5D,MAAM,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,YAAY,CAAC,CAAC;QACzE,CAAC;KAAA;IACY,4BAA4B,CAAC,YAAoB;;YAC5D,MAAM,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC;KAAA;IACY,2BAA2B;;YACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QACjD,CAAC;KAAA;IACY,SAAS,CAAC,WAAqB;;YAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,IAAI,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,yBAAyB,0CAAE,EAAE,CAAA,CAAA,EAAA,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvH,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE,CAAC;YACzB,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE;gBAC7F,yCAAyC,EAAE,IAAI,CAAC,yCAAyC;aAC1F,CAAC,CAAC;YACH,gFAAgF;YAChF,sGAAsG;YACtG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;KAAA;IACY,SAAS,CAAC,MAAuB,EAAE,OAA4B;;YAC1E,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,aAAa,CAAC,MAAuB;;YAChD,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,UAAU,CAAC,MAAuB;;YAC7C,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,WAAW,CAAC,OAA4B;;YACnD,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACjC,wFAAwF;oBACxF,4FAA4F;oBAE5F,CAAC;wBACC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,6BAA6B,CAAC;wBACrE,MAAM,cAAc,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC1E,IAAI,cAAc,IAAI,cAAc,IAAI,IAAI,CAAC,yCAAyC,EAAE,CAAC;4BACvF,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;4BACvD,MAAM,MAAM,GAAG,qCAAqC,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,yCAAyC,EAAE,CAAC,CAAC;4BAC7H,IAAI,MAAM,EAAE,CAAC;gCACX,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;4BACnE,CAAC;iCAAM,CAAC;gCACN,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;4BAC5D,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,UAAU;;YACrB,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACvC,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,IAAI;;YACf,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;;gBACvD,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,SAAS,CAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,CAAC,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAA,EAAE,CAAC;oBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC3C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,MAAM;;YACjB,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;;gBACvD,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,CAAC,IAAI,sBAAsB,CAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAA,EAAE,CAAC;oBACpG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC3C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,gBAAgB;;YAC3B,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;;gBACvD,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,CAAA,EAAE,CAAC;oBAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,eAAe;;YAC1B,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;;gBACvD,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,SAAS;;YACpB,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC1C,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,SAAS;;YACpB,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC1C,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,eAAe,CAAC,QAAkB;;YAC7C,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IACY,0BAA0B,CAAC,qBAA4C;;YAClF,IAAI,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAI,qBAA8C,CAAC;gBACnE,MAAM,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC3D,MAAM,aAAa,GAAI,qBAAqD,CAAC;gBAC7E,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KAAA;IACY,0BAA0B;;YACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE,CAAC;QACvD,CAAC;KAAA;IACM,4BAA4B,CAAC,gBAAwC;QAC1E,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IACM,mCAAmC,CAAC,uBAA8C;QACvF,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,uBAAuB,CAAC,CAAC;IACzE,CAAC;IACM,SAAS,CAAC,YAA4E,EAAE,OAA0B;;QACvH,IAAI,SAAS,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,KAAK,mCAAI,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC;QACzD,MAAM,cAAc,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,wHAAwH;QACxH,MAAM,qBAAqB,GAAqB,cAAc,CAAC,CAAC,CAAC;YAC/D,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;gBACzB,iBAAiB,EAAE,CAAC,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;aAC7D,CAAC,CAAC,CAAC,SAAS;SACd,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,mBAAmB,mCACpB,qBAAqB,GACrB,OAAO,CACX,CAAC;QACF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YAC9C,MAAM,SAAS,GAA4B,0BAA0B,CAAC,WAAW,CAAC,CAAC;YACnF,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,SAAS,EAAE,CAAC;oBAC7C,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAE,QAAgE,CAAC,CAAC;QAChG,MAAM,IAAI,GAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,mBAAmB,CAA2B,CAAC;QACjG,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACO,cAAc,CAAC,IAAgB;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvC,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE;YAC7F,yCAAyC,EAAE,IAAI,CAAC,yCAAyC;SAC1F,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IACO,YAAY,CAAC,MAA6B;QAChD,OAAO,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC;IACtC,CAAC;IACO,mBAAmB,CAAC,MAA6B;QACvD,OAAO,MAAM,CAAC,UAAU,KAAK,aAAa,CAAC;IAC7C,CAAC;IACY,iBAAiB,CAAC,MAAc;;YAC3C,IAAI,WAAW,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;KAAA;IACY,YAAY,CAAC,QAAkB;;YAC1C,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;KAAA;IACY,aAAa,CAAC,OAA8B;;YACvD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;IACY,YAAY;;YACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACjC,CAAC;KAAA;IACY,kBAAkB,CAAC,QAAgB;;YAC9C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;KAAA;IACY,iBAAiB,CAAC,QAAgB;;YAC7C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IACD,qDAAqD;IACxC,YAAY,CAAC,MAAkB;;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;KAAA;IAED,4CAA4C;IAC/B,cAAc,CAAC,OAAkB;;YAC5C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;KAAA;IAED,4CAA4C;IAC/B,aAAa,CAAC,OAAkB;;YAC3C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;IAED,4CAA4C;IAC/B,gBAAgB;;YAC3B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACrC,CAAC;KAAA;IACM,QAAQ;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IACM,aAAa,CAAC,OAA0C;QAC7D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACM,cAAc,CAAC,OAA0C;QAC9D,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAuBD,8DAA8D;IACvD,EAAE,CAAC,KAAa,EAAE,QAA0B;QACjD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACO,wBAAwB;;QAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;gBACxC,MAAM,eAAe,GAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAA0B,CAAC;gBAC1F,eAAe,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9E,eAAe,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrF,eAAe,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvF,eAAe,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC,CAAA,CAAC;QACX,CAAC;IACH,CAAC;IACO,4BAA4B;;QAClC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;gBACxC,MAAM,eAAe,GAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAA0B,CAAC;gBAC1F,eAAe,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/E,eAAe,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtF,eAAe,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxF,eAAe,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC,CAAA,CAAC;YACT,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACO,mBAAmB;;QACzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,sBAAsB,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7H,CAAC;QACD,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzG,4CAA4C;QAC5C,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,CAAC;IACO,qBAAqB;;QAC3B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9D,UAAU,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;QACpC,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAOO,2BAA2B,CAAC,EAClC,KAAK,EACL,OAAO,EAIR;QACC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBACtC,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACpC,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC1B,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/I,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,UAAU,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;YAC1C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,6BAA6B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACL,CAAC;IACO,wBAAwB;;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE;YACrD,iBAAiB,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB;SAChD,CAAC,CAAC;IACL,CAAC;IACO,qBAAqB,CAAC,YAA+B;QAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACpC,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IACO,uBAAuB;;QAC7B,MAAM,eAAe,GAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAA0B,CAAC;QAC1F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC3C,QAAQ,EAAE,eAAe,CAAC,uBAAuB;SAClD,CAAC,CAAC;IACL,CAAC;IACO,uBAAuB;;QAC7B,MAAM,eAAe,GAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAA0B,CAAC;QAC1F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC3C,oBAAoB,EAAE,eAAe,CAAC,oBAAoB;SAC3D,CAAC,CAAC;IACL,CAAC;IACO,wBAAwB;;QAC9B,MAAM,eAAe,GAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAA0B,CAAC;QAC1F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC5C,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;SAC7D,CAAC,CAAC;IACL,CAAC;IACO,gBAAgB,CAAC,IAAuB;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACO,mBAAmB,CAAC,IAA4B;;QACtD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,0CAAE,SAAS,MAAK,KAAK,EAAE,CAAC;YACnD,6GAA6G;YAC7G,6BAA6B;YAC7B,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,WAAW,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,YAAY,EAAE,CAAC;gBAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,0CAAE,SAAS,MAAK,KAAK,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,0CAAE,SAAS,MAAK,KAAK,EAAE,CAAC;YACnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IACO,WAAW;;QACjB,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,UAAU,EAAE,CAAC;YACnC,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,4CAA4C;IACpC,gBAAgB,CAAC,IAGxB;QACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACO,aAAa;;QACnB,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,KAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE;YAClD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;SACrB,CAAC,CAAC;IACL,CAAC;IACO,yBAAyB,CAAC,OAAoB;QACpD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAuBD,8DAA8D;IACvD,GAAG,CAAC,KAAa,EAAE,QAA0B;QAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IACa,2BAA2B,CAAI,CAAmB;;YAC9D,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,WAAW,CAAE,KAAe,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAG,KAAsB,CAAC,CAAC;gBACtD,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IACO,sBAAsB,CAAI,CAAU;QAC1C,IAAI,CAAC;YACH,OAAO,CAAC,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAE,KAAe,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAG,KAAsB,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA6HD;;GAEG;AACH;;;;;;;;GAQG;AACH,MAAM,UAAgB,mCAAmC,CAAC,IAAmF;;QAC3I,IAAI,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;QACtI,CAAC;QACD,OAAO,yCAAyC,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAG,IAA0C,CAAC,OAAO;YAC5D,aAAa,EAAG,IAAkD,CAAC,aAAa;YAChF,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,KAgBhC,EAAE,4CAhBqC,EAC9D,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,EACP,aAAa,EACb,OAAO,EACP,2BAA2B,GAAG,MAAM,EASrC;IACC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,UAAU,GAAG,8BAA8B,CAAC;QAChD,MAAM;KACP,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,UAAU,EAAE;QAC7D,WAAW;KACZ,CAAC,CAAC;IACH,IAAI,OAAO,CAAC;IACZ,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,GAAG,6CAA6C,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnG,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,6CAA6C,CAAC,UAAU,EAAE,SAAS,EAAG,aAAuC,EAAE,OAAO,CAAC,CAAC;IACpI,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAaF;;GAEG;AACH,SAAS,uCAAuC,CAA6F,IAAiE,EAAE,cAA4B,oBAAoC,EAAE,WAAoD,EAAE,aAAmD;IACzX,MAAM,EACJ,UAAU,EACV,MAAM,EACP,GAAG,IAAI,CAAC;IACT,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,aAAa,GAAG,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,WAAW,GAAG,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,sFAAsF;IACtF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAsB,SAAS,CAAC,CAAC;IACvE,2EAA2E;IAC3E,MAAM,UAAU,GAAG,MAAM,CAAsB,SAAS,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,MAAM,CAAuD,SAAS,CAAC,CAAC;IAC/F,MAAM,gBAAgB,GAAG,MAAM,CAAoD,SAAS,CAAC,CAAC;IAC9F,qEAAqE;IACrE,8CAA8C;IAC9C,2EAA2E;IAC3E,+EAA+E;IAC/E,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QACD,IAAI,WAAW,KAAK,oBAAoB,IAAI,CAAC,WAAW,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QACD,CAAC,GAAS,EAAE;YACV,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,qDAAqD;gBACrD,EAAE;gBACF,yGAAyG;gBACzG,oGAAoG;gBACpG,YAAY;gBACZ,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAC7B,MAAM,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACrD,CAAC;gBACD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7B,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;YACjC,CAAC;YACD,IAAI,UAAU,GAAwB,SAAS,CAAC;YAChD,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;gBACzC,qEAAqE;gBACrE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,kKAAkK,CAAC,CAAC;oBACjL,OAAO;gBACT,CAAC;gBACD,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,UAAU,IAAI,MAAM,mCAAmC,CAAC;wBACtD,UAAU;wBACV,WAAW,EAAE,WAAW;wBACxB,OAAO;wBACP,MAAM,EAAG,MAAsC;wBAC/C,OAAO;qBACR,CAAa,CAAA,CAAC;gBACjB,CAAC;qBAAM,IAAI,aAAa,EAAE,CAAC;oBACzB,UAAU,IAAI,MAAM,mCAAmC,CAAC;wBACtD,UAAU;wBACV,WAAW,EAAE,WAAW;wBACxB,aAAa;wBACb,MAAM,EAAG,MAAsC;wBAC/C,OAAO;qBACR,CAAa,CAAA,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBACnC,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBACD,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC3B,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC;YACD,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC;YAChC,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC,CAAA,CAAC,EAAE,CAAC;IACP,CAAC;IACD,0FAA0F;IAC1F,CAAC,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAE/H,4DAA4D;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,CAAC,GAAS,EAAE;gBACV,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;wBAC7B,MAAM,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACrD,CAAC;oBACD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC7B,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC,CAAA,CAAC,EAAE,CAAC;QACP,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,IAA4F,EAAE,WAA4D,EAAE,aAAuD,EAA2B,EAAE;IAC/R,OAAO,uCAAuC,CAAC,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AACzG,CAAC,CAAC;AAmBF;;;;;;;GAOG;AACH,MAAM,UAAgB,6CAA6C,CAAC,UAA8B,EAAE,SAAoB,EAAE,sBAAkE,EAAE,OAA8C;;QAC1O,MAAM,aAAa,GAAI,MAAM,UAAU,CAAC,gBAAgB,EAA4B,CAAC;QACrF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,aAAa,CAAC,2BAA2B,EAAE,CAAC;YAC9C,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,yBAAyB,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,6BAA6B,CAAC,UAAU,EAAG,sBAAgD,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAC7I,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,6BAA6B,CAAC,UAAU,EAAG,sBAA6C,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1I,CAAC;IACH,CAAC;CAAA;AACD,MAAM,WAAW,GAAG,CAAC,CAAQ,EAAkB,EAAE;IAC/C,OAAO,QAAQ,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { compositeLogger } from '../../../Logger';\nimport { _isInCall, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallClientState, CallError, CallState, _createStatefulCallClientInner, StatefulCallClient, StatefulDeviceManager, TeamsCall, TeamsCallAgent as BetaTeamsCallAgent, _isACSCall, _isTeamsCall } from '@internal/calling-stateful-client';\nimport { AcceptedTransfer } from '@internal/calling-stateful-client';\nimport { CallCommon } from '@internal/calling-stateful-client';\nimport { _TelemetryImplementationHint } from '@internal/acs-ui-common';\nimport { AudioOptions, CallAgent, GroupCallLocator, TeamsMeetingLinkLocator, LocalVideoStream as SDKLocalVideoStream, AudioDeviceInfo, VideoDeviceInfo, RemoteParticipant, PermissionConstraints, PropertyChangedEvent, RoomCallLocator, StartCallOptions, VideoOptions, Call } from '@azure/communication-calling';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(meeting-id) */\nimport { TeamsMeetingIdLocator } from '@azure/communication-calling';\nimport { Reaction } from '@azure/communication-calling';\nimport { TeamsCaptions } from '@azure/communication-calling';\nimport { TransferEventArgs } from '@azure/communication-calling';\nimport { StartCaptionsOptions, TeamsCaptionsInfo } from '@azure/communication-calling';\nimport type { BackgroundBlurConfig, BackgroundReplacementConfig } from '@azure/communication-calling';\nimport type { CapabilitiesChangeInfo } from '@azure/communication-calling';\nimport { Features } from '@azure/communication-calling';\nimport { DtmfTone } from '@azure/communication-calling';\nimport { EventEmitter } from 'events';\nimport { CommonCallAdapter, CallEndedListener, CallIdChangedListener, CallAdapterState, DisplayNameChangedListener, IsMutedChangedListener, IsLocalScreenSharingActiveChangedListener, IsSpeakingChangedListener, ParticipantsJoinedListener, ParticipantsLeftListener, DiagnosticChangedEventListner, CallAdapterCallEndedEvent, CallAdapter, JoinCallOptions, StartCallIdentifier } from './CallAdapter';\nimport { ReactionResources } from '@internal/react-components';\nimport { TransferAcceptedListener } from './CallAdapter';\nimport { CapabilitiesChangedListener } from './CallAdapter';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightChangedListener } from './CallAdapter';\nimport { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './CallAdapter';\nimport { VideoBackgroundImage, VideoBackgroundEffect, VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from './CallAdapter';\nimport { getCallCompositePage, getLocatorOrTargetCallees, IsCallEndedPage, isCameraOn } from '../utils';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { toFlatCommunicationIdentifier, _toCommunicationIdentifier, _isValidIdentifier } from '@internal/acs-ui-common';\nimport { CommunicationTokenCredential, CommunicationUserIdentifier, CommunicationIdentifier, MicrosoftTeamsUserIdentifier, isMicrosoftTeamsUserIdentifier, MicrosoftTeamsAppIdentifier, UnknownIdentifier } from '@azure/communication-common';\nimport { ParticipantSubscriber } from './ParticipantSubcriber';\nimport { AdapterError } from '../../common/adapters';\nimport { DiagnosticsForwarder } from './DiagnosticsForwarder';\nimport { useEffect, useRef, useState } from 'react';\nimport { CallHandlersOf, createHandlers } from './createHandlers';\nimport { createProfileStateModifier, OnFetchProfileCallback } from './OnFetchProfileCallback';\nimport { getBackgroundEffectFromSelectedEffect } from '../utils';\nimport { getSelectedCameraFromAdapterState } from '../utils';\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\nimport { CallingSoundSubscriber } from './CallingSoundSubscriber';\nimport { CallingSounds } from './CallAdapter';\ntype CallTypeOf<AgentType extends CallAgent | BetaTeamsCallAgent> = AgentType extends CallAgent ? Call : TeamsCall;\n\n/** Context of call, which is a centralized context for all state updates */\nclass CallContext {\n private emitter: EventEmitter = new EventEmitter();\n private state: CallAdapterState;\n private callId: string | undefined;\n private displayNameModifier: AdapterStateModifier | undefined;\n constructor(clientState: CallClientState, isTeamsCall: boolean, isRoomsCall: boolean, options?: {\n maxListeners?: number;\n onFetchProfile?: OnFetchProfileCallback;\n videoBackgroundOptions?: {\n videoBackgroundImages?: VideoBackgroundImage[];\n onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n };\n callingSounds?: CallingSounds;\n reactionResources?: ReactionResources;\n }, targetCallees?: StartCallIdentifier[]) {\n this.state = {\n isLocalPreviewMicrophoneEnabled: false,\n userId: clientState.userId,\n displayName: clientState.callAgent?.displayName,\n devices: clientState.deviceManager,\n call: undefined,\n targetCallees: (targetCallees as CommunicationIdentifier[]),\n page: 'configuration',\n latestErrors: clientState.latestErrors,\n isTeamsCall,\n isRoomsCall,\n videoBackgroundImages: options?.videoBackgroundOptions?.videoBackgroundImages,\n onResolveVideoEffectDependency: options?.videoBackgroundOptions?.onResolveDependency,\n selectedVideoBackgroundEffect: undefined,\n cameraStatus: undefined,\n sounds: options?.callingSounds,\n reactions: options?.reactionResources\n };\n this.emitter.setMaxListeners(options?.maxListeners ?? 50);\n this.bindPublicMethods();\n this.displayNameModifier = options?.onFetchProfile ? createProfileStateModifier(options.onFetchProfile, () => {\n this.setState(this.getState());\n }) : undefined;\n }\n private bindPublicMethods(): void {}\n public onStateChange(handler: (_uiState: CallAdapterState) => void): void {\n this.emitter.on('stateChanged', handler);\n }\n public offStateChange(handler: (_uiState: CallAdapterState) => void): void {\n this.emitter.off('stateChanged', handler);\n }\n public setState(state: CallAdapterState): void {\n this.state = this.displayNameModifier ? this.displayNameModifier(state) : state;\n this.emitter.emit('stateChanged', this.state);\n }\n public getState(): CallAdapterState {\n return this.state;\n }\n public setIsLocalMicrophoneEnabled(isLocalPreviewMicrophoneEnabled: boolean): void {\n this.setState({\n ...this.state,\n isLocalPreviewMicrophoneEnabled\n });\n }\n\n // This is the key to find current call object in client state\n public setCurrentCallId(callId: string | undefined): void {\n this.callId = callId;\n }\n public setTargetCallee(targetCallees: StartCallIdentifier[]): void {\n this.setState({\n ...this.state,\n targetCallees\n });\n }\n public onCallEnded(handler: (callEndedData: CallAdapterCallEndedEvent) => void): void {\n this.emitter.on('callEnded', handler);\n }\n public offCallEnded(handler: (callEndedData: CallAdapterCallEndedEvent) => void): void {\n this.emitter.off('callEnded', handler);\n }\n public updateClientState(clientState: CallClientState): void {\n let call = this.callId ? clientState.calls[this.callId] : undefined;\n const latestEndedCall = clientState.callsEnded ? findLatestEndedCall(clientState.callsEnded) : undefined;\n // As the state is transitioning to a new state, trigger appropriate callback events.\n const oldPage = this.state.page;\n const latestAcceptedTransfer = call?.transfer.acceptedTransfers ? findLatestAcceptedTransfer(call.transfer.acceptedTransfers) : undefined;\n const transferCall = latestAcceptedTransfer ? clientState.calls[latestAcceptedTransfer.callId] : undefined;\n const newPage = getCallCompositePage(call, latestEndedCall, transferCall);\n if (!IsCallEndedPage(oldPage) && IsCallEndedPage(newPage)) {\n this.emitter.emit('callEnded', {\n callId: this.callId\n });\n // Reset the callId to undefined as the call has ended.\n this.setCurrentCallId(undefined);\n // Make sure that the call is set to undefined in the state.\n call = undefined;\n }\n if (this.state.page) {\n this.setState({\n ...this.state,\n userId: clientState.userId,\n displayName: clientState.callAgent?.displayName,\n call,\n page: newPage,\n endedCall: latestEndedCall,\n devices: clientState.deviceManager,\n latestErrors: clientState.latestErrors,\n cameraStatus: call?.localVideoStreams.find(s => s.mediaStreamType === 'Video') || clientState.deviceManager.unparentedViews.find(s => s.mediaStreamType === 'Video') ? 'On' : 'Off',\n acceptedTransferCallState: transferCall\n });\n }\n }\n public setBackroundPickerImages(videoBackgroundImages: VideoBackgroundImage[]): void {\n this.setState({\n ...this.state,\n videoBackgroundImages\n });\n }\n public setSelectedVideoBackgroundEffect(selectedVideoBackgroundEffect?: VideoBackgroundEffect): void {\n this.setState({\n ...this.state,\n selectedVideoBackgroundEffect\n });\n }\n public setAcceptedTransferCall(call?: CallState): void {\n this.setState({\n ...this.state,\n acceptedTransferCallState: call\n });\n }\n}\nconst findLatestEndedCall = (calls: {\n [key: string]: CallState;\n}): CallState | undefined => {\n const callStates = Object.values(calls);\n if (callStates.length === 0) {\n return undefined;\n }\n let latestCall = callStates[0];\n for (const call of callStates.slice(1)) {\n if ((call.endTime?.getTime() ?? 0) > (latestCall.endTime?.getTime() ?? 0)) {\n latestCall = call;\n }\n }\n return latestCall;\n};\nconst findLatestAcceptedTransfer = (acceptedTransfers: {\n [key: string]: AcceptedTransfer;\n}): AcceptedTransfer | undefined => {\n const acceptedTransferValues = Object.values(acceptedTransfers);\n if (acceptedTransferValues.length === 0) {\n return undefined;\n }\n let latestAcceptedTransfer = acceptedTransferValues[0];\n for (const acceptedTransfer of acceptedTransferValues.slice(1)) {\n if ((acceptedTransfer.timestamp?.getTime() ?? 0) > (latestAcceptedTransfer.timestamp?.getTime() ?? 0)) {\n latestAcceptedTransfer = acceptedTransfer;\n }\n }\n return latestAcceptedTransfer;\n};\n\n/**\n * @private\n */\nexport type AdapterStateModifier = (state: CallAdapterState) => CallAdapterState;\n\n/**\n * @private\n */\nexport class AzureCommunicationCallAdapter<AgentType extends CallAgent | BetaTeamsCallAgent = CallAgent> implements CommonCallAdapter {\n private callClient: StatefulCallClient;\n private callAgent: AgentType;\n private deviceManager: StatefulDeviceManager;\n private locator?: CallAdapterLocator;\n targetCallees?: StartCallIdentifier[];\n // Never use directly, even internally. Use `call` property instead.\n private _call?: CallCommon;\n private context: CallContext;\n private diagnosticsForwarder?: DiagnosticsForwarder;\n private handlers: CallHandlersOf<AgentType>;\n private participantSubscribers = new Map<string, ParticipantSubscriber>();\n private emitter: EventEmitter = new EventEmitter();\n private callingSoundSubscriber: CallingSoundSubscriber | undefined;\n private onClientStateChange: (clientState: CallClientState) => void;\n private onResolveVideoBackgroundEffectsDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n private get call(): CallCommon | undefined {\n return this._call;\n }\n private set call(newCall: CallCommon | undefined) {\n this.resetDiagnosticsForwarder(newCall);\n this._call = newCall;\n }\n constructor(callClient: StatefulCallClient, locator: CallAdapterLocator, callAgent: AgentType, deviceManager: StatefulDeviceManager, options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions);\n constructor(callClient: StatefulCallClient, targetCallees: StartCallIdentifier[], callAgent: AgentType, deviceManager: StatefulDeviceManager, options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions);\n constructor(callClient: StatefulCallClient, locatorOrTargetCalless: CallAdapterLocator | StartCallIdentifier[], callAgent: AgentType, deviceManager: StatefulDeviceManager, options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions) {\n this.bindPublicMethods();\n this.callClient = callClient;\n this.callAgent = callAgent;\n this.targetCallees = getLocatorOrTargetCallees(locatorOrTargetCalless) === true ? (locatorOrTargetCalless as StartCallIdentifier[]) : undefined;\n this.locator = getLocatorOrTargetCallees(locatorOrTargetCalless) === false ? (locatorOrTargetCalless as CallAdapterLocator) : undefined;\n this.deviceManager = deviceManager;\n const isTeamsMeeting = this.locator ? 'meetingLink' in this.locator || /* @conditional-compile-remove(meeting-id) */'meetingId' in this.locator : false;\n const isRoomsCall = this.locator ? 'roomId' in this.locator : false;\n this.onResolveVideoBackgroundEffectsDependency = options?.videoBackgroundOptions?.onResolveDependency;\n this.context = new CallContext(callClient.getState(), isTeamsMeeting, isRoomsCall, options, this.targetCallees);\n this.context.onCallEnded(endCallData => this.emitter.emit('callEnded', endCallData));\n const onStateChange = (clientState: CallClientState): void => {\n // unsubscribe when the instance gets disposed\n if (!this) {\n callClient.offStateChange(onStateChange);\n return;\n }\n\n // `updateClientState` searches for the current call from all the calls in the state using a cached `call.id`\n // from the call object. `call.id` can change during a call. We must update the cached `call.id` before\n // calling `updateClientState` so that we find the correct state object for the call even when `call.id`\n // has changed.\n // https://github.com/Azure/communication-ui-library/pull/1820\n if (this.call?.id) {\n this.context.setCurrentCallId(this.call.id);\n }\n\n // If the call connects we need to clean up any previous unparentedViews\n if ((this.call?.state === 'InLobby' || this.call?.state === 'Connected') && this.callClient.getState().deviceManager.unparentedViews.length > 0) {\n this.callClient.getState().deviceManager.unparentedViews.forEach(view => {\n this.callClient.disposeView(undefined, undefined, view);\n });\n }\n this.context.updateClientState(clientState);\n };\n this.handlers = createHandlers(callClient, callAgent, deviceManager, undefined, {\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n });\n this.onClientStateChange = onStateChange;\n this.subscribeDeviceManagerEvents();\n this.callClient.onStateChange(onStateChange);\n if (this.callAgent.kind === 'CallAgent') {\n const onCallsUpdated = (args: {\n added: Call[];\n removed: Call[];\n }): void => {\n if (this.call?.id) {\n const removedCall = args.removed.find(call => call.id === this.call?.id);\n if (removedCall) {\n const removedCallState = this.callClient.getState().callsEnded[removedCall.id];\n const latestAcceptedTransfer = findLatestAcceptedTransfer(removedCallState.transfer.acceptedTransfers);\n const _callAgent = (callAgent as CallAgent);\n const transferCall = _callAgent.calls.find((call: Call) => call.id === latestAcceptedTransfer?.callId);\n if (transferCall) {\n this.processNewCall(transferCall);\n }\n }\n }\n };\n (this.callAgent as CallAgent).on('callsUpdated', onCallsUpdated);\n }\n }\n\n // TODO: update this to include the 'selectedCameraChanged' when calling adds it to the device manager\n private subscribeDeviceManagerEvents(): void {\n this.deviceManager.on('selectedMicrophoneChanged', () => {\n this.emitter.emit('selectedMicrophoneChanged');\n });\n this.deviceManager.on('selectedSpeakerChanged', () => {\n this.emitter.emit('selectedSpeakerChanged');\n });\n }\n private bindPublicMethods(): void {\n this.onStateChange.bind(this);\n this.offStateChange.bind(this);\n this.getState.bind(this);\n this.dispose.bind(this);\n this.joinCall.bind(this);\n this.leaveCall.bind(this);\n this.setCamera.bind(this);\n this.setMicrophone.bind(this);\n this.setSpeaker.bind(this);\n this.askDevicePermission.bind(this);\n this.queryCameras.bind(this);\n this.queryMicrophones.bind(this);\n this.querySpeakers.bind(this);\n this.startCamera.bind(this);\n this.stopCamera.bind(this);\n this.mute.bind(this);\n this.unmute.bind(this);\n this.startCall.bind(this);\n this.startScreenShare.bind(this);\n this.stopScreenShare.bind(this);\n this.raiseHand.bind(this);\n this.onReactionClick.bind(this);\n this.lowerHand.bind(this);\n this.removeParticipant.bind(this);\n this.createStreamView.bind(this);\n this.disposeStreamView.bind(this);\n this.disposeScreenShareStreamView.bind(this);\n this.disposeRemoteVideoStreamView.bind(this);\n this.disposeLocalVideoStreamView.bind(this);\n this.on.bind(this);\n this.off.bind(this);\n this.processNewCall.bind(this);\n this.sendDtmfTone.bind(this);\n this.startCaptions.bind(this);\n this.stopCaptions.bind(this);\n this.setSpokenLanguage.bind(this);\n this.setCaptionLanguage.bind(this);\n this.startVideoBackgroundEffect.bind(this);\n this.stopVideoBackgroundEffects.bind(this);\n this.updateBackgroundPickerImages.bind(this);\n /* @conditional-compile-remove(end-of-call-survey) */\n this.submitSurvey.bind(this);\n /* @conditional-compile-remove(spotlight) */\n this.startSpotlight.bind(this);\n /* @conditional-compile-remove(spotlight) */\n this.stopSpotlight.bind(this);\n /* @conditional-compile-remove(spotlight) */\n this.stopAllSpotlight.bind(this);\n }\n public dispose(): void {\n this.resetDiagnosticsForwarder();\n this.callClient.offStateChange(this.onClientStateChange);\n this.callAgent.dispose();\n }\n public async queryCameras(): Promise<VideoDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const cameras = await this.deviceManager.getCameras();\n const endTime = new Date().getTime();\n compositeLogger.info('time to query cameras', endTime - startTime, 'ms');\n return cameras;\n });\n }\n public async queryMicrophones(): Promise<AudioDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const microphones = await this.deviceManager.getMicrophones();\n const endTime = new Date().getTime();\n compositeLogger.info('time to query microphones', endTime - startTime, 'ms');\n return microphones;\n });\n }\n public async querySpeakers(): Promise<AudioDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const speakers = (await this.deviceManager.isSpeakerSelectionAvailable) ? this.deviceManager.getSpeakers() : [];\n const endTime = new Date().getTime();\n compositeLogger.info('time to query speakers', endTime - startTime, 'ms');\n return speakers;\n });\n }\n public async askDevicePermission(constrain: PermissionConstraints): Promise<void> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.deviceManager.askDevicePermission(constrain);\n const endTime = new Date().getTime();\n compositeLogger.info('time to query askDevicePermissions', endTime - startTime, 'ms');\n });\n }\n public joinCall(options?: boolean | JoinCallOptions): CallTypeOf<AgentType> | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call!');\n } else if (this.locator === undefined) {\n throw new Error('Locator is not defined!');\n }\n return this.teeErrorToEventEmitter(() => {\n // Default to keeping camera/mic on if no override argument specified\n let shouldCameraBeOnInCall = this.getState().cameraStatus === 'On';\n let shouldMicrophoneBeOnInCall = this.getState().isLocalPreviewMicrophoneEnabled;\n\n // Apply override arguments\n if (typeof options === 'boolean') {\n // Deprecated joinCall API (boolen)\n shouldMicrophoneBeOnInCall = options;\n } else if (typeof options === 'object') {\n // Options bag API\n if (options.microphoneOn && options.microphoneOn !== 'keep') {\n shouldMicrophoneBeOnInCall = options.microphoneOn;\n }\n if (options.cameraOn && options.cameraOn !== 'keep') {\n shouldCameraBeOnInCall = options.cameraOn;\n }\n }\n const audioOptions: AudioOptions = {\n muted: !shouldMicrophoneBeOnInCall\n };\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n const videoOptions: VideoOptions = selectedCamera && shouldCameraBeOnInCall ? {\n localVideoStreams: [new SDKLocalVideoStream(selectedCamera)]\n } : {};\n const call = this._joinCall(audioOptions, videoOptions);\n this.processNewCall(call);\n return call;\n });\n }\n private _joinCall(audioOptions: AudioOptions, videoOptions: VideoOptions): CallTypeOf<AgentType> {\n const isTeamsMeeting = this.locator ? 'meetingLink' in this.locator : false;\n /* @conditional-compile-remove(meeting-id) */\n const isTeamsMeetingId = this.locator ? 'meetingId' in this.locator : false;\n const isRoomsCall = this.locator ? 'roomId' in this.locator : false;\n if (isTeamsMeeting) {\n return (this.callAgent.join((this.locator as TeamsMeetingLinkLocator), {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>);\n }\n\n /* @conditional-compile-remove(meeting-id) */\n if (isTeamsMeetingId) {\n return (this.callAgent.join((this.locator as TeamsMeetingIdLocator), {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>);\n }\n if (isRoomsCall) {\n return (this.callAgent.join((this.locator as RoomCallLocator), {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>);\n }\n return (this.callAgent.join((this.locator as GroupCallLocator), {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>);\n }\n public async createStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void | CreateVideoStreamViewResult> {\n if (remoteUserId === undefined) {\n return await this.handlers.onCreateLocalStreamView(options);\n } else {\n return await this.handlers.onCreateRemoteStreamView(remoteUserId, options);\n }\n }\n public async disposeStreamView(remoteUserId?: string): Promise<void> {\n if (remoteUserId === undefined) {\n await this.handlers.onDisposeLocalStreamView();\n } else {\n await this.handlers.onDisposeRemoteStreamView(remoteUserId);\n }\n }\n public async disposeScreenShareStreamView(remoteUserId: string): Promise<void> {\n await this.handlers.onDisposeRemoteScreenShareStreamView(remoteUserId);\n }\n public async disposeRemoteVideoStreamView(remoteUserId: string): Promise<void> {\n await this.handlers.onDisposeRemoteVideoStreamView(remoteUserId);\n }\n public async disposeLocalVideoStreamView(): Promise<void> {\n await this.handlers.onDisposeLocalStreamView();\n }\n public async leaveCall(forEveryone?: boolean): Promise<void> {\n if (this.getState().page === 'transferring') {\n const transferCall = this.callAgent.calls.filter(call => call.id === this.getState().acceptedTransferCallState?.id)[0];\n transferCall?.hangUp();\n }\n await this.handlers.onHangUp(forEveryone);\n this.unsubscribeCallEvents();\n this.handlers = createHandlers(this.callClient, this.callAgent, this.deviceManager, this.call, {\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n });\n // We set the adapter.call object to undefined immediately when a call is ended.\n // We do not set the context.callId to undefined because it is a part of the immutable data flow loop.\n this.call = undefined;\n this.stopCamera();\n this.mute();\n }\n public async setCamera(device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectCamera(device, options);\n });\n }\n public async setMicrophone(device: AudioDeviceInfo): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectMicrophone(device);\n });\n }\n public async setSpeaker(device: AudioDeviceInfo): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectSpeaker(device);\n });\n }\n public async startCamera(options?: VideoStreamOptions): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (!isCameraOn(this.getState())) {\n // First kick off the effect on the local device before starting the camera in the call.\n // This prevents the effect not being applied for a brief moment when the camera is started.\n\n {\n const selectedEffect = this.getState().selectedVideoBackgroundEffect;\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n if (selectedEffect && selectedCamera && this.onResolveVideoBackgroundEffectsDependency) {\n const stream = new SDKLocalVideoStream(selectedCamera);\n const effect = getBackgroundEffectFromSelectedEffect(selectedEffect, await this.onResolveVideoBackgroundEffectsDependency());\n if (effect) {\n await stream.feature(Features.VideoEffects).startEffects(effect);\n } else {\n await stream.feature(Features.VideoEffects).stopEffects();\n }\n }\n }\n await this.handlers.onToggleCamera(options);\n }\n });\n }\n public async stopCamera(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (isCameraOn(this.getState())) {\n await this.handlers.onToggleCamera();\n }\n });\n }\n public async mute(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n this.context.setIsLocalMicrophoneEnabled(false);\n if (_isInCall(this.call?.state) && !this.call?.isMuted) {\n await this.handlers.onToggleMicrophone();\n }\n });\n }\n public async unmute(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n this.context.setIsLocalMicrophoneEnabled(true);\n if ((_isInCall(this.call?.state) || _isInLobbyOrConnecting(this.call?.state)) && this.call?.isMuted) {\n await this.handlers.onToggleMicrophone();\n }\n });\n }\n public async startScreenShare(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (!this.call?.isScreenSharingOn) {\n await this.handlers.onToggleScreenShare();\n }\n });\n }\n public async stopScreenShare(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (this.call?.isScreenSharingOn) {\n await this.handlers.onToggleScreenShare();\n }\n });\n }\n public async raiseHand(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onToggleRaiseHand();\n });\n }\n public async lowerHand(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onToggleRaiseHand();\n });\n }\n public async onReactionClick(reaction: Reaction): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onReactionClick(reaction);\n });\n }\n public async startVideoBackgroundEffect(videoBackgroundEffect: VideoBackgroundEffect): Promise<void> {\n if (this.isBlurEffect(videoBackgroundEffect)) {\n const blurConfig = (videoBackgroundEffect as BackgroundBlurConfig);\n await this.handlers.onBlurVideoBackground(blurConfig);\n } else if (this.isReplacementEffect(videoBackgroundEffect)) {\n const replaceConfig = (videoBackgroundEffect as BackgroundReplacementConfig);\n await this.handlers.onReplaceVideoBackground(replaceConfig);\n }\n }\n public async stopVideoBackgroundEffects(): Promise<void> {\n await this.handlers.onRemoveVideoBackgroundEffects();\n }\n public updateBackgroundPickerImages(backgroundImages: VideoBackgroundImage[]): void {\n this.context.setBackroundPickerImages(backgroundImages);\n }\n public updateSelectedVideoBackgroundEffect(selectedVideoBackground: VideoBackgroundEffect): void {\n this.context.setSelectedVideoBackgroundEffect(selectedVideoBackground);\n }\n public startCall(participants: string[] | (MicrosoftTeamsAppIdentifier | UnknownIdentifier)[], options?: StartCallOptions): CallTypeOf<AgentType> | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call.');\n }\n const isCameraOn = this.getState().cameraStatus === 'On';\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n /* we only configure the video options here since the Calling SDK always unmutes the participant when starting a call */\n const startCallVideoOptions: StartCallOptions = selectedCamera ? {\n videoOptions: isCameraOn ? {\n localVideoStreams: [new SDKLocalVideoStream(selectedCamera)]\n } : undefined\n } : {};\n const combinedCallOptions = {\n ...startCallVideoOptions,\n ...options\n };\n const idsToAdd = participants.map(participant => {\n const backendId: CommunicationIdentifier = _toCommunicationIdentifier(participant);\n if ('phoneNumber' in backendId) {\n if (options?.alternateCallerId === undefined) {\n throw new Error('Unable to start call, PSTN user present with no alternateCallerId.');\n }\n }\n return backendId;\n });\n this.context.setTargetCallee((idsToAdd as (MicrosoftTeamsAppIdentifier | UnknownIdentifier)[]));\n const call = (this.handlers.onStartCall(idsToAdd, combinedCallOptions) as CallTypeOf<AgentType>);\n if (!call) {\n throw new Error('Unable to start call.');\n }\n this.processNewCall(call);\n return call;\n }\n private processNewCall(call: CallCommon): void {\n this.call = call;\n this.context.setCurrentCallId(call.id);\n\n // Resync state after callId is set\n this.context.updateClientState(this.callClient.getState());\n this.handlers = createHandlers(this.callClient, this.callAgent, this.deviceManager, this.call, {\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n });\n this.subscribeCallEvents();\n }\n private isBlurEffect(effect: VideoBackgroundEffect): effect is VideoBackgroundBlurEffect {\n return effect.effectName === 'blur';\n }\n private isReplacementEffect(effect: VideoBackgroundEffect): effect is VideoBackgroundReplacementEffect {\n return effect.effectName === 'replacement';\n }\n public async removeParticipant(userId: string): Promise<void> {\n let participant = userId;\n this.handlers.onRemoveParticipant(participant);\n }\n public async sendDtmfTone(dtmfTone: DtmfTone): Promise<void> {\n this.handlers.onSendDtmfTone(dtmfTone);\n }\n public async startCaptions(options?: StartCaptionsOptions): Promise<void> {\n this.handlers.onStartCaptions(options);\n }\n public async stopCaptions(): Promise<void> {\n this.handlers.onStopCaptions();\n }\n public async setCaptionLanguage(language: string): Promise<void> {\n this.handlers.onSetCaptionLanguage(language);\n }\n public async setSpokenLanguage(language: string): Promise<void> {\n this.handlers.onSetSpokenLanguage(language);\n }\n /* @conditional-compile-remove(end-of-call-survey) */\n public async submitSurvey(survey: CallSurvey): Promise<CallSurveyResponse | undefined> {\n return this.handlers.onSubmitSurvey(survey);\n }\n\n /* @conditional-compile-remove(spotlight) */\n public async startSpotlight(userIds?: string[]): Promise<void> {\n this.handlers.onStartSpotlight(userIds);\n }\n\n /* @conditional-compile-remove(spotlight) */\n public async stopSpotlight(userIds?: string[]): Promise<void> {\n this.handlers.onStopSpotlight(userIds);\n }\n\n /* @conditional-compile-remove(spotlight) */\n public async stopAllSpotlight(): Promise<void> {\n this.handlers.onStopAllSpotlight();\n }\n public getState(): CallAdapterState {\n return this.context.getState();\n }\n public onStateChange(handler: (state: CallAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n public offStateChange(handler: (state: CallAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n on(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'participantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n on(event: 'callIdChanged', listener: CallIdChangedListener): void;\n on(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n on(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n on(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n on(event: 'callEnded', listener: CallEndedListener): void;\n on(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'error', errorHandler: (e: AdapterError) => void): void;\n on(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n on(event: 'transferAccepted', listener: TransferAcceptedListener): void;\n on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n on(event: 'roleChanged', listener: PropertyChangedEvent): void;\n /* @conditional-compile-remove(spotlight) */\n on(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public on(event: string, listener: (e: any) => void): void {\n this.emitter.on(event, listener);\n }\n private subscribeToCaptionEvents(): void {\n if (this.call && this.call.state === 'Connected') {\n if (this.context.getState().isTeamsCall) {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n captionsFeature.on('CaptionsReceived', this.teamsCaptionsReceived.bind(this));\n captionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n captionsFeature.on('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));\n captionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n } else {}\n }\n }\n private unsubscribeFromCaptionEvents(): void {\n if (this.call && this.call.state === 'Connected') {\n if (this.context.getState().isTeamsCall) {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n captionsFeature.off('CaptionsReceived', this.teamsCaptionsReceived.bind(this));\n captionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n captionsFeature.off('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));\n captionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n } else {}\n this.call?.off('stateChanged', this.subscribeToCaptionEvents.bind(this));\n }\n }\n private subscribeCallEvents(): void {\n if (this.call) {\n this.callingSoundSubscriber = new CallingSoundSubscriber(this.call, this.getState().targetCallees, this.getState().sounds);\n }\n this.call?.on('remoteParticipantsUpdated', this.onRemoteParticipantsUpdated.bind(this));\n this.call?.on('isMutedChanged', this.isMyMutedChanged.bind(this));\n this.call?.on('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));\n this.call?.on('idChanged', this.callIdChanged.bind(this));\n this.call?.on('stateChanged', this.subscribeToCaptionEvents.bind(this));\n this.call?.on('roleChanged', this.roleChanged.bind(this));\n this.call?.feature(Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));\n this.call?.feature(Features.Capabilities).on('capabilitiesChanged', this.capabilitiesChanged.bind(this));\n /* @conditional-compile-remove(spotlight) */\n this.call?.feature(Features.Spotlight).on('spotlightChanged', this.spotlightChanged.bind(this));\n }\n private unsubscribeCallEvents(): void {\n for (const subscriber of this.participantSubscribers.values()) {\n subscriber.unsubscribeAll();\n }\n this.participantSubscribers.clear();\n this.call?.off('remoteParticipantsUpdated', this.onRemoteParticipantsUpdated.bind(this));\n this.call?.off('isMutedChanged', this.isMyMutedChanged.bind(this));\n this.call?.off('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));\n this.call?.off('idChanged', this.callIdChanged.bind(this));\n this.call?.off('roleChanged', this.roleChanged.bind(this));\n this.unsubscribeFromCaptionEvents();\n if (this.callingSoundSubscriber) {\n this.callingSoundSubscriber.unsubscribeAll();\n }\n }\n private isMyMutedChanged = (): void => {\n this.emitter.emit('isMutedChanged', {\n participantId: this.getState().userId,\n isMuted: this.call?.isMuted\n });\n };\n private onRemoteParticipantsUpdated({\n added,\n removed\n }: {\n added: RemoteParticipant[];\n removed: RemoteParticipant[];\n }): void {\n if (added && added.length > 0) {\n this.emitter.emit('participantsJoined', {\n joined: added\n });\n }\n if (removed && removed.length > 0) {\n this.emitter.emit('participantsLeft', {\n removed: removed\n });\n }\n added.forEach(participant => {\n this.participantSubscribers.set(toFlatCommunicationIdentifier(participant.identifier), new ParticipantSubscriber(participant, this.emitter));\n });\n removed.forEach(participant => {\n const subscriber = this.participantSubscribers.get(toFlatCommunicationIdentifier(participant.identifier));\n subscriber && subscriber.unsubscribeAll();\n this.participantSubscribers.delete(toFlatCommunicationIdentifier(participant.identifier));\n });\n }\n private isScreenSharingOnChanged(): void {\n this.emitter.emit('isLocalScreenSharingActiveChanged', {\n isScreenSharingOn: this.call?.isScreenSharingOn\n });\n }\n private teamsCaptionsReceived(captionsInfo: TeamsCaptionsInfo): void {\n this.emitter.emit('captionsReceived', {\n captionsInfo\n });\n }\n private isCaptionsActiveChanged(): void {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n this.emitter.emit('isCaptionsActiveChanged', {\n isActive: captionsFeature.isCaptionsFeatureActive\n });\n }\n private isSpokenLanguageChanged(): void {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n this.emitter.emit('isSpokenLanguageChanged', {\n activeSpokenLanguage: captionsFeature.activeSpokenLanguage\n });\n }\n private isCaptionLanguageChanged(): void {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n this.emitter.emit('isCaptionLanguageChanged', {\n activeCaptionLanguage: captionsFeature.activeCaptionLanguage\n });\n }\n private transferAccepted(args: TransferEventArgs): void {\n this.emitter.emit('transferAccepted', args);\n }\n private capabilitiesChanged(data: CapabilitiesChangeInfo): void {\n if (data.newValue.turnVideoOn?.isPresent === false) {\n // Only stop camera when the call state is not on hold. The Calling SDK does not allow us to stop camera when\n // the call state is on hold.\n if (this.call?.state !== 'LocalHold' && this.call?.state !== 'RemoteHold') {\n this.stopCamera();\n }\n this.disposeLocalVideoStreamView();\n }\n if (data.newValue.unmuteMic?.isPresent === false) {\n this.mute();\n }\n if (data.newValue.shareScreen?.isPresent === false) {\n this.stopScreenShare();\n }\n this.emitter.emit('capabilitiesChanged', data);\n }\n private roleChanged(): void {\n if (this.call?.role === 'Consumer') {\n this.call?.feature(Features.RaiseHand).lowerHand();\n }\n this.emitter.emit('roleChanged');\n }\n\n /* @conditional-compile-remove(spotlight) */\n private spotlightChanged(args: {\n added: SpotlightedParticipant[];\n removed: SpotlightedParticipant[];\n }): void {\n this.emitter.emit('spotlightChanged', args);\n }\n private callIdChanged(): void {\n this.call?.id && this.emitter.emit('callIdChanged', {\n callId: this.call.id\n });\n }\n private resetDiagnosticsForwarder(newCall?: CallCommon): void {\n if (this.diagnosticsForwarder) {\n this.diagnosticsForwarder.unsubscribe();\n }\n if (newCall) {\n this.diagnosticsForwarder = new DiagnosticsForwarder(this.emitter, newCall);\n }\n }\n off(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'participantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n off(event: 'callIdChanged', listener: CallIdChangedListener): void;\n off(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n off(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n off(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n off(event: 'callEnded', listener: CallEndedListener): void;\n off(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;\n off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'error', errorHandler: (e: AdapterError) => void): void;\n off(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n off(event: 'transferAccepted', listener: TransferAcceptedListener): void;\n off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n off(event: 'roleChanged', listener: PropertyChangedEvent): void;\n /* @conditional-compile-remove(spotlight) */\n off(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public off(event: string, listener: (e: any) => void): void {\n this.emitter.off(event, listener);\n }\n private async asyncTeeErrorToEventEmitter<T>(f: () => Promise<T>): Promise<T> {\n try {\n return await f();\n } catch (error) {\n if (isCallError((error as Error))) {\n this.emitter.emit('error', (error as AdapterError));\n }\n throw error;\n }\n }\n private teeErrorToEventEmitter<T>(f: () => T): T {\n try {\n return f();\n } catch (error) {\n if (isCallError((error as Error))) {\n this.emitter.emit('error', (error as AdapterError));\n }\n throw error;\n }\n }\n}\n/**\n * Locator used by {@link createAzureCommunicationCallAdapter} to locate the call to join\n *\n * @public\n */\nexport type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator | RoomCallLocator | /* @conditional-compile-remove(meeting-id) */TeamsMeetingIdLocator;\n\n/**\n * Common optional parameters to create {@link AzureCommunicationCallAdapter} or {@link TeamsCallAdapter}\n *\n * @public\n */\nexport type CommonCallAdapterOptions = {\n /**\n * Default set of background images for background image picker.\n */\n videoBackgroundOptions?: {\n videoBackgroundImages?: VideoBackgroundImage[];\n onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n };\n /**\n * Use this to fetch profile information which will override data in {@link CallAdapterState} like display name\n * The onFetchProfile is fetch-and-forget one time action for each user, once a user profile is updated, the value will be cached\n * and would not be updated again within the lifecycle of adapter.\n */\n onFetchProfile?: OnFetchProfileCallback;\n /**\n * Sounds to use for calling events\n */\n callingSounds?: CallingSounds;\n /**\n * Reaction resource for reaction resources\n * @beta\n */\n reactionResources?: ReactionResources;\n};\n\n/**\n * Optional parameters to create {@link AzureCommunicationCallAdapter}\n *\n * @public\n */\nexport type AzureCommunicationCallAdapterOptions = CommonCallAdapterOptions;\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link CallAdapter}.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport type AzureCommunicationCallAdapterArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAdapterLocator;\n /**\n * Optional parameters for the {@link AzureCommunicationCallAdapter} created\n */\n options?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link CallAdapter}.\n *\n * These arguments are used to create an outbound call scenarios.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport type AzureCommunicationOutboundCallAdapterArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n targetCallees: StartCallIdentifier[];\n /**\n * Optional parameters for the {@link AzureCommunicationCallAdapter} created\n */\n options?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Optional parameters to create {@link TeamsCallAdapter}\n *\n * @public\n */\nexport type TeamsAdapterOptions = CommonCallAdapterOptions;\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link TeamsCallAdapter}.\n *\n * @beta\n */\nexport type TeamsCallAdapterArgs = {\n userId: MicrosoftTeamsUserIdentifier;\n credential: CommunicationTokenCredential;\n locator: TeamsMeetingLinkLocator | /* @conditional-compile-remove(meeting-id) */TeamsMeetingIdLocator;\n /**\n * Optional parameters for the {@link TeamsCallAdapter} created\n */\n options?: TeamsAdapterOptions;\n};\n\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(args: AzureCommunicationCallAdapterArgs): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(args: AzureCommunicationOutboundCallAdapterArgs): Promise<CallAdapter>;\n/**\n * @public\n */\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(args: AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs): Promise<CallAdapter> {\n if (isMicrosoftTeamsUserIdentifier(args.userId)) {\n throw new Error('Microsoft Teams user identifier is not supported by AzureCommunicationCallAdapter. Instead use TeamsCallAdapter.');\n }\n return _createAzureCommunicationCallAdapterInner({\n userId: args.userId,\n displayName: args.displayName,\n credential: args.credential,\n locator: (args as AzureCommunicationCallAdapterArgs).locator,\n targetCallees: (args as AzureCommunicationOutboundCallAdapterArgs).targetCallees,\n options: args.options\n });\n}\n\n/**\n * This inner function is used to allow injection of TelemetryImplementationHint without changing the public API.\n *\n * @internal\n */\nexport const _createAzureCommunicationCallAdapterInner = async ({\n userId,\n displayName,\n credential,\n locator,\n targetCallees,\n options,\n telemetryImplementationHint = 'Call'\n}: {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAdapterLocator;\n targetCallees?: StartCallIdentifier[];\n options?: AzureCommunicationCallAdapterOptions;\n telemetryImplementationHint?: _TelemetryImplementationHint;\n}): Promise<CallAdapter> => {\n if (!_isValidIdentifier(userId)) {\n throw new Error('Invalid identifier. Please provide valid identifier object.');\n }\n const callClient = _createStatefulCallClientInner({\n userId\n }, undefined, telemetryImplementationHint);\n const callAgent = await callClient.createCallAgent(credential, {\n displayName\n });\n let adapter;\n if (locator) {\n adapter = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, locator, options);\n } else {\n adapter = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, (targetCallees as StartCallIdentifier[]), options);\n }\n return adapter;\n};\ntype PartialArgsType<Adapter> = Adapter extends CallAdapter ? Partial<AzureCommunicationCallAdapterArgs> : Partial<TeamsCallAdapterArgs>;\ntype PartialArgsOutboundType<Adapter> = Adapter extends CallAdapter ? Partial<AzureCommunicationOutboundCallAdapterArgs> : Partial<TeamsCallAdapterArgs>;\ntype AdapterOf<AdapterKind extends 'AzureCommunication' | 'Teams'> = AdapterKind extends 'AzureCommunication' ? CallAdapter : never;\n\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<AdapterKind extends 'AzureCommunication' | 'Teams', Adapter extends AdapterOf<AdapterKind>>(args: PartialArgsType<Adapter>, adapterKind: AdapterKind, afterCreate?: (adapter: Adapter) => Promise<Adapter>, beforeDispose?: (adapter: Adapter) => Promise<void>): Adapter | undefined;\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<AdapterKind extends 'AzureCommunication' | 'Teams', Adapter extends AdapterOf<AdapterKind>>(args: PartialArgsOutboundType<Adapter>, adapterKind: AdapterKind, afterCreate?: (adapter: Adapter) => Promise<Adapter>, beforeDispose?: (adapter: Adapter) => Promise<void>): Adapter | undefined;\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<AdapterKind extends 'AzureCommunication' | 'Teams', Adapter extends AdapterOf<AdapterKind>>(args: PartialArgsType<Adapter> | PartialArgsOutboundType<Adapter>, adapterKind: AdapterKind = ('AzureCommunication' as AdapterKind), afterCreate?: (adapter: Adapter) => Promise<Adapter>, beforeDispose?: (adapter: Adapter) => Promise<void>): Adapter | undefined {\n const {\n credential,\n userId\n } = args;\n const locator = 'locator' in args ? args.locator : undefined;\n const targetCallees = 'targetCallees' in args ? args.targetCallees : undefined;\n const displayName = 'displayName' in args ? args.displayName : undefined;\n const options = 'options' in args ? args.options : undefined;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<Adapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<Adapter | undefined>(undefined);\n const creatingAdapterRef = useRef<boolean>(false);\n const afterCreateRef = useRef<((adapter: Adapter) => Promise<Adapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: Adapter) => Promise<void>) | undefined>(undefined);\n // These refs are updated on *each* render, so that the latest values\n // are used in the `useEffect` closures below.\n // Using a Ref ensures that new values for the callbacks do not trigger the\n // useEffect blocks, and a new adapter creation / distruction is not triggered.\n afterCreateRef.current = afterCreate;\n beforeDisposeRef.current = beforeDispose;\n useEffect(() => {\n if (!credential || !locator && !targetCallees || !userId) {\n return;\n }\n if (adapterKind === 'AzureCommunication' && !displayName) {\n return;\n }\n (async () => {\n if (adapterRef.current) {\n // Dispose the old adapter when a new one is created.\n //\n // This clean up function uses `adapterRef` because `adapter` can not be added to the dependency array of\n // this `useEffect` -- we do not want to trigger a new adapter creation because of the first adapter\n // creation.\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n let newAdapter: Adapter | undefined = undefined;\n if (adapterKind === 'AzureCommunication') {\n // This is just the type check to ensure that displayName is defined.\n if (!displayName) {\n throw new Error('Unreachable code, displayName already checked above.');\n }\n if (creatingAdapterRef.current) {\n console.warn('Adapter is already being created, please see storybook for more information: https://azure.github.io/communication-ui-library/?path=/story/troubleshooting--page');\n return;\n }\n creatingAdapterRef.current = true;\n if (locator) {\n newAdapter = (await createAzureCommunicationCallAdapter({\n credential,\n displayName: displayName,\n locator,\n userId: (userId as CommunicationUserIdentifier),\n options\n }) as Adapter);\n } else if (targetCallees) {\n newAdapter = (await createAzureCommunicationCallAdapter({\n credential,\n displayName: displayName,\n targetCallees,\n userId: (userId as CommunicationUserIdentifier),\n options\n }) as Adapter);\n }\n } else if (adapterKind === 'Teams') {\n if (creatingAdapterRef.current) {\n console.warn('Adapter is already being created, skipping creation.');\n return;\n }\n creatingAdapterRef.current = true;\n } else {\n throw new Error('Unreachable code, unknown adapterKind');\n }\n if (!newAdapter) {\n throw Error('Unreachable code! Get undefined adapter');\n }\n if (afterCreateRef.current) {\n newAdapter = await afterCreateRef.current(newAdapter);\n }\n adapterRef.current = newAdapter;\n creatingAdapterRef.current = false;\n setAdapter(newAdapter);\n })();\n },\n // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.\n [adapterRef, afterCreateRef, beforeDisposeRef, adapterKind, credential, locator, userId, displayName, options, targetCallees]);\n\n // Dispose any existing adapter when the component unmounts.\n useEffect(() => {\n return () => {\n (async () => {\n if (adapterRef.current) {\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n })();\n };\n }, []);\n return adapter;\n}\n\n/**\n * A custom React hook to simplify the creation of {@link CallAdapter}.\n *\n * Similar to {@link createAzureCommunicationCallAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @public\n */\nexport const useAzureCommunicationCallAdapter = (args: Partial<AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs>, afterCreate?: (adapter: CallAdapter) => Promise<CallAdapter>, beforeDispose?: (adapter: CallAdapter) => Promise<void>): CallAdapter | undefined => {\n return useAzureCommunicationCallAdapterGeneric(args, 'AzureCommunication', afterCreate, beforeDispose);\n};\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(callClient: StatefulCallClient, callAgent: CallAgent, targetCallees: StartCallIdentifier[], options?: AzureCommunicationCallAdapterOptions): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(callClient: StatefulCallClient, callAgent: CallAgent, locator: CallAdapterLocator, options?: AzureCommunicationCallAdapterOptions): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(callClient: StatefulCallClient, callAgent: CallAgent, locatorOrtargetCallees: CallAdapterLocator | StartCallIdentifier[], options?: AzureCommunicationCallAdapterOptions): Promise<CallAdapter> {\n const deviceManager = (await callClient.getDeviceManager() as StatefulDeviceManager);\n await Promise.all([deviceManager.getCameras(), deviceManager.getMicrophones()]);\n if (deviceManager.isSpeakerSelectionAvailable) {\n await deviceManager.getSpeakers();\n }\n if (getLocatorOrTargetCallees(locatorOrtargetCallees)) {\n return new AzureCommunicationCallAdapter(callClient, (locatorOrtargetCallees as StartCallIdentifier[]), callAgent, deviceManager, options);\n } else {\n return new AzureCommunicationCallAdapter(callClient, (locatorOrtargetCallees as CallAdapterLocator), callAgent, deviceManager, options);\n }\n}\nconst isCallError = (e: Error): e is CallError => {\n return 'target' in e && 'innerError' in e;\n};"]}
1
+ {"version":3,"file":"AzureCommunicationCallAdapter.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,sDAA6C;AACzF,OAAO,EAIL,8BAA8B,EAO/B,mDAA0C;AAE3C,yDAAyD;AACzD,OAAO,EAAE,iBAAiB,EAAE,mDAA0C;AAGtE,OAAO,EAKL,gBAAgB,IAAI,mBAAmB,EAUxC,MAAM,8BAA8B,CAAC;AAiBtC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAwCtC,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExG,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,yCAAgC;AACxH,OAAO,EAKL,8BAA8B,EAG9B,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;AACrC,yDAAyD,CAAC,6CAA6C;AACvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,6CAA6C;AAC7C,OAAO,EAAE,uBAAuB,EAAyB,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAA0B,MAAM,0BAA0B,CAAC;AAE9F,OAAO,EAAE,qCAAqC,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAK7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,4EAA4E;AAC5E,MAAM,WAAW;IAMf,YACE,WAA4B,EAC5B,WAAoB,EACpB,cAAuB,EACvB,WAAoB,EACpB,OAUC,EACD,aAAqC;;QArB/B,YAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;QAuBjD,IAAI,CAAC,KAAK,GAAG;YACX,+BAA+B,EAAE,KAAK;YACtC,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,WAAW,EAAE,MAAA,WAAW,CAAC,SAAS,0CAAE,WAAW;YAC/C,OAAO,EAAE,WAAW,CAAC,aAAa;YAClC,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,aAA0C;YACzD,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,WAAW;YACX,cAAc;YACd,WAAW;YACX,6CAA6C,CAAC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;YAC9F,sDAAsD,CAAC,eAAe,EAAE,WAAW,CAAC,eAAe;YACnG,sDAAsD,CAAC,iCAAiC,EAAE,KAAK;YAC/F,qBAAqB,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,0CAAE,qBAAqB;YAE7E,8BAA8B,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,0CAAE,mBAAmB;YACpF,6BAA6B,EAAE,SAAS;YACxC,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;YAC9B,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;SACtC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;YAChD,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEO,iBAAiB;QACvB,sDAAsD;QACtD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAEM,aAAa,CAAC,OAA6C;QAChE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,cAAc,CAAC,OAA6C;QACjE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEM,QAAQ,CAAC,KAAuB;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,2BAA2B,CAAC,+BAAwC;QACzE,IAAI,CAAC,QAAQ,iCAAM,IAAI,CAAC,KAAK,KAAE,+BAA+B,IAAG,CAAC;IACpE,CAAC;IAED,8DAA8D;IACvD,gBAAgB,CAAC,MAA0B;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,eAAe,CAAC,aAAoC;QACzD,IAAI,CAAC,QAAQ,iCAAM,IAAI,CAAC,KAAK,KAAE,aAAa,IAAG,CAAC;IAClD,CAAC;IAEM,WAAW,CAAC,OAA2D;QAC5E,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAEM,YAAY,CAAC,OAA2D;QAC7E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,iBAAiB,CAAC,WAA4B;;QACnD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,qFAAqF;QACrF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAChC,sDAAsD;QACtD,MAAM,eAAe,GAAG;YACtB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,gCAAgC,EAAE,IAAI,CAAC,KAAK,CAAC,iCAAiC;SAC/E,CAAC;QAEF,MAAM,sBAAsB,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,iBAAiB;YAC7D,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,YAAY,GAAG,sBAAsB,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3G,MAAM,OAAO,GAAG,oBAAoB,CAClC,IAAI,EACJ,eAAe,EACf,YAAY;QACZ,sDAAsD,CAAC,eAAe,CACvE,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,uDAAuD;YACvD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACjC,4DAA4D;YAC5D,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,iCACR,IAAI,CAAC,KAAK,KACb,MAAM,EAAE,WAAW,CAAC,MAAM,EAC1B,WAAW,EAAE,MAAA,WAAW,CAAC,SAAS,0CAAE,WAAW,EAC/C,IAAI,EACJ,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,WAAW,CAAC,aAAa,EAClC,YAAY,EAAE,WAAW,CAAC,YAAY,EACtC,YAAY,EACV,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,OAAO,CAAC;oBAClE,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,OAAO,CAAC;oBAClF,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,KAAK,EACX,yBAAyB,EAAE,YAAY,IACvC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAsD;IAC/C,4BAA4B;QACjC,IAAI,CAAC,QAAQ,iCAAM,IAAI,CAAC,KAAK,KAAE,iCAAiC,EAAE,IAAI,IAAG,CAAC;IAC5E,CAAC;IAEM,wBAAwB,CAAC,qBAA6C;QAC3E,IAAI,CAAC,QAAQ,iCAAM,IAAI,CAAC,KAAK,KAAE,qBAAqB,IAAG,CAAC;IAC1D,CAAC;IAEM,gCAAgC,CAAC,6BAAqD;QAC3F,IAAI,CAAC,QAAQ,iCAAM,IAAI,CAAC,KAAK,KAAE,6BAA6B,IAAG,CAAC;IAClE,CAAC;IAEM,uBAAuB,CAAC,IAAgB;QAC7C,IAAI,CAAC,QAAQ,iCAAM,IAAI,CAAC,KAAK,KAAE,yBAAyB,EAAE,IAAI,IAAG,CAAC;IACpE,CAAC;CACF;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAmC,EAAyB,EAAE;;IACzF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,EAAE,CAAC;YAC1E,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,iBAEnC,EAAgC,EAAE;;IACjC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAChE,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,gBAAgB,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAA,MAAA,gBAAgB,CAAC,SAAS,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,sBAAsB,CAAC,SAAS,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,EAAE,CAAC;YACtG,sBAAsB,GAAG,gBAAgB,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AAOF;;GAEG;AACH,MAAM,OAAO,6BAA6B;IAoBxC,IAAY,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAY,IAAI,CAAC,OAA+B;QAC9C,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAeD,YACE,UAA8B,EAC9B,sBAAkE,EAClE,SAAoB,EACpB,aAAoC,EACpC,OAAoE;;QAlC9D,2BAAsB,GAAG,IAAI,GAAG,EAAiC,CAAC;QAClE,YAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;QAo0B3C,qBAAgB,GAAG,GAAS,EAAE;;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAClC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM;gBACrC,OAAO,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC;QAtyBA,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa;YAChB,yBAAyB,CAAC,sBAAsB,CAAC,KAAK,IAAI;gBACxD,CAAC,CAAE,sBAAgD;gBACnD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,OAAO;YACV,yBAAyB,CAAC,sBAAsB,CAAC,KAAK,KAAK;gBACzD,CAAC,CAAE,sBAA6C;gBAChD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO;YACjC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,6CAA6C,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO;YAC5G,CAAC,CAAC,KAAK,CAAC;QACV,IAAI,WAAgC,CAAC;QACrC,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,IAAI,8BAA8B,CAAC,MAAM,CAAC,IAAI,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpF,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAEpE,IAAI,CAAC,yCAAyC,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,0CAAE,mBAAmB,CAAC;QAEtG,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAC5B,UAAU,CAAC,QAAQ,EAAE,EACrB,CAAC,CAAC,WAAW,EACb,cAAc,EACd,WAAW,EACX,OAAO,EACP,IAAI,CAAC,aAAa,CACnB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QAEvF,MAAM,aAAa,GAAG,CAAC,WAA4B,EAAQ,EAAE;;YAC3D,8CAA8C;YAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,6GAA6G;YAC7G,uGAAuG;YACvG,wGAAwG;YACxG,eAAe;YACf,8DAA8D;YAC9D,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,wEAAwE;YACxE,IACE,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,WAAW,CAAC;gBACpE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EACnE,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE;YAC9E,yCAAyC,EAAE,IAAI,CAAC,yCAAyC;SAC1F,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;QAEzC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEpC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,cAAc,GAAG,CAAC,IAAwC,EAAQ,EAAE;;gBACxE,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,EAAE,CAAC;oBAClB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,IAAI,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAA,CAAA,EAAA,CAAC,CAAC;oBAC3E,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;wBAC/E,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;wBACvG,MAAM,UAAU,GAAG,SAAsB,CAAC;wBAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAK,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,CAAA,CAAC,CAAC;wBACvG,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;wBACpC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YACD,IAAI,CAAC,SAAuB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;QACD,yDAAyD;QACzD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC7C,MAAM,mBAAmB,GAAG,CAAC,IAAkD,EAAQ,EAAE;;gBACvF,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,EAAE,CAAC;oBAClB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,IAAI,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAA,CAAA,EAAA,CAAC,CAAC;oBAC3E,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;wBAC/E,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;wBACvG,MAAM,UAAU,GAAG,SAA2B,CAAC;wBAC/C,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAK,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,CAAA,CAAC,CAAC;wBAC5G,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;wBACpC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YACD,IAAI,CAAC,SAA4B,CAAC,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,sGAAsG;IAC9F,4BAA4B;QAClC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,6CAA6C;QAC7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,6CAA6C;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,6CAA6C;QAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,sDAAsD;QACtD,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,qDAAqD;QACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,4CAA4C;QAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,4CAA4C;QAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,4CAA4C;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEY,YAAY;;YACvB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBACtD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzE,OAAO,OAAO,CAAC;YACjB,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,gBAAgB;;YAC3B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC7E,OAAO,WAAW,CAAC;YACrB,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,aAAa;;YACxB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChH,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC1E,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,mBAAmB,CAAC,SAAgC;;YAC/D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;YACxF,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEM,QAAQ,CAAC,OAAmC;;QACjD,IAAI,SAAS,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,KAAK,mCAAI,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE;YACtC,qEAAqE;YACrE,IAAI,sBAAsB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC;YACnE,IAAI,0BAA0B,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,+BAA+B,CAAC;YAEjF,2BAA2B;YAC3B,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,mCAAmC;gBACnC,0BAA0B,GAAG,OAAO,CAAC;YACvC,CAAC;iBAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACvC,kBAAkB;gBAClB,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;oBAC5D,0BAA0B,GAAG,OAAO,CAAC,YAAY,CAAC;gBACpD,CAAC;gBACD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACpD,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAiB,EAAE,KAAK,EAAE,CAAC,0BAA0B,EAAE,CAAC;YAC1E,MAAM,cAAc,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1E,MAAM,YAAY,GAChB,cAAc,IAAI,sBAAsB;gBACtC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC,EAAE;gBAClE,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAExD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,YAA0B,EAAE,YAA0B;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,6CAA6C;QAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAEpE,yDAAyD;QACzD,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAkC,EAAE;oBAClE,YAAY;oBACZ,YAAY;iBACb,CAA0B,CAAC;YAC9B,CAAC;YACD,6CAA6C;YAC7C,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAgC,EAAE;oBAChE,YAAY;oBACZ,YAAY;iBACb,CAA0B,CAAC;YAC9B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAkC,EAAE;gBAClE,YAAY;gBACZ,YAAY;aACb,CAA0B,CAAC;QAC9B,CAAC;QAED,6CAA6C;QAC7C,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAgC,EAAE;gBAChE,YAAY;gBACZ,YAAY;aACb,CAA0B,CAAC;QAC9B,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAA0B,EAAE;gBAC1D,YAAY;gBACZ,YAAY;aACb,CAA0B,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAA2B,EAAE;YAC3D,YAAY;YACZ,YAAY;SACb,CAA0B,CAAC;IAC9B,CAAC;IAEY,gBAAgB,CAC3B,YAAqB,EACrB,OAA4B;;YAE5B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;KAAA;IAEY,iBAAiB,CAAC,YAAqB;;YAClD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KAAA;IAEY,4BAA4B,CAAC,YAAoB;;YAC5D,MAAM,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,YAAY,CAAC,CAAC;QACzE,CAAC;KAAA;IAEY,4BAA4B,CAAC,YAAoB;;YAC5D,MAAM,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC;KAAA;IAEY,2BAA2B;;YACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QACjD,CAAC;KAAA;IAEY,SAAS,CAAC,WAAqB;;YAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC9C,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,IAAI,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,yBAAyB,0CAAE,EAAE,CAAA,CAAA,EAAA,CACpE,CAAC,CAAC,CAAC,CAAC;gBACL,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE,CAAC;YACzB,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE;gBAC7F,yCAAyC,EAAE,IAAI,CAAC,yCAAyC;aAC1F,CAAC,CAAC;YACH,gFAAgF;YAChF,sGAAsG;YACtG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;KAAA;IAEY,SAAS,CAAC,MAAuB,EAAE,OAA4B;;YAC1E,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,aAAa,CAAC,MAAuB;;YAChD,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,UAAU,CAAC,MAAuB;;YAC7C,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,WAAW,CAAC,OAA4B;;YACnD,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACjC,wFAAwF;oBACxF,4FAA4F;oBAE5F,CAAC;wBACC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,6BAA6B,CAAC;wBACrE,MAAM,cAAc,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC1E,IAAI,cAAc,IAAI,cAAc,IAAI,IAAI,CAAC,yCAAyC,EAAE,CAAC;4BACvF,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;4BACvD,MAAM,MAAM,GAAG,qCAAqC,CAClD,cAAc,EACd,MAAM,IAAI,CAAC,yCAAyC,EAAE,CACvD,CAAC;4BAEF,IAAI,MAAM,EAAE,CAAC;gCACX,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;4BACnE,CAAC;iCAAM,CAAC;gCACN,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;4BAC5D,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,UAAU;;YACrB,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACvC,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,IAAI;;YACf,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;;gBACvD,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,SAAS,CAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,CAAC,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAA,EAAE,CAAC;oBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC3C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,MAAM;;YACjB,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;;gBACvD,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,CAAC,IAAI,sBAAsB,CAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAA,EAAE,CAAC;oBACpG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC3C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,gBAAgB;;YAC3B,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;;gBACvD,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,CAAA,EAAE,CAAC;oBAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,eAAe;;YAC1B,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;;gBACvD,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,SAAS;;YACpB,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC1C,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,SAAS;;YACpB,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC1C,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,eAAe,CAAC,QAAkB;;YAC7C,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAS,EAAE;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAED,sDAAsD;IAC/C,8BAA8B;QACnC,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEY,0BAA0B,CAAC,qBAA4C;;YAClF,IAAI,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAG,qBAA6C,CAAC;gBACjE,MAAM,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC3D,MAAM,aAAa,GAAG,qBAAoD,CAAC;gBAC3E,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KAAA;IAEY,0BAA0B;;YACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE,CAAC;QACvD,CAAC;KAAA;IAEM,4BAA4B,CAAC,gBAAwC;QAC1E,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAEM,mCAAmC,CAAC,uBAA8C;QACvF,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,uBAAuB,CAAC,CAAC;IACzE,CAAC;IAEM,SAAS,CACd,YAQO,EACP,OAA0B;;QAE1B,IAAI,SAAS,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,KAAK,mCAAI,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC;QACzD,MAAM,cAAc,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,wHAAwH;QACxH,MAAM,qBAAqB,GAAqB,cAAc;YAC5D,CAAC,CAAC;gBACE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;aACxG;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,mBAAmB,mCAAQ,qBAAqB,GAAK,OAAO,CAAE,CAAC;QAErE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YAChD,MAAM,SAAS,GAA4B,0BAA0B,CAAC,WAAW,CAAC,CAAC;YACnF,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,SAAS,EAAE,CAAC;oBAC7C,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,eAAe,CAC1B,QAMG,CACJ,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,mBAAmB,CAA0B,CAAC;QAC/F,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,IAAgB;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvC,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE;YAC7F,yCAAyC,EAAE,IAAI,CAAC,yCAAyC;SAC1F,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,YAAY,CAAC,MAA6B;QAChD,OAAO,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC;IACtC,CAAC;IAEO,mBAAmB,CAAC,MAA6B;QACvD,OAAO,MAAM,CAAC,UAAU,KAAK,aAAa,CAAC;IAC7C,CAAC;IAEY,iBAAiB,CAC5B,MAAsF;;YAEtF,IAAI,WAAW,GAAG,MAAM,CAAC;YACzB,6CAA6C;YAC7C,WAAW,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;KAAA;IAMD,6CAA6C;IAChC,cAAc,CACzB,WAAgE,EAChE,OAA+B;;YAE/B,IAAI,uBAAuB,CAAC,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;gBACpD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,6BAA6B,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAED,6CAA6C;IAChC,QAAQ;;;YACnB,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,WAAW,EAAE,CAAC;gBACrC,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,mBAAmB,EAAE,CAAC;oBACnC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC/B,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAED,6CAA6C;IAChC,UAAU;;;YACrB,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;;oBACrC,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,SAAS,MAAK,KAAK,EAAE,CAAC;wBAC3F,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KAAA;IAEY,YAAY,CAAC,QAAkB;;YAC1C,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;KAAA;IAEY,aAAa,CAAC,OAA8B;;YACvD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;IAEY,YAAY;;YACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACjC,CAAC;KAAA;IAEY,kBAAkB,CAAC,QAAgB;;YAC9C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;KAAA;IAEY,iBAAiB,CAAC,QAAgB;;YAC7C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IACD,qDAAqD;IACxC,YAAY,CAAC,MAAkB;;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;KAAA;IAED,4CAA4C;IAC/B,cAAc,CAAC,OAAkB;;YAC5C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;KAAA;IAED,4CAA4C;IAC/B,aAAa,CAAC,OAAkB;;YAC3C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KAAA;IAED,4CAA4C;IAC/B,gBAAgB;;YAC3B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACrC,CAAC;KAAA;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAEM,aAAa,CAAC,OAA0C;QAC7D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,cAAc,CAAC,OAA0C;QAC9D,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAwBD,8DAA8D;IACvD,EAAE,CAAC,KAAa,EAAE,QAA0B;QACjD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAEO,wBAAwB;;QAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACjD,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9D,IACE,eAAe,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe;gBACjD,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,EAC/E,CAAC;gBACD,MAAM,oBAAoB,GAAG,eAAe,CAAC,QAAyB,CAAC;gBACvE,oBAAoB,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnF,oBAAoB,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1F,oBAAoB,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5F,oBAAoB,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAoB,CAAC;gBAChE,qDAAqD;gBACrD,kBAAkB,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5E,qDAAqD;gBACrD,kBAAkB,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxF,qDAAqD;gBACrD,kBAAkB,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IACH,CAAC;IAEO,4BAA4B;;QAClC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACjD,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9D,IACE,eAAe,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe;gBACjD,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,EAC/E,CAAC;gBACD,MAAM,oBAAoB,GAAG,eAAe,CAAC,QAAyB,CAAC;gBACvE,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpF,oBAAoB,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3F,oBAAoB,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7F,oBAAoB,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAoB,CAAC;gBAChE,qDAAqD;gBACrD,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7E,qDAAqD;gBACrD,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzF,qDAAqD;gBACrD,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3F,CAAC;YACD,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,mBAAmB;;QACzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,sBAAsB,GAAG,IAAI,sBAAsB,CACtD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CACvB,CAAC;QACJ,CAAC;QACD,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1D,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzG,4CAA4C;QAC5C,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChG,qDAAqD;QACrD,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvG,CAAC;IAEO,qBAAqB;;QAC3B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9D,UAAU,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;QACpC,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,qDAAqD;QACrD,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAK,UAAU,EAAE,CAAC;YACvE,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjH,CAAC;QAED,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IASD,qDAAqD;IAC7C,mBAAmB;;QACzB,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,oBAAoB,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAyB,CAAC;QACxE,oBAAoB,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,oBAAoB,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,oBAAoB,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,oBAAoB,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEO,2BAA2B,CAAC,EAClC,KAAK,EACL,OAAO,EAIR;QACC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC5B,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC7B,6BAA6B,CAAC,WAAW,CAAC,UAAU,CAAC,EACrD,IAAI,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CACrD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,UAAU,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;YAC1C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,6BAA6B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB;;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,iBAAiB,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9G,CAAC;IAEO,qBAAqB,CAAC,YAA+B;QAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,qDAAqD;IAC7C,gBAAgB,CAAC,YAA0B;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEO,uBAAuB;;QAC7B,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAEI,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC3C,QAAQ,EAAE,eAAe,CAAC,uBAAuB;SAClD,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB;;QAC7B,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAEI,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC3C,oBAAoB,EAAE,eAAe,CAAC,oBAAoB;SAC3D,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB;;QAC9B,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAyB,CAAC;QACxF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC5C,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;SAC7D,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,IAAuB;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,mBAAmB,CAAC,IAA4B;;QACtD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,0CAAE,SAAS,MAAK,KAAK,EAAE,CAAC;YACnD,6GAA6G;YAC7G,6BAA6B;YAC7B,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,WAAW,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,MAAK,YAAY,EAAE,CAAC;gBAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,0CAAE,SAAS,MAAK,KAAK,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,0CAAE,SAAS,MAAK,KAAK,EAAE,CAAC;YACnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEO,WAAW;;QACjB,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,UAAU,EAAE,CAAC;YACnC,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,4CAA4C;IACpC,gBAAgB,CAAC,IAA4E;QACnG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,aAAa;;QACnB,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,KAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAEO,yBAAyB,CAAC,OAAoB;QACpD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAwBD,8DAA8D;IACvD,GAAG,CAAC,KAAa,EAAE,QAA0B;QAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAEa,2BAA2B,CAAI,CAAmB;;YAC9D,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,WAAW,CAAC,KAAc,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAqB,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAEO,sBAAsB,CAAI,CAAU;QAC1C,IAAI,CAAC;YACH,OAAO,CAAC,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAc,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAqB,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA2KD;;GAEG;AACH;;;;;;;;GAQG;AACH,MAAM,UAAgB,mCAAmC,CACvD,IAAmF;;QAEnF,IAAI,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;QACJ,CAAC;QACD,OAAO,yCAAyC,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAG,IAA0C,CAAC,OAAO;YAC5D,aAAa,EAAG,IAAkD,CAAC,aAAa;YAChF,6CAA6C;YAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YAEzC,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,KAkBhC,EAAE,4CAlBqC,EAC9D,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,EACP,aAAa;AACb,6CAA6C,CAAC,iBAAiB,EAC/D,OAAO,EACP,2BAA2B,GAAG,MAAM,EAUrC;IACC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,UAAU,GAAG,8BAA8B,CAC/C;QACE,MAAM;QACN,6CAA6C;QAC7C,iBAAiB;KAClB,EACD,SAAS,EACT,2BAA2B,CAC5B,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,UAAU,EAAE;QAC7D,WAAW;KACZ,CAAC,CAAC;IACH,IAAI,OAAO,CAAC;IACZ,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,GAAG,6CAA6C,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnG,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,6CAA6C,CACrD,UAAU,EACV,SAAS,EACT,aAAsC,EACtC,OAAO,CACR,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAEF,yDAAyD;AACzD;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAKc,EAAE,4CALT,EAC3C,MAAM,EACN,UAAU,EACV,OAAO,EACP,OAAO,EACc;IACrB,IAAI,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,8BAA8B,CAC/C;QACE,MAAM;KACP,EACD,SAAS,EACT,MAAsC,CACvC,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,UAAU,EAAE;QAClE,SAAS;KACV,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,gCAAgC,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1F,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAsCF;;GAEG;AACH,SAAS,uCAAuC,CAI9C,IAAiE,EACjE,cAA2B,oBAAmC,EAC9D,WAAoD,EACpD,aAAmD;IAEnD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,aAAa,GAAG,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,WAAW,GAAG,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,sFAAsF;IACtF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAsB,SAAS,CAAC,CAAC;IACvE,2EAA2E;IAC3E,MAAM,UAAU,GAAG,MAAM,CAAsB,SAAS,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,MAAM,CAAuD,SAAS,CAAC,CAAC;IAC/F,MAAM,gBAAgB,GAAG,MAAM,CAAoD,SAAS,CAAC,CAAC;IAC9F,qEAAqE;IACrE,8CAA8C;IAC9C,2EAA2E;IAC3E,+EAA+E;IAC/E,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IAEzC,SAAS,CACP,GAAG,EAAE;QACH,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,IAAI,WAAW,KAAK,oBAAoB,IAAI,CAAC,WAAW,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QACD,CAAC,GAAS,EAAE;YACV,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,qDAAqD;gBACrD,EAAE;gBACF,yGAAyG;gBACzG,oGAAoG;gBACpG,YAAY;gBACZ,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAC7B,MAAM,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACrD,CAAC;gBACD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7B,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;YACjC,CAAC;YACD,IAAI,UAAU,GAAwB,SAAS,CAAC;YAChD,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;gBACzC,qEAAqE;gBACrE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CACV,kKAAkK,CACnK,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,UAAU,GAAG,CAAC,MAAM,mCAAmC,CAAC;wBACtD,UAAU;wBACV,WAAW,EAAE,WAAW;wBACxB,OAAO;wBACP,MAAM,EAAE,MAAqC;wBAC7C,6CAA6C,CAAC,iBAAiB;wBAC/D,OAAO;qBACR,CAAC,CAAY,CAAC;gBACjB,CAAC;qBAAM,IAAI,aAAa,EAAE,CAAC;oBACzB,UAAU,GAAG,CAAC,MAAM,mCAAmC,CAAC;wBACtD,UAAU;wBACV,WAAW,EAAE,WAAW;wBACxB,aAAa;wBACb,MAAM,EAAE,MAAqC;wBAC7C,6CAA6C,CAAC,iBAAiB;wBAC/D,OAAO;qBACR,CAAC,CAAY,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBACnC,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBACD,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;gBAClC,yDAAyD;gBACzD,UAAU,GAAG,CAAC,MAAM,sBAAsB,CAAC;oBACzC,UAAU;oBACV,OAAO,EAAE,OAAkC;oBAC3C,MAAM,EAAE,MAAsC;oBAC9C,OAAO;iBACR,CAAC,CAAY,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC3B,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC;YACD,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC;YAChC,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC,CAAA,CAAC,EAAE,CAAC;IACP,CAAC;IACD,0FAA0F;IAC1F;QACE,UAAU;QACV,cAAc;QACd,gBAAgB;QAChB,WAAW;QACX,UAAU;QACV,OAAO;QACP,MAAM;QACN,WAAW;QACX,6CAA6C;QAC7C,iBAAiB;QACjB,OAAO;QACP,aAAa;KACd,CACF,CAAC;IAEF,4DAA4D;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,CAAC,GAAS,EAAE;gBACV,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;wBAC7B,MAAM,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACrD,CAAC;oBACD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC7B,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC,CAAA,CAAC,EAAE,CAAC;QACP,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;AAC9C;;;;;GAKG;AACH,IAA4F;AAC5F;;;;GAIG;AACH,WAA4D;AAC5D;;;;GAIG;AACH,aAAuD,EAC9B,EAAE;IAC3B,OAAO,uCAAuC,CAAC,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AACzG,CAAC,CAAC;AAEF,yDAAyD;AACzD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;AACjC;;;;;GAKG;AACH,IAAmC;AACnC;;;;GAIG;AACH,WAAsE;AACtE;;;;GAIG;AACH,aAA4D,EAC9B,EAAE;IAChC,OAAO,uCAAuC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAC5F,CAAC,CAAC;AA8BF;;;;;;;GAOG;AACH,MAAM,UAAgB,6CAA6C,CACjE,UAA8B,EAC9B,SAAoB,EACpB,sBAAkE,EAClE,OAA8C;;QAE9C,MAAM,aAAa,GAAG,CAAC,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAA0B,CAAC;QACrF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,aAAa,CAAC,2BAA2B,EAAE,CAAC;YAC9C,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,sDAAsD;QACtD,MAAM,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAClE,IAAI,yBAAyB,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,6BAA6B,CACtC,UAAU,EACV,sBAA+C,EAC/C,SAAS,EACT,aAAa,EACb,OAAO,CACR,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,6BAA6B,CACtC,UAAU,EACV,sBAA4C,EAC5C,SAAS,EACT,aAAa,EACb,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;CAAA;AAED,yDAAyD;AACzD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,UAA8B,EAC9B,SAAyB,EACzB,OAA2B,EAC3B,OAA6B,EACF,EAAE;IAC7B,MAAM,aAAa,GAAG,CAAC,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAA0B,CAAC;IACrF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAChF,IAAI,aAAa,CAAC,2BAA2B,EAAE,CAAC;QAC9C,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IACD,sDAAsD;IACtD,MAAM,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAClE,OAAO,IAAI,6BAA6B,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACnG,CAAC,CAAA,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,CAAQ,EAAkB,EAAE;IAC/C,OAAO,QAAQ,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { compositeLogger } from '../../../Logger';\nimport { _isInCall, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport {\n CallClientState,\n CallError,\n CallState,\n _createStatefulCallClientInner,\n StatefulCallClient,\n StatefulDeviceManager,\n TeamsCall,\n TeamsCallAgent as BetaTeamsCallAgent,\n _isACSCall,\n _isTeamsCall\n} from '@internal/calling-stateful-client';\nimport { AcceptedTransfer } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { _isTeamsCallAgent } from '@internal/calling-stateful-client';\nimport { CallCommon } from '@internal/calling-stateful-client';\nimport { _TelemetryImplementationHint } from '@internal/acs-ui-common';\nimport {\n AudioOptions,\n CallAgent,\n GroupCallLocator,\n TeamsMeetingLinkLocator,\n LocalVideoStream as SDKLocalVideoStream,\n AudioDeviceInfo,\n VideoDeviceInfo,\n RemoteParticipant,\n PermissionConstraints,\n PropertyChangedEvent,\n RoomCallLocator,\n StartCallOptions,\n VideoOptions,\n Call\n} from '@azure/communication-calling';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(meeting-id) */\nimport { TeamsMeetingIdLocator } from '@azure/communication-calling';\nimport { Reaction } from '@azure/communication-calling';\nimport { TeamsCaptions } from '@azure/communication-calling';\n/* @conditional-compile-remove(acs-close-captions) */\nimport { Captions, CaptionsInfo } from '@azure/communication-calling';\nimport { TransferEventArgs } from '@azure/communication-calling';\nimport { StartCaptionsOptions, TeamsCaptionsInfo } from '@azure/communication-calling';\n\nimport type { BackgroundBlurConfig, BackgroundReplacementConfig } from '@azure/communication-calling';\n\nimport type { CapabilitiesChangeInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-identity-support)) */\nimport { TeamsCallAgent } from '@azure/communication-calling';\nimport { Features } from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\nimport { DtmfTone } from '@azure/communication-calling';\nimport { EventEmitter } from 'events';\nimport {\n CommonCallAdapter,\n CallEndedListener,\n CallIdChangedListener,\n CallAdapterState,\n DisplayNameChangedListener,\n IsMutedChangedListener,\n IsLocalScreenSharingActiveChangedListener,\n IsSpeakingChangedListener,\n ParticipantsJoinedListener,\n ParticipantsLeftListener,\n DiagnosticChangedEventListner,\n CallAdapterCallEndedEvent,\n CallAdapter,\n JoinCallOptions,\n StartCallIdentifier\n} from './CallAdapter';\nimport { ReactionResources } from '@internal/react-components';\nimport { TransferAcceptedListener } from './CallAdapter';\n\nimport { CapabilitiesChangedListener } from './CallAdapter';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightChangedListener } from './CallAdapter';\n\nimport {\n CaptionsReceivedListener,\n IsCaptionsActiveChangedListener,\n IsCaptionLanguageChangedListener,\n IsSpokenLanguageChangedListener\n} from './CallAdapter';\n\nimport {\n VideoBackgroundImage,\n VideoBackgroundEffect,\n VideoBackgroundBlurEffect,\n VideoBackgroundReplacementEffect\n} from './CallAdapter';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCallAdapter } from './CallAdapter';\nimport { getCallCompositePage, getLocatorOrTargetCallees, IsCallEndedPage, isCameraOn } from '../utils';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { toFlatCommunicationIdentifier, _toCommunicationIdentifier, _isValidIdentifier } from '@internal/acs-ui-common';\nimport {\n CommunicationTokenCredential,\n CommunicationUserIdentifier,\n CommunicationIdentifier,\n MicrosoftTeamsUserIdentifier,\n isMicrosoftTeamsUserIdentifier,\n MicrosoftTeamsAppIdentifier,\n UnknownIdentifier,\n isMicrosoftTeamsAppIdentifier\n} from '@azure/communication-common';\n/* @conditional-compile-remove(teams-identity-support) */ /* @conditional-compile-remove(PSTN-calls) */\nimport { isCommunicationUserIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { isPhoneNumberIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { ParticipantSubscriber } from './ParticipantSubcriber';\nimport { AdapterError } from '../../common/adapters';\nimport { DiagnosticsForwarder } from './DiagnosticsForwarder';\nimport { useEffect, useRef, useState } from 'react';\nimport { CallHandlersOf, createHandlers } from './createHandlers';\nimport { createProfileStateModifier, OnFetchProfileCallback } from './OnFetchProfileCallback';\n\nimport { getBackgroundEffectFromSelectedEffect } from '../utils';\nimport { getSelectedCameraFromAdapterState } from '../utils';\n\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\nimport { CallingSoundSubscriber } from './CallingSoundSubscriber';\nimport { CallingSounds } from './CallAdapter';\n\ntype CallTypeOf<AgentType extends CallAgent | BetaTeamsCallAgent> = AgentType extends CallAgent ? Call : TeamsCall;\n\n/** Context of call, which is a centralized context for all state updates */\nclass CallContext {\n private emitter: EventEmitter = new EventEmitter();\n private state: CallAdapterState;\n private callId: string | undefined;\n private displayNameModifier: AdapterStateModifier | undefined;\n\n constructor(\n clientState: CallClientState,\n isTeamsCall: boolean,\n isTeamsMeeting: boolean,\n isRoomsCall: boolean,\n options?: {\n maxListeners?: number;\n onFetchProfile?: OnFetchProfileCallback;\n\n videoBackgroundOptions?: {\n videoBackgroundImages?: VideoBackgroundImage[];\n onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n };\n callingSounds?: CallingSounds;\n reactionResources?: ReactionResources;\n },\n targetCallees?: StartCallIdentifier[]\n ) {\n this.state = {\n isLocalPreviewMicrophoneEnabled: false,\n userId: clientState.userId,\n displayName: clientState.callAgent?.displayName,\n devices: clientState.deviceManager,\n call: undefined,\n targetCallees: targetCallees as CommunicationIdentifier[],\n page: 'configuration',\n latestErrors: clientState.latestErrors,\n isTeamsCall,\n isTeamsMeeting,\n isRoomsCall,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId: clientState.alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */ environmentInfo: clientState.environmentInfo,\n /* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserVersionsAllowed: false,\n videoBackgroundImages: options?.videoBackgroundOptions?.videoBackgroundImages,\n\n onResolveVideoEffectDependency: options?.videoBackgroundOptions?.onResolveDependency,\n selectedVideoBackgroundEffect: undefined,\n cameraStatus: undefined,\n sounds: options?.callingSounds,\n reactions: options?.reactionResources\n };\n this.emitter.setMaxListeners(options?.maxListeners ?? 50);\n this.bindPublicMethods();\n this.displayNameModifier = options?.onFetchProfile\n ? createProfileStateModifier(options.onFetchProfile, () => {\n this.setState(this.getState());\n })\n : undefined;\n }\n\n private bindPublicMethods(): void {\n /* @conditional-compile-remove(unsupported-browser) */\n this.setAllowedUnsupportedBrowser.bind(this);\n }\n\n public onStateChange(handler: (_uiState: CallAdapterState) => void): void {\n this.emitter.on('stateChanged', handler);\n }\n\n public offStateChange(handler: (_uiState: CallAdapterState) => void): void {\n this.emitter.off('stateChanged', handler);\n }\n\n public setState(state: CallAdapterState): void {\n this.state = this.displayNameModifier ? this.displayNameModifier(state) : state;\n this.emitter.emit('stateChanged', this.state);\n }\n\n public getState(): CallAdapterState {\n return this.state;\n }\n\n public setIsLocalMicrophoneEnabled(isLocalPreviewMicrophoneEnabled: boolean): void {\n this.setState({ ...this.state, isLocalPreviewMicrophoneEnabled });\n }\n\n // This is the key to find current call object in client state\n public setCurrentCallId(callId: string | undefined): void {\n this.callId = callId;\n }\n\n public setTargetCallee(targetCallees: StartCallIdentifier[]): void {\n this.setState({ ...this.state, targetCallees });\n }\n\n public onCallEnded(handler: (callEndedData: CallAdapterCallEndedEvent) => void): void {\n this.emitter.on('callEnded', handler);\n }\n\n public offCallEnded(handler: (callEndedData: CallAdapterCallEndedEvent) => void): void {\n this.emitter.off('callEnded', handler);\n }\n\n public updateClientState(clientState: CallClientState): void {\n let call = this.callId ? clientState.calls[this.callId] : undefined;\n const latestEndedCall = clientState.callsEnded ? findLatestEndedCall(clientState.callsEnded) : undefined;\n // As the state is transitioning to a new state, trigger appropriate callback events.\n const oldPage = this.state.page;\n /* @conditional-compile-remove(unsupported-browser) */\n const environmentInfo = {\n environmentInfo: this.state.environmentInfo,\n unsupportedBrowserVersionOptedIn: this.state.unsupportedBrowserVersionsAllowed\n };\n\n const latestAcceptedTransfer = call?.transfer.acceptedTransfers\n ? findLatestAcceptedTransfer(call.transfer.acceptedTransfers)\n : undefined;\n const transferCall = latestAcceptedTransfer ? clientState.calls[latestAcceptedTransfer.callId] : undefined;\n\n const newPage = getCallCompositePage(\n call,\n latestEndedCall,\n transferCall,\n /* @conditional-compile-remove(unsupported-browser) */ environmentInfo\n );\n if (!IsCallEndedPage(oldPage) && IsCallEndedPage(newPage)) {\n this.emitter.emit('callEnded', { callId: this.callId });\n // Reset the callId to undefined as the call has ended.\n this.setCurrentCallId(undefined);\n // Make sure that the call is set to undefined in the state.\n call = undefined;\n }\n\n if (this.state.page) {\n this.setState({\n ...this.state,\n userId: clientState.userId,\n displayName: clientState.callAgent?.displayName,\n call,\n page: newPage,\n endedCall: latestEndedCall,\n devices: clientState.deviceManager,\n latestErrors: clientState.latestErrors,\n cameraStatus:\n call?.localVideoStreams.find((s) => s.mediaStreamType === 'Video') ||\n clientState.deviceManager.unparentedViews.find((s) => s.mediaStreamType === 'Video')\n ? 'On'\n : 'Off',\n acceptedTransferCallState: transferCall\n });\n }\n }\n\n /* @conditional-compile-remove(unsupported-browser) */\n public setAllowedUnsupportedBrowser(): void {\n this.setState({ ...this.state, unsupportedBrowserVersionsAllowed: true });\n }\n\n public setBackroundPickerImages(videoBackgroundImages: VideoBackgroundImage[]): void {\n this.setState({ ...this.state, videoBackgroundImages });\n }\n\n public setSelectedVideoBackgroundEffect(selectedVideoBackgroundEffect?: VideoBackgroundEffect): void {\n this.setState({ ...this.state, selectedVideoBackgroundEffect });\n }\n\n public setAcceptedTransferCall(call?: CallState): void {\n this.setState({ ...this.state, acceptedTransferCallState: call });\n }\n}\n\nconst findLatestEndedCall = (calls: { [key: string]: CallState }): CallState | undefined => {\n const callStates = Object.values(calls);\n if (callStates.length === 0) {\n return undefined;\n }\n let latestCall = callStates[0];\n for (const call of callStates.slice(1)) {\n if ((call.endTime?.getTime() ?? 0) > (latestCall.endTime?.getTime() ?? 0)) {\n latestCall = call;\n }\n }\n return latestCall;\n};\n\nconst findLatestAcceptedTransfer = (acceptedTransfers: {\n [key: string]: AcceptedTransfer;\n}): AcceptedTransfer | undefined => {\n const acceptedTransferValues = Object.values(acceptedTransfers);\n if (acceptedTransferValues.length === 0) {\n return undefined;\n }\n let latestAcceptedTransfer = acceptedTransferValues[0];\n for (const acceptedTransfer of acceptedTransferValues.slice(1)) {\n if ((acceptedTransfer.timestamp?.getTime() ?? 0) > (latestAcceptedTransfer.timestamp?.getTime() ?? 0)) {\n latestAcceptedTransfer = acceptedTransfer;\n }\n }\n return latestAcceptedTransfer;\n};\n\n/**\n * @private\n */\nexport type AdapterStateModifier = (state: CallAdapterState) => CallAdapterState;\n\n/**\n * @private\n */\nexport class AzureCommunicationCallAdapter<AgentType extends CallAgent | BetaTeamsCallAgent = CallAgent>\n implements CommonCallAdapter\n{\n private callClient: StatefulCallClient;\n private callAgent: AgentType;\n private deviceManager: StatefulDeviceManager;\n private locator?: CallAdapterLocator;\n targetCallees?: StartCallIdentifier[];\n // Never use directly, even internally. Use `call` property instead.\n private _call?: CallCommon;\n private context: CallContext;\n private diagnosticsForwarder?: DiagnosticsForwarder;\n private handlers: CallHandlersOf<AgentType>;\n private participantSubscribers = new Map<string, ParticipantSubscriber>();\n private emitter: EventEmitter = new EventEmitter();\n private callingSoundSubscriber: CallingSoundSubscriber | undefined;\n private onClientStateChange: (clientState: CallClientState) => void;\n\n private onResolveVideoBackgroundEffectsDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n\n private get call(): CallCommon | undefined {\n return this._call;\n }\n\n private set call(newCall: CallCommon | undefined) {\n this.resetDiagnosticsForwarder(newCall);\n this._call = newCall;\n }\n constructor(\n callClient: StatefulCallClient,\n locator: CallAdapterLocator,\n callAgent: AgentType,\n deviceManager: StatefulDeviceManager,\n options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions\n );\n constructor(\n callClient: StatefulCallClient,\n targetCallees: StartCallIdentifier[],\n callAgent: AgentType,\n deviceManager: StatefulDeviceManager,\n options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions\n );\n constructor(\n callClient: StatefulCallClient,\n locatorOrTargetCalless: CallAdapterLocator | StartCallIdentifier[],\n callAgent: AgentType,\n deviceManager: StatefulDeviceManager,\n options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions\n ) {\n this.bindPublicMethods();\n this.callClient = callClient;\n this.callAgent = callAgent;\n this.targetCallees =\n getLocatorOrTargetCallees(locatorOrTargetCalless) === true\n ? (locatorOrTargetCalless as StartCallIdentifier[])\n : undefined;\n this.locator =\n getLocatorOrTargetCallees(locatorOrTargetCalless) === false\n ? (locatorOrTargetCalless as CallAdapterLocator)\n : undefined;\n this.deviceManager = deviceManager;\n const isTeamsMeeting = this.locator\n ? 'meetingLink' in this.locator || /* @conditional-compile-remove(meeting-id) */ 'meetingId' in this.locator\n : false;\n let isTeamsCall: boolean | undefined;\n this.targetCallees?.forEach((callee) => {\n if (isMicrosoftTeamsUserIdentifier(callee) || isMicrosoftTeamsAppIdentifier(callee)) {\n isTeamsCall = true;\n }\n });\n\n const isRoomsCall = this.locator ? 'roomId' in this.locator : false;\n\n this.onResolveVideoBackgroundEffectsDependency = options?.videoBackgroundOptions?.onResolveDependency;\n\n this.context = new CallContext(\n callClient.getState(),\n !!isTeamsCall,\n isTeamsMeeting,\n isRoomsCall,\n options,\n this.targetCallees\n );\n\n this.context.onCallEnded((endCallData) => this.emitter.emit('callEnded', endCallData));\n\n const onStateChange = (clientState: CallClientState): void => {\n // unsubscribe when the instance gets disposed\n if (!this) {\n callClient.offStateChange(onStateChange);\n return;\n }\n\n // `updateClientState` searches for the current call from all the calls in the state using a cached `call.id`\n // from the call object. `call.id` can change during a call. We must update the cached `call.id` before\n // calling `updateClientState` so that we find the correct state object for the call even when `call.id`\n // has changed.\n // https://github.com/Azure/communication-ui-library/pull/1820\n if (this.call?.id) {\n this.context.setCurrentCallId(this.call.id);\n }\n\n // If the call connects we need to clean up any previous unparentedViews\n if (\n (this.call?.state === 'InLobby' || this.call?.state === 'Connected') &&\n this.callClient.getState().deviceManager.unparentedViews.length > 0\n ) {\n this.callClient.getState().deviceManager.unparentedViews.forEach((view) => {\n this.callClient.disposeView(undefined, undefined, view);\n });\n }\n\n this.context.updateClientState(clientState);\n };\n\n this.handlers = createHandlers(callClient, callAgent, deviceManager, undefined, {\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n });\n\n this.onClientStateChange = onStateChange;\n\n this.subscribeDeviceManagerEvents();\n\n this.callClient.onStateChange(onStateChange);\n\n if (this.callAgent.kind === 'CallAgent') {\n const onCallsUpdated = (args: { added: Call[]; removed: Call[] }): void => {\n if (this.call?.id) {\n const removedCall = args.removed.find((call) => call.id === this.call?.id);\n if (removedCall) {\n const removedCallState = this.callClient.getState().callsEnded[removedCall.id];\n const latestAcceptedTransfer = findLatestAcceptedTransfer(removedCallState.transfer.acceptedTransfers);\n const _callAgent = callAgent as CallAgent;\n const transferCall = _callAgent.calls.find((call: Call) => call.id === latestAcceptedTransfer?.callId);\n if (transferCall) {\n this.processNewCall(transferCall);\n }\n }\n }\n };\n (this.callAgent as CallAgent).on('callsUpdated', onCallsUpdated);\n }\n /* @conditional-compile-remove(teams-identity-support) */\n if (this.callAgent.kind === 'TeamsCallAgent') {\n const onTeamsCallsUpdated = (args: { added: TeamsCall[]; removed: TeamsCall[] }): void => {\n if (this.call?.id) {\n const removedCall = args.removed.find((call) => call.id === this.call?.id);\n if (removedCall) {\n const removedCallState = this.callClient.getState().callsEnded[removedCall.id];\n const latestAcceptedTransfer = findLatestAcceptedTransfer(removedCallState.transfer.acceptedTransfers);\n const _callAgent = callAgent as TeamsCallAgent;\n const transferCall = _callAgent.calls.find((call: TeamsCall) => call.id === latestAcceptedTransfer?.callId);\n if (transferCall) {\n this.processNewCall(transferCall);\n }\n }\n }\n };\n (this.callAgent as TeamsCallAgent).on('callsUpdated', onTeamsCallsUpdated);\n }\n }\n\n // TODO: update this to include the 'selectedCameraChanged' when calling adds it to the device manager\n private subscribeDeviceManagerEvents(): void {\n this.deviceManager.on('selectedMicrophoneChanged', () => {\n this.emitter.emit('selectedMicrophoneChanged');\n });\n this.deviceManager.on('selectedSpeakerChanged', () => {\n this.emitter.emit('selectedSpeakerChanged');\n });\n }\n\n private bindPublicMethods(): void {\n this.onStateChange.bind(this);\n this.offStateChange.bind(this);\n this.getState.bind(this);\n this.dispose.bind(this);\n this.joinCall.bind(this);\n this.leaveCall.bind(this);\n this.setCamera.bind(this);\n this.setMicrophone.bind(this);\n this.setSpeaker.bind(this);\n this.askDevicePermission.bind(this);\n this.queryCameras.bind(this);\n this.queryMicrophones.bind(this);\n this.querySpeakers.bind(this);\n this.startCamera.bind(this);\n this.stopCamera.bind(this);\n this.mute.bind(this);\n this.unmute.bind(this);\n this.startCall.bind(this);\n this.startScreenShare.bind(this);\n this.stopScreenShare.bind(this);\n this.raiseHand.bind(this);\n this.onReactionClick.bind(this);\n this.lowerHand.bind(this);\n this.removeParticipant.bind(this);\n this.createStreamView.bind(this);\n this.disposeStreamView.bind(this);\n this.disposeScreenShareStreamView.bind(this);\n this.disposeRemoteVideoStreamView.bind(this);\n this.disposeLocalVideoStreamView.bind(this);\n this.on.bind(this);\n this.off.bind(this);\n this.processNewCall.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.addParticipant.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.holdCall.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.resumeCall.bind(this);\n this.sendDtmfTone.bind(this);\n /* @conditional-compile-remove(unsupported-browser) */\n this.allowUnsupportedBrowserVersion.bind(this);\n this.startCaptions.bind(this);\n this.stopCaptions.bind(this);\n this.setSpokenLanguage.bind(this);\n this.setCaptionLanguage.bind(this);\n this.startVideoBackgroundEffect.bind(this);\n\n this.stopVideoBackgroundEffects.bind(this);\n\n this.updateBackgroundPickerImages.bind(this);\n /* @conditional-compile-remove(end-of-call-survey) */\n this.submitSurvey.bind(this);\n /* @conditional-compile-remove(spotlight) */\n this.startSpotlight.bind(this);\n /* @conditional-compile-remove(spotlight) */\n this.stopSpotlight.bind(this);\n /* @conditional-compile-remove(spotlight) */\n this.stopAllSpotlight.bind(this);\n }\n\n public dispose(): void {\n this.resetDiagnosticsForwarder();\n this.callClient.offStateChange(this.onClientStateChange);\n this.callAgent.dispose();\n }\n\n public async queryCameras(): Promise<VideoDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const cameras = await this.deviceManager.getCameras();\n const endTime = new Date().getTime();\n compositeLogger.info('time to query cameras', endTime - startTime, 'ms');\n return cameras;\n });\n }\n\n public async queryMicrophones(): Promise<AudioDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const microphones = await this.deviceManager.getMicrophones();\n const endTime = new Date().getTime();\n compositeLogger.info('time to query microphones', endTime - startTime, 'ms');\n return microphones;\n });\n }\n\n public async querySpeakers(): Promise<AudioDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const speakers = (await this.deviceManager.isSpeakerSelectionAvailable) ? this.deviceManager.getSpeakers() : [];\n const endTime = new Date().getTime();\n compositeLogger.info('time to query speakers', endTime - startTime, 'ms');\n return speakers;\n });\n }\n\n public async askDevicePermission(constrain: PermissionConstraints): Promise<void> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.deviceManager.askDevicePermission(constrain);\n const endTime = new Date().getTime();\n compositeLogger.info('time to query askDevicePermissions', endTime - startTime, 'ms');\n });\n }\n\n public joinCall(options?: boolean | JoinCallOptions): CallTypeOf<AgentType> | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call!');\n } else if (this.locator === undefined) {\n throw new Error('Locator is not defined!');\n }\n\n return this.teeErrorToEventEmitter(() => {\n // Default to keeping camera/mic on if no override argument specified\n let shouldCameraBeOnInCall = this.getState().cameraStatus === 'On';\n let shouldMicrophoneBeOnInCall = this.getState().isLocalPreviewMicrophoneEnabled;\n\n // Apply override arguments\n if (typeof options === 'boolean') {\n // Deprecated joinCall API (boolen)\n shouldMicrophoneBeOnInCall = options;\n } else if (typeof options === 'object') {\n // Options bag API\n if (options.microphoneOn && options.microphoneOn !== 'keep') {\n shouldMicrophoneBeOnInCall = options.microphoneOn;\n }\n if (options.cameraOn && options.cameraOn !== 'keep') {\n shouldCameraBeOnInCall = options.cameraOn;\n }\n }\n\n const audioOptions: AudioOptions = { muted: !shouldMicrophoneBeOnInCall };\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n const videoOptions: VideoOptions =\n selectedCamera && shouldCameraBeOnInCall\n ? { localVideoStreams: [new SDKLocalVideoStream(selectedCamera)] }\n : {};\n const call = this._joinCall(audioOptions, videoOptions);\n\n this.processNewCall(call);\n return call;\n });\n }\n\n private _joinCall(audioOptions: AudioOptions, videoOptions: VideoOptions): CallTypeOf<AgentType> {\n const isTeamsMeeting = this.locator ? 'meetingLink' in this.locator : false;\n /* @conditional-compile-remove(meeting-id) */\n const isTeamsMeetingId = this.locator ? 'meetingId' in this.locator : false;\n const isRoomsCall = this.locator ? 'roomId' in this.locator : false;\n\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(this.callAgent)) {\n if (isTeamsMeeting) {\n return this.callAgent.join(this.locator as TeamsMeetingLinkLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n /* @conditional-compile-remove(meeting-id) */\n if (isTeamsMeetingId) {\n return this.callAgent.join(this.locator as TeamsMeetingIdLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n throw new Error('Locator not supported by TeamsCallAgent');\n }\n\n if (isTeamsMeeting) {\n return this.callAgent.join(this.locator as TeamsMeetingLinkLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n\n /* @conditional-compile-remove(meeting-id) */\n if (isTeamsMeetingId) {\n return this.callAgent.join(this.locator as TeamsMeetingIdLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n if (isRoomsCall) {\n return this.callAgent.join(this.locator as RoomCallLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n return this.callAgent.join(this.locator as GroupCallLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n\n public async createStreamView(\n remoteUserId?: string,\n options?: VideoStreamOptions\n ): Promise<void | CreateVideoStreamViewResult> {\n if (remoteUserId === undefined) {\n return await this.handlers.onCreateLocalStreamView(options);\n } else {\n return await this.handlers.onCreateRemoteStreamView(remoteUserId, options);\n }\n }\n\n public async disposeStreamView(remoteUserId?: string): Promise<void> {\n if (remoteUserId === undefined) {\n await this.handlers.onDisposeLocalStreamView();\n } else {\n await this.handlers.onDisposeRemoteStreamView(remoteUserId);\n }\n }\n\n public async disposeScreenShareStreamView(remoteUserId: string): Promise<void> {\n await this.handlers.onDisposeRemoteScreenShareStreamView(remoteUserId);\n }\n\n public async disposeRemoteVideoStreamView(remoteUserId: string): Promise<void> {\n await this.handlers.onDisposeRemoteVideoStreamView(remoteUserId);\n }\n\n public async disposeLocalVideoStreamView(): Promise<void> {\n await this.handlers.onDisposeLocalStreamView();\n }\n\n public async leaveCall(forEveryone?: boolean): Promise<void> {\n if (this.getState().page === 'transferring') {\n const transferCall = this.callAgent.calls.filter(\n (call) => call.id === this.getState().acceptedTransferCallState?.id\n )[0];\n transferCall?.hangUp();\n }\n await this.handlers.onHangUp(forEveryone);\n this.unsubscribeCallEvents();\n this.handlers = createHandlers(this.callClient, this.callAgent, this.deviceManager, this.call, {\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n });\n // We set the adapter.call object to undefined immediately when a call is ended.\n // We do not set the context.callId to undefined because it is a part of the immutable data flow loop.\n this.call = undefined;\n this.stopCamera();\n this.mute();\n }\n\n public async setCamera(device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectCamera(device, options);\n });\n }\n\n public async setMicrophone(device: AudioDeviceInfo): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectMicrophone(device);\n });\n }\n\n public async setSpeaker(device: AudioDeviceInfo): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectSpeaker(device);\n });\n }\n\n public async startCamera(options?: VideoStreamOptions): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (!isCameraOn(this.getState())) {\n // First kick off the effect on the local device before starting the camera in the call.\n // This prevents the effect not being applied for a brief moment when the camera is started.\n\n {\n const selectedEffect = this.getState().selectedVideoBackgroundEffect;\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n if (selectedEffect && selectedCamera && this.onResolveVideoBackgroundEffectsDependency) {\n const stream = new SDKLocalVideoStream(selectedCamera);\n const effect = getBackgroundEffectFromSelectedEffect(\n selectedEffect,\n await this.onResolveVideoBackgroundEffectsDependency()\n );\n\n if (effect) {\n await stream.feature(Features.VideoEffects).startEffects(effect);\n } else {\n await stream.feature(Features.VideoEffects).stopEffects();\n }\n }\n }\n\n await this.handlers.onToggleCamera(options);\n }\n });\n }\n\n public async stopCamera(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (isCameraOn(this.getState())) {\n await this.handlers.onToggleCamera();\n }\n });\n }\n\n public async mute(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n this.context.setIsLocalMicrophoneEnabled(false);\n if (_isInCall(this.call?.state) && !this.call?.isMuted) {\n await this.handlers.onToggleMicrophone();\n }\n });\n }\n\n public async unmute(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n this.context.setIsLocalMicrophoneEnabled(true);\n if ((_isInCall(this.call?.state) || _isInLobbyOrConnecting(this.call?.state)) && this.call?.isMuted) {\n await this.handlers.onToggleMicrophone();\n }\n });\n }\n\n public async startScreenShare(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (!this.call?.isScreenSharingOn) {\n await this.handlers.onToggleScreenShare();\n }\n });\n }\n\n public async stopScreenShare(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (this.call?.isScreenSharingOn) {\n await this.handlers.onToggleScreenShare();\n }\n });\n }\n\n public async raiseHand(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onToggleRaiseHand();\n });\n }\n\n public async lowerHand(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onToggleRaiseHand();\n });\n }\n\n public async onReactionClick(reaction: Reaction): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onReactionClick(reaction);\n });\n }\n\n /* @conditional-compile-remove(unsupported-browser) */\n public allowUnsupportedBrowserVersion(): void {\n this.context.setAllowedUnsupportedBrowser();\n this.context.updateClientState(this.callClient.getState());\n }\n\n public async startVideoBackgroundEffect(videoBackgroundEffect: VideoBackgroundEffect): Promise<void> {\n if (this.isBlurEffect(videoBackgroundEffect)) {\n const blurConfig = videoBackgroundEffect as BackgroundBlurConfig;\n await this.handlers.onBlurVideoBackground(blurConfig);\n } else if (this.isReplacementEffect(videoBackgroundEffect)) {\n const replaceConfig = videoBackgroundEffect as BackgroundReplacementConfig;\n await this.handlers.onReplaceVideoBackground(replaceConfig);\n }\n }\n\n public async stopVideoBackgroundEffects(): Promise<void> {\n await this.handlers.onRemoveVideoBackgroundEffects();\n }\n\n public updateBackgroundPickerImages(backgroundImages: VideoBackgroundImage[]): void {\n this.context.setBackroundPickerImages(backgroundImages);\n }\n\n public updateSelectedVideoBackgroundEffect(selectedVideoBackground: VideoBackgroundEffect): void {\n this.context.setSelectedVideoBackgroundEffect(selectedVideoBackground);\n }\n\n public startCall(\n participants:\n | string[]\n | (\n | MicrosoftTeamsAppIdentifier\n | /* @conditional-compile-remove(PSTN-calls) */ PhoneNumberIdentifier\n | /* @conditional-compile-remove(one-to-n-calling) */ CommunicationUserIdentifier\n | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier\n | UnknownIdentifier\n )[],\n options?: StartCallOptions\n ): CallTypeOf<AgentType> | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call.');\n }\n\n const isCameraOn = this.getState().cameraStatus === 'On';\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n /* we only configure the video options here since the Calling SDK always unmutes the participant when starting a call */\n const startCallVideoOptions: StartCallOptions = selectedCamera\n ? {\n videoOptions: isCameraOn ? { localVideoStreams: [new SDKLocalVideoStream(selectedCamera)] } : undefined\n }\n : {};\n\n const combinedCallOptions = { ...startCallVideoOptions, ...options };\n\n const idsToAdd = participants.map((participant) => {\n const backendId: CommunicationIdentifier = _toCommunicationIdentifier(participant);\n if ('phoneNumber' in backendId) {\n if (options?.alternateCallerId === undefined) {\n throw new Error('Unable to start call, PSTN user present with no alternateCallerId.');\n }\n }\n return backendId;\n });\n\n this.context.setTargetCallee(\n idsToAdd as (\n | MicrosoftTeamsAppIdentifier\n | /* @conditional-compile-remove(PSTN-calls) */ PhoneNumberIdentifier\n | /* @conditional-compile-remove(one-to-n-calling) */ CommunicationUserIdentifier\n | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier\n | UnknownIdentifier\n )[]\n );\n\n const call = this.handlers.onStartCall(idsToAdd, combinedCallOptions) as CallTypeOf<AgentType>;\n if (!call) {\n throw new Error('Unable to start call.');\n }\n this.processNewCall(call);\n\n return call;\n }\n\n private processNewCall(call: CallCommon): void {\n this.call = call;\n this.context.setCurrentCallId(call.id);\n\n // Resync state after callId is set\n this.context.updateClientState(this.callClient.getState());\n this.handlers = createHandlers(this.callClient, this.callAgent, this.deviceManager, this.call, {\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n });\n this.subscribeCallEvents();\n }\n\n private isBlurEffect(effect: VideoBackgroundEffect): effect is VideoBackgroundBlurEffect {\n return effect.effectName === 'blur';\n }\n\n private isReplacementEffect(effect: VideoBackgroundEffect): effect is VideoBackgroundReplacementEffect {\n return effect.effectName === 'replacement';\n }\n\n public async removeParticipant(\n userId: string | /* @conditional-compile-remove(PSTN-calls) */ CommunicationIdentifier\n ): Promise<void> {\n let participant = userId;\n /* @conditional-compile-remove(PSTN-calls) */\n participant = _toCommunicationIdentifier(userId);\n this.handlers.onRemoveParticipant(participant);\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n public async addParticipant(participant: CommunicationUserIdentifier): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n public async addParticipant(\n participant: PhoneNumberIdentifier | CommunicationUserIdentifier,\n options?: AddPhoneNumberOptions\n ): Promise<void> {\n if (isPhoneNumberIdentifier(participant) && options) {\n this.handlers.onAddParticipant(participant, options);\n } else if (isCommunicationUserIdentifier(participant)) {\n this.handlers.onAddParticipant(participant);\n }\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async holdCall(): Promise<void> {\n if (this.call?.state !== 'LocalHold') {\n if (this.call?.isLocalVideoStarted) {\n this.stopCamera().then(() => {\n this.handlers.onToggleHold();\n });\n } else {\n this.handlers.onToggleHold();\n }\n }\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async resumeCall(): Promise<void> {\n if (this.call?.state === 'LocalHold') {\n this.handlers.onToggleHold().then(() => {\n if (this.call?.feature(Features.Capabilities).capabilities.turnVideoOn.isPresent === false) {\n this.stopCamera();\n }\n });\n }\n }\n\n public async sendDtmfTone(dtmfTone: DtmfTone): Promise<void> {\n this.handlers.onSendDtmfTone(dtmfTone);\n }\n\n public async startCaptions(options?: StartCaptionsOptions): Promise<void> {\n this.handlers.onStartCaptions(options);\n }\n\n public async stopCaptions(): Promise<void> {\n this.handlers.onStopCaptions();\n }\n\n public async setCaptionLanguage(language: string): Promise<void> {\n this.handlers.onSetCaptionLanguage(language);\n }\n\n public async setSpokenLanguage(language: string): Promise<void> {\n this.handlers.onSetSpokenLanguage(language);\n }\n /* @conditional-compile-remove(end-of-call-survey) */\n public async submitSurvey(survey: CallSurvey): Promise<CallSurveyResponse | undefined> {\n return this.handlers.onSubmitSurvey(survey);\n }\n\n /* @conditional-compile-remove(spotlight) */\n public async startSpotlight(userIds?: string[]): Promise<void> {\n this.handlers.onStartSpotlight(userIds);\n }\n\n /* @conditional-compile-remove(spotlight) */\n public async stopSpotlight(userIds?: string[]): Promise<void> {\n this.handlers.onStopSpotlight(userIds);\n }\n\n /* @conditional-compile-remove(spotlight) */\n public async stopAllSpotlight(): Promise<void> {\n this.handlers.onStopAllSpotlight();\n }\n\n public getState(): CallAdapterState {\n return this.context.getState();\n }\n\n public onStateChange(handler: (state: CallAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n\n public offStateChange(handler: (state: CallAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n\n on(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'participantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n on(event: 'callIdChanged', listener: CallIdChangedListener): void;\n on(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n on(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n on(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n on(event: 'callEnded', listener: CallEndedListener): void;\n on(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'error', errorHandler: (e: AdapterError) => void): void;\n on(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n on(event: 'transferAccepted', listener: TransferAcceptedListener): void;\n on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n on(event: 'roleChanged', listener: PropertyChangedEvent): void;\n /* @conditional-compile-remove(spotlight) */\n on(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public on(event: string, listener: (e: any) => void): void {\n this.emitter.on(event, listener);\n }\n\n private subscribeToCaptionEvents(): void {\n if (this.call && this.call.state === 'Connected') {\n const captionsFeature = this.call?.feature(Features.Captions);\n if (\n captionsFeature.captions.kind === 'TeamsCaptions' &&\n (this.context.getState().isTeamsCall || this.context.getState().isTeamsMeeting)\n ) {\n const teamsCaptionsFeature = captionsFeature.captions as TeamsCaptions;\n teamsCaptionsFeature.on('CaptionsReceived', this.teamsCaptionsReceived.bind(this));\n teamsCaptionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n teamsCaptionsFeature.on('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));\n teamsCaptionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n } else {\n /* @conditional-compile-remove(acs-close-captions) */\n const acsCaptionsFeature = captionsFeature.captions as Captions;\n /* @conditional-compile-remove(acs-close-captions) */\n acsCaptionsFeature.on('CaptionsReceived', this.captionsReceived.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n acsCaptionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n acsCaptionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n }\n }\n }\n\n private unsubscribeFromCaptionEvents(): void {\n if (this.call && this.call.state === 'Connected') {\n const captionsFeature = this.call?.feature(Features.Captions);\n if (\n captionsFeature.captions.kind === 'TeamsCaptions' &&\n (this.context.getState().isTeamsCall || this.context.getState().isTeamsMeeting)\n ) {\n const teamsCaptionsFeature = captionsFeature.captions as TeamsCaptions;\n teamsCaptionsFeature.off('CaptionsReceived', this.teamsCaptionsReceived.bind(this));\n teamsCaptionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n teamsCaptionsFeature.off('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));\n teamsCaptionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n } else {\n /* @conditional-compile-remove(acs-close-captions) */\n const acsCaptionsFeature = captionsFeature.captions as Captions;\n /* @conditional-compile-remove(acs-close-captions) */\n acsCaptionsFeature.off('CaptionsReceived', this.captionsReceived.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n acsCaptionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n acsCaptionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n }\n this.call?.off('stateChanged', this.subscribeToCaptionEvents.bind(this));\n }\n }\n\n private subscribeCallEvents(): void {\n if (this.call) {\n this.callingSoundSubscriber = new CallingSoundSubscriber(\n this.call,\n this.getState().targetCallees,\n this.getState().sounds\n );\n }\n this.call?.on('remoteParticipantsUpdated', this.onRemoteParticipantsUpdated.bind(this));\n this.call?.on('isMutedChanged', this.isMyMutedChanged.bind(this));\n this.call?.on('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));\n this.call?.on('idChanged', this.callIdChanged.bind(this));\n this.call?.on('stateChanged', this.subscribeToCaptionEvents.bind(this));\n this.call?.on('roleChanged', this.roleChanged.bind(this));\n\n this.call?.feature(Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));\n this.call?.feature(Features.Capabilities).on('capabilitiesChanged', this.capabilitiesChanged.bind(this));\n /* @conditional-compile-remove(spotlight) */\n this.call?.feature(Features.Spotlight).on('spotlightChanged', this.spotlightChanged.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n this.call?.feature(Features.Captions).on('CaptionsKindChanged', this.captionsKindChanged.bind(this));\n }\n\n private unsubscribeCallEvents(): void {\n for (const subscriber of this.participantSubscribers.values()) {\n subscriber.unsubscribeAll();\n }\n this.participantSubscribers.clear();\n this.call?.off('remoteParticipantsUpdated', this.onRemoteParticipantsUpdated.bind(this));\n this.call?.off('isMutedChanged', this.isMyMutedChanged.bind(this));\n this.call?.off('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));\n this.call?.off('idChanged', this.callIdChanged.bind(this));\n this.call?.off('roleChanged', this.roleChanged.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n if (this.call?.feature(Features.Captions).captions.kind === 'Captions') {\n this.call?.feature(Features.Captions).off('CaptionsKindChanged', this.unsubscribeFromCaptionEvents.bind(this));\n }\n\n this.unsubscribeFromCaptionEvents();\n if (this.callingSoundSubscriber) {\n this.callingSoundSubscriber.unsubscribeAll();\n }\n }\n\n private isMyMutedChanged = (): void => {\n this.emitter.emit('isMutedChanged', {\n participantId: this.getState().userId,\n isMuted: this.call?.isMuted\n });\n };\n\n /* @conditional-compile-remove(acs-close-captions) */\n private captionsKindChanged(): void {\n const captionsFeature = this.call?.feature(Features.Captions);\n const teamsCaptionsFeature = captionsFeature?.captions as TeamsCaptions;\n teamsCaptionsFeature.on('CaptionsReceived', this.teamsCaptionsReceived.bind(this));\n teamsCaptionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n teamsCaptionsFeature.on('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));\n teamsCaptionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n }\n\n private onRemoteParticipantsUpdated({\n added,\n removed\n }: {\n added: RemoteParticipant[];\n removed: RemoteParticipant[];\n }): void {\n if (added && added.length > 0) {\n this.emitter.emit('participantsJoined', { joined: added });\n }\n if (removed && removed.length > 0) {\n this.emitter.emit('participantsLeft', { removed: removed });\n }\n\n added.forEach((participant) => {\n this.participantSubscribers.set(\n toFlatCommunicationIdentifier(participant.identifier),\n new ParticipantSubscriber(participant, this.emitter)\n );\n });\n\n removed.forEach((participant) => {\n const subscriber = this.participantSubscribers.get(toFlatCommunicationIdentifier(participant.identifier));\n subscriber && subscriber.unsubscribeAll();\n this.participantSubscribers.delete(toFlatCommunicationIdentifier(participant.identifier));\n });\n }\n\n private isScreenSharingOnChanged(): void {\n this.emitter.emit('isLocalScreenSharingActiveChanged', { isScreenSharingOn: this.call?.isScreenSharingOn });\n }\n\n private teamsCaptionsReceived(captionsInfo: TeamsCaptionsInfo): void {\n this.emitter.emit('captionsReceived', { captionsInfo });\n }\n\n /* @conditional-compile-remove(acs-close-captions) */\n private captionsReceived(captionsInfo: CaptionsInfo): void {\n this.emitter.emit('captionsReceived', { captionsInfo });\n }\n\n private isCaptionsActiveChanged(): void {\n const captionsFeature = this.call?.feature(Features.Captions).captions as\n | TeamsCaptions\n | /* @conditional-compile-remove(acs-close-captions) */ Captions;\n this.emitter.emit('isCaptionsActiveChanged', {\n isActive: captionsFeature.isCaptionsFeatureActive\n });\n }\n\n private isSpokenLanguageChanged(): void {\n const captionsFeature = this.call?.feature(Features.Captions).captions as\n | TeamsCaptions\n | /* @conditional-compile-remove(acs-close-captions) */ Captions;\n this.emitter.emit('isSpokenLanguageChanged', {\n activeSpokenLanguage: captionsFeature.activeSpokenLanguage\n });\n }\n\n private isCaptionLanguageChanged(): void {\n const captionsFeature = this.call?.feature(Features.Captions).captions as TeamsCaptions;\n this.emitter.emit('isCaptionLanguageChanged', {\n activeCaptionLanguage: captionsFeature.activeCaptionLanguage\n });\n }\n\n private transferAccepted(args: TransferEventArgs): void {\n this.emitter.emit('transferAccepted', args);\n }\n\n private capabilitiesChanged(data: CapabilitiesChangeInfo): void {\n if (data.newValue.turnVideoOn?.isPresent === false) {\n // Only stop camera when the call state is not on hold. The Calling SDK does not allow us to stop camera when\n // the call state is on hold.\n if (this.call?.state !== 'LocalHold' && this.call?.state !== 'RemoteHold') {\n this.stopCamera();\n }\n this.disposeLocalVideoStreamView();\n }\n if (data.newValue.unmuteMic?.isPresent === false) {\n this.mute();\n }\n if (data.newValue.shareScreen?.isPresent === false) {\n this.stopScreenShare();\n }\n this.emitter.emit('capabilitiesChanged', data);\n }\n\n private roleChanged(): void {\n if (this.call?.role === 'Consumer') {\n this.call?.feature(Features.RaiseHand).lowerHand();\n }\n this.emitter.emit('roleChanged');\n }\n\n /* @conditional-compile-remove(spotlight) */\n private spotlightChanged(args: { added: SpotlightedParticipant[]; removed: SpotlightedParticipant[] }): void {\n this.emitter.emit('spotlightChanged', args);\n }\n\n private callIdChanged(): void {\n this.call?.id && this.emitter.emit('callIdChanged', { callId: this.call.id });\n }\n\n private resetDiagnosticsForwarder(newCall?: CallCommon): void {\n if (this.diagnosticsForwarder) {\n this.diagnosticsForwarder.unsubscribe();\n }\n if (newCall) {\n this.diagnosticsForwarder = new DiagnosticsForwarder(this.emitter, newCall);\n }\n }\n\n off(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'participantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n off(event: 'callIdChanged', listener: CallIdChangedListener): void;\n off(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n off(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n off(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n off(event: 'callEnded', listener: CallEndedListener): void;\n off(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;\n off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'error', errorHandler: (e: AdapterError) => void): void;\n off(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n off(event: 'transferAccepted', listener: TransferAcceptedListener): void;\n off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n off(event: 'roleChanged', listener: PropertyChangedEvent): void;\n /* @conditional-compile-remove(spotlight) */\n off(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public off(event: string, listener: (e: any) => void): void {\n this.emitter.off(event, listener);\n }\n\n private async asyncTeeErrorToEventEmitter<T>(f: () => Promise<T>): Promise<T> {\n try {\n return await f();\n } catch (error) {\n if (isCallError(error as Error)) {\n this.emitter.emit('error', error as AdapterError);\n }\n throw error;\n }\n }\n\n private teeErrorToEventEmitter<T>(f: () => T): T {\n try {\n return f();\n } catch (error) {\n if (isCallError(error as Error)) {\n this.emitter.emit('error', error as AdapterError);\n }\n throw error;\n }\n }\n}\n\n/* @conditional-compile-remove(teams-adhoc-call) */\n/* @conditional-compile-remove(PSTN-calls) */\n/**\n * Locator used by {@link createAzureCommunicationCallAdapter} to call one or more participants\n *\n * @remarks\n * This is currently in beta and only supports calling one Teams User.\n *\n * @example\n * ```\n * ['8:orgid:ab220efe-5725-4742-9792-9fba7c9ac458']\n * ```\n *\n * @beta\n */\nexport type CallParticipantsLocator = {\n participantIds: string[];\n};\n\n/**\n * Locator used by {@link createAzureCommunicationCallAdapter} to locate the call to join\n *\n * @public\n */\nexport type CallAdapterLocator =\n | TeamsMeetingLinkLocator\n | GroupCallLocator\n | RoomCallLocator\n | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */ CallParticipantsLocator\n | /* @conditional-compile-remove(meeting-id) */ TeamsMeetingIdLocator;\n\n/**\n * Common optional parameters to create {@link AzureCommunicationCallAdapter} or {@link TeamsCallAdapter}\n *\n * @public\n */\nexport type CommonCallAdapterOptions = {\n /**\n * Default set of background images for background image picker.\n */\n videoBackgroundOptions?: {\n videoBackgroundImages?: VideoBackgroundImage[];\n onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n };\n /**\n * Use this to fetch profile information which will override data in {@link CallAdapterState} like display name\n * The onFetchProfile is fetch-and-forget one time action for each user, once a user profile is updated, the value will be cached\n * and would not be updated again within the lifecycle of adapter.\n */\n onFetchProfile?: OnFetchProfileCallback;\n /**\n * Sounds to use for calling events\n */\n callingSounds?: CallingSounds;\n /**\n * Reaction resource for reaction resources\n * @beta\n */\n reactionResources?: ReactionResources;\n};\n\n/**\n * Optional parameters to create {@link AzureCommunicationCallAdapter}\n *\n * @public\n */\nexport type AzureCommunicationCallAdapterOptions = CommonCallAdapterOptions;\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link CallAdapter}.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport type AzureCommunicationCallAdapterArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAdapterLocator;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * A phone number in E.164 format procured using Azure Communication Services that will be used to represent callers identity.\n * E.164 numbers are formatted as [+] [country code] [phone number including area code]. For example, +14255550123 for a US phone number.\n */\n alternateCallerId?: string;\n\n /**\n * Optional parameters for the {@link AzureCommunicationCallAdapter} created\n */\n options?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link CallAdapter}.\n *\n * These arguments are used to create an outbound call scenarios.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport type AzureCommunicationOutboundCallAdapterArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n targetCallees: StartCallIdentifier[];\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * A phone number in E.164 format procured using Azure Communication Services that will be used to represent callers identity.\n * E.164 numbers are formatted as [+] [country code] [phone number including area code]. For example, +14255550123 for a US phone number.\n */\n alternateCallerId?: string;\n\n /**\n * Optional parameters for the {@link AzureCommunicationCallAdapter} created\n */\n options?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Optional parameters to create {@link TeamsCallAdapter}\n *\n * @public\n */\nexport type TeamsAdapterOptions = CommonCallAdapterOptions;\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link TeamsCallAdapter}.\n *\n * @beta\n */\nexport type TeamsCallAdapterArgs = {\n userId: MicrosoftTeamsUserIdentifier;\n credential: CommunicationTokenCredential;\n locator:\n | TeamsMeetingLinkLocator\n | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */ CallParticipantsLocator\n | /* @conditional-compile-remove(meeting-id) */ TeamsMeetingIdLocator;\n /**\n * Optional parameters for the {@link TeamsCallAdapter} created\n */\n options?: TeamsAdapterOptions;\n};\n\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(\n args: AzureCommunicationCallAdapterArgs\n): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(\n args: AzureCommunicationOutboundCallAdapterArgs\n): Promise<CallAdapter>;\n/**\n * @public\n */\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(\n args: AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs\n): Promise<CallAdapter> {\n if (isMicrosoftTeamsUserIdentifier(args.userId)) {\n throw new Error(\n 'Microsoft Teams user identifier is not supported by AzureCommunicationCallAdapter. Instead use TeamsCallAdapter.'\n );\n }\n return _createAzureCommunicationCallAdapterInner({\n userId: args.userId,\n displayName: args.displayName,\n credential: args.credential,\n locator: (args as AzureCommunicationCallAdapterArgs).locator,\n targetCallees: (args as AzureCommunicationOutboundCallAdapterArgs).targetCallees,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId: args.alternateCallerId,\n\n options: args.options\n });\n}\n\n/**\n * This inner function is used to allow injection of TelemetryImplementationHint without changing the public API.\n *\n * @internal\n */\nexport const _createAzureCommunicationCallAdapterInner = async ({\n userId,\n displayName,\n credential,\n locator,\n targetCallees,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n options,\n telemetryImplementationHint = 'Call'\n}: {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAdapterLocator;\n targetCallees?: StartCallIdentifier[];\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId?: string;\n options?: AzureCommunicationCallAdapterOptions;\n telemetryImplementationHint?: _TelemetryImplementationHint;\n}): Promise<CallAdapter> => {\n if (!_isValidIdentifier(userId)) {\n throw new Error('Invalid identifier. Please provide valid identifier object.');\n }\n const callClient = _createStatefulCallClientInner(\n {\n userId,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId\n },\n undefined,\n telemetryImplementationHint\n );\n const callAgent = await callClient.createCallAgent(credential, {\n displayName\n });\n let adapter;\n if (locator) {\n adapter = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, locator, options);\n } else {\n adapter = createAzureCommunicationCallAdapterFromClient(\n callClient,\n callAgent,\n targetCallees as StartCallIdentifier[],\n options\n );\n }\n return adapter;\n};\n\n/* @conditional-compile-remove(teams-identity-support) */\n/**\n * @beta\n */\nexport const createTeamsCallAdapter = async ({\n userId,\n credential,\n locator,\n options\n}: TeamsCallAdapterArgs): Promise<TeamsCallAdapter> => {\n if (isCommunicationUserIdentifier(userId)) {\n throw new Error(\n 'Communication User identifier is not supported by TeamsCallAdapter, please use our AzureCommunicationCallAdapter.'\n );\n }\n const callClient = _createStatefulCallClientInner(\n {\n userId\n },\n undefined,\n 'Call' as _TelemetryImplementationHint\n );\n const callAgent = await callClient.createTeamsCallAgent(credential, {\n undefined\n });\n const adapter = createTeamsCallAdapterFromClient(callClient, callAgent, locator, options);\n return adapter;\n};\n\ntype PartialArgsType<Adapter> = Adapter extends CallAdapter\n ? Partial<AzureCommunicationCallAdapterArgs>\n : Partial<TeamsCallAdapterArgs>;\n\ntype PartialArgsOutboundType<Adapter> = Adapter extends CallAdapter\n ? Partial<AzureCommunicationOutboundCallAdapterArgs>\n : Partial<TeamsCallAdapterArgs>;\n\ntype AdapterOf<AdapterKind extends 'AzureCommunication' | 'Teams'> = AdapterKind extends 'AzureCommunication'\n ? CallAdapter\n : never | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAdapter;\n\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<\n AdapterKind extends 'AzureCommunication' | 'Teams',\n Adapter extends AdapterOf<AdapterKind>\n>(\n args: PartialArgsType<Adapter>,\n adapterKind: AdapterKind,\n afterCreate?: (adapter: Adapter) => Promise<Adapter>,\n beforeDispose?: (adapter: Adapter) => Promise<void>\n): Adapter | undefined;\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<\n AdapterKind extends 'AzureCommunication' | 'Teams',\n Adapter extends AdapterOf<AdapterKind>\n>(\n args: PartialArgsOutboundType<Adapter>,\n adapterKind: AdapterKind,\n afterCreate?: (adapter: Adapter) => Promise<Adapter>,\n beforeDispose?: (adapter: Adapter) => Promise<void>\n): Adapter | undefined;\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<\n AdapterKind extends 'AzureCommunication' | 'Teams',\n Adapter extends AdapterOf<AdapterKind>\n>(\n args: PartialArgsType<Adapter> | PartialArgsOutboundType<Adapter>,\n adapterKind: AdapterKind = 'AzureCommunication' as AdapterKind,\n afterCreate?: (adapter: Adapter) => Promise<Adapter>,\n beforeDispose?: (adapter: Adapter) => Promise<void>\n): Adapter | undefined {\n const { credential, userId } = args;\n const locator = 'locator' in args ? args.locator : undefined;\n const targetCallees = 'targetCallees' in args ? args.targetCallees : undefined;\n const displayName = 'displayName' in args ? args.displayName : undefined;\n /* @conditional-compile-remove(PSTN-calls) */\n const alternateCallerId = 'alternateCallerId' in args ? args.alternateCallerId : undefined;\n\n const options = 'options' in args ? args.options : undefined;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<Adapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<Adapter | undefined>(undefined);\n const creatingAdapterRef = useRef<boolean>(false);\n\n const afterCreateRef = useRef<((adapter: Adapter) => Promise<Adapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: Adapter) => Promise<void>) | undefined>(undefined);\n // These refs are updated on *each* render, so that the latest values\n // are used in the `useEffect` closures below.\n // Using a Ref ensures that new values for the callbacks do not trigger the\n // useEffect blocks, and a new adapter creation / distruction is not triggered.\n afterCreateRef.current = afterCreate;\n beforeDisposeRef.current = beforeDispose;\n\n useEffect(\n () => {\n if (!credential || (!locator && !targetCallees) || !userId) {\n return;\n }\n\n if (adapterKind === 'AzureCommunication' && !displayName) {\n return;\n }\n (async () => {\n if (adapterRef.current) {\n // Dispose the old adapter when a new one is created.\n //\n // This clean up function uses `adapterRef` because `adapter` can not be added to the dependency array of\n // this `useEffect` -- we do not want to trigger a new adapter creation because of the first adapter\n // creation.\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n let newAdapter: Adapter | undefined = undefined;\n if (adapterKind === 'AzureCommunication') {\n // This is just the type check to ensure that displayName is defined.\n if (!displayName) {\n throw new Error('Unreachable code, displayName already checked above.');\n }\n if (creatingAdapterRef.current) {\n console.warn(\n 'Adapter is already being created, please see storybook for more information: https://azure.github.io/communication-ui-library/?path=/story/troubleshooting--page'\n );\n return;\n }\n creatingAdapterRef.current = true;\n if (locator) {\n newAdapter = (await createAzureCommunicationCallAdapter({\n credential,\n displayName: displayName,\n locator,\n userId: userId as CommunicationUserIdentifier,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n options\n })) as Adapter;\n } else if (targetCallees) {\n newAdapter = (await createAzureCommunicationCallAdapter({\n credential,\n displayName: displayName,\n targetCallees,\n userId: userId as CommunicationUserIdentifier,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n options\n })) as Adapter;\n }\n } else if (adapterKind === 'Teams') {\n if (creatingAdapterRef.current) {\n console.warn('Adapter is already being created, skipping creation.');\n return;\n }\n creatingAdapterRef.current = true;\n /* @conditional-compile-remove(teams-identity-support) */\n newAdapter = (await createTeamsCallAdapter({\n credential,\n locator: locator as TeamsMeetingLinkLocator,\n userId: userId as MicrosoftTeamsUserIdentifier,\n options\n })) as Adapter;\n } else {\n throw new Error('Unreachable code, unknown adapterKind');\n }\n\n if (!newAdapter) {\n throw Error('Unreachable code! Get undefined adapter');\n }\n\n if (afterCreateRef.current) {\n newAdapter = await afterCreateRef.current(newAdapter);\n }\n adapterRef.current = newAdapter;\n creatingAdapterRef.current = false;\n setAdapter(newAdapter);\n })();\n },\n // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.\n [\n adapterRef,\n afterCreateRef,\n beforeDisposeRef,\n adapterKind,\n credential,\n locator,\n userId,\n displayName,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId,\n options,\n targetCallees\n ]\n );\n\n // Dispose any existing adapter when the component unmounts.\n useEffect(() => {\n return () => {\n (async () => {\n if (adapterRef.current) {\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n })();\n };\n }, []);\n\n return adapter;\n}\n\n/**\n * A custom React hook to simplify the creation of {@link CallAdapter}.\n *\n * Similar to {@link createAzureCommunicationCallAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @public\n */\nexport const useAzureCommunicationCallAdapter = (\n /**\n * Arguments to be passed to {@link createAzureCommunicationCallAdapter}.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n */\n args: Partial<AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs>,\n /**\n * Optional callback to modify the adapter once it is created.\n *\n * If set, must return the modified adapter.\n */\n afterCreate?: (adapter: CallAdapter) => Promise<CallAdapter>,\n /**\n * Optional callback called before the adapter is disposed.\n *\n * This is useful for clean up tasks, e.g., leaving any ongoing calls.\n */\n beforeDispose?: (adapter: CallAdapter) => Promise<void>\n): CallAdapter | undefined => {\n return useAzureCommunicationCallAdapterGeneric(args, 'AzureCommunication', afterCreate, beforeDispose);\n};\n\n/* @conditional-compile-remove(teams-identity-support) */\n/**\n * A custom React hook to simplify the creation of {@link TeamsCallAdapter}.\n *\n * Similar to {@link createTeamsAzureCommunicationCallAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @beta\n */\nexport const useTeamsCallAdapter = (\n /**\n * Arguments to be passed to {@link createAzureCommunicationCallAdapter}.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n */\n args: Partial<TeamsCallAdapterArgs>,\n /**\n * Optional callback to modify the adapter once it is created.\n *\n * If set, must return the modified adapter.\n */\n afterCreate?: (adapter: TeamsCallAdapter) => Promise<TeamsCallAdapter>,\n /**\n * Optional callback called before the adapter is disposed.\n *\n * This is useful for clean up tasks, e.g., leaving any ongoing calls.\n */\n beforeDispose?: (adapter: TeamsCallAdapter) => Promise<void>\n): TeamsCallAdapter | undefined => {\n return useAzureCommunicationCallAdapterGeneric(args, 'Teams', afterCreate, beforeDispose);\n};\n\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(\n callClient: StatefulCallClient,\n callAgent: CallAgent,\n targetCallees: StartCallIdentifier[],\n options?: AzureCommunicationCallAdapterOptions\n): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(\n callClient: StatefulCallClient,\n callAgent: CallAgent,\n locator: CallAdapterLocator,\n options?: AzureCommunicationCallAdapterOptions\n): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(\n callClient: StatefulCallClient,\n callAgent: CallAgent,\n locatorOrtargetCallees: CallAdapterLocator | StartCallIdentifier[],\n options?: AzureCommunicationCallAdapterOptions\n): Promise<CallAdapter> {\n const deviceManager = (await callClient.getDeviceManager()) as StatefulDeviceManager;\n await Promise.all([deviceManager.getCameras(), deviceManager.getMicrophones()]);\n if (deviceManager.isSpeakerSelectionAvailable) {\n await deviceManager.getSpeakers();\n }\n /* @conditional-compile-remove(unsupported-browser) */\n await callClient.feature(Features.DebugInfo).getEnvironmentInfo();\n if (getLocatorOrTargetCallees(locatorOrtargetCallees)) {\n return new AzureCommunicationCallAdapter(\n callClient,\n locatorOrtargetCallees as StartCallIdentifier[],\n callAgent,\n deviceManager,\n options\n );\n } else {\n return new AzureCommunicationCallAdapter(\n callClient,\n locatorOrtargetCallees as CallAdapterLocator,\n callAgent,\n deviceManager,\n options\n );\n }\n}\n\n/* @conditional-compile-remove(teams-identity-support) */\n/**\n * Create a {@link TeamsCallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @beta\n */\nexport const createTeamsCallAdapterFromClient = async (\n callClient: StatefulCallClient,\n callAgent: TeamsCallAgent,\n locator: CallAdapterLocator,\n options?: TeamsAdapterOptions\n): Promise<TeamsCallAdapter> => {\n const deviceManager = (await callClient.getDeviceManager()) as StatefulDeviceManager;\n await Promise.all([deviceManager.getCameras(), deviceManager.getMicrophones()]);\n if (deviceManager.isSpeakerSelectionAvailable) {\n await deviceManager.getSpeakers();\n }\n /* @conditional-compile-remove(unsupported-browser) */\n await callClient.feature(Features.DebugInfo).getEnvironmentInfo();\n return new AzureCommunicationCallAdapter(callClient, locator, callAgent, deviceManager, options);\n};\n\nconst isCallError = (e: Error): e is CallError => {\n return 'target' in e && 'innerError' in e;\n};\n"]}