mediasfu-angular 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/README.md +2068 -0
  2. package/dist/README.md +2068 -0
  3. package/dist/esm2022/lib/@types/types.mjs +2 -0
  4. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +763 -0
  5. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +316 -0
  6. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +95 -0
  7. package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +40 -0
  8. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +246 -0
  9. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +73 -0
  10. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +297 -0
  11. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +60 -0
  12. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +94 -0
  13. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +100 -0
  14. package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +231 -0
  15. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +298 -0
  16. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +61 -0
  17. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +43 -0
  18. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +114 -0
  19. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +114 -0
  20. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +36 -0
  21. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +74 -0
  22. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +142 -0
  23. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +265 -0
  24. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +100 -0
  25. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +132 -0
  26. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +119 -0
  27. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +106 -0
  28. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +180 -0
  29. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +120 -0
  30. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +326 -0
  31. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +165 -0
  32. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +230 -0
  33. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +111 -0
  34. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +328 -0
  35. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +118 -0
  36. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +330 -0
  37. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +95 -0
  38. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +190 -0
  39. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +119 -0
  40. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +209 -0
  41. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +4187 -0
  42. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +3703 -0
  43. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +5022 -0
  44. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +5331 -0
  45. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +5021 -0
  46. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +85 -0
  47. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +22 -0
  48. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +22 -0
  49. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +132 -0
  50. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +104 -0
  51. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +204 -0
  52. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +243 -0
  53. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +147 -0
  54. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +335 -0
  55. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +113 -0
  56. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +226 -0
  57. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +63 -0
  58. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +120 -0
  59. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +23 -0
  60. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +43 -0
  61. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +100 -0
  62. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +174 -0
  63. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +77 -0
  64. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +121 -0
  65. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +85 -0
  66. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +59 -0
  67. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +130 -0
  68. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +617 -0
  69. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +380 -0
  70. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +142 -0
  71. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +265 -0
  72. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +1784 -0
  73. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +296 -0
  74. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +83 -0
  75. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +42 -0
  76. package/dist/esm2022/lib/consumers/change-vids.service.mjs +486 -0
  77. package/dist/esm2022/lib/consumers/check-grid.service.mjs +79 -0
  78. package/dist/esm2022/lib/consumers/check-permission.service.mjs +80 -0
  79. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +71 -0
  80. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +229 -0
  81. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +75 -0
  82. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +63 -0
  83. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +112 -0
  84. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +113 -0
  85. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +46 -0
  86. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +62 -0
  87. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +55 -0
  88. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +86 -0
  89. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +332 -0
  90. package/dist/esm2022/lib/consumers/control-media.service.mjs +68 -0
  91. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +126 -0
  92. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +58 -0
  93. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +45 -0
  94. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +56 -0
  95. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +421 -0
  96. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +59 -0
  97. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +70 -0
  98. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +49 -0
  99. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +46 -0
  100. package/dist/esm2022/lib/consumers/get-videos.service.mjs +58 -0
  101. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +73 -0
  102. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +63 -0
  103. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +442 -0
  104. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +72 -0
  105. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +91 -0
  106. package/dist/esm2022/lib/consumers/re-port.service.mjs +66 -0
  107. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +157 -0
  108. package/dist/esm2022/lib/consumers/readjust.service.mjs +123 -0
  109. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +56 -0
  110. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +42 -0
  111. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +181 -0
  112. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +67 -0
  113. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +99 -0
  114. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +70 -0
  115. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +55 -0
  116. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +136 -0
  117. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +63 -0
  118. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +61 -0
  119. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +51 -0
  120. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +80 -0
  121. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +120 -0
  122. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +132 -0
  123. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +149 -0
  124. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +143 -0
  125. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +202 -0
  126. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +87 -0
  127. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +228 -0
  128. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +125 -0
  129. package/dist/esm2022/lib/consumers/trigger.service.mjs +172 -0
  130. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +81 -0
  131. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +39 -0
  132. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +23 -0
  133. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +112 -0
  134. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +22 -0
  135. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +22 -0
  136. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +60 -0
  137. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +24 -0
  138. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +119 -0
  139. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +28 -0
  140. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +22 -0
  141. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +50 -0
  142. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +22 -0
  143. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +23 -0
  144. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +94 -0
  145. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +23 -0
  146. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +52 -0
  147. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +57 -0
  148. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +62 -0
  149. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +37 -0
  150. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +40 -0
  151. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +49 -0
  152. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +23 -0
  153. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +64 -0
  154. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +45 -0
  155. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +34 -0
  156. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +215 -0
  157. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +82 -0
  158. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +40 -0
  159. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +86 -0
  160. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +89 -0
  161. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +48 -0
  162. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +147 -0
  163. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +74 -0
  164. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +224 -0
  165. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +26 -0
  166. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +45 -0
  167. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +26 -0
  168. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +67 -0
  169. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +178 -0
  170. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +44 -0
  171. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +110 -0
  172. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +183 -0
  173. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +33 -0
  174. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +66 -0
  175. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +76 -0
  176. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +45 -0
  177. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +87 -0
  178. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +99 -0
  179. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +52 -0
  180. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +54 -0
  181. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +38 -0
  182. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +22 -0
  183. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +21 -0
  184. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +369 -0
  185. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +59 -0
  186. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +260 -0
  187. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +21 -0
  188. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +37 -0
  189. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +24 -0
  190. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +37 -0
  191. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +38 -0
  192. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +11 -0
  193. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +42 -0
  194. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +33 -0
  195. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +23 -0
  196. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +40 -0
  197. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +69 -0
  198. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +24 -0
  199. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +51 -0
  200. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +65 -0
  201. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +232 -0
  202. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +114 -0
  203. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +114 -0
  204. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +155 -0
  205. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +147 -0
  206. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +30 -0
  207. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +40 -0
  208. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +146 -0
  209. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +26 -0
  210. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +38 -0
  211. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +63 -0
  212. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +167 -0
  213. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +44 -0
  214. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +24 -0
  215. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +36 -0
  216. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +32 -0
  217. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +29 -0
  218. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +68 -0
  219. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +90 -0
  220. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +54 -0
  221. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +38 -0
  222. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +96 -0
  223. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +195 -0
  224. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +59 -0
  225. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +45 -0
  226. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +35 -0
  227. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +37 -0
  228. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +36 -0
  229. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +63 -0
  230. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +36 -0
  231. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +56 -0
  232. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +78 -0
  233. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +73 -0
  234. package/dist/esm2022/mediasfu-angular.mjs +5 -0
  235. package/dist/esm2022/public-api.mjs +187 -0
  236. package/dist/fesm2022/mediasfu-angular.mjs +47885 -0
  237. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -0
  238. package/dist/index.d.ts +5 -0
  239. package/dist/lib/@types/types.d.ts +634 -0
  240. package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +146 -0
  241. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +112 -0
  242. package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +54 -0
  243. package/dist/lib/components/breakout-components/room-list/room-list.component.d.ts +20 -0
  244. package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +86 -0
  245. package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +50 -0
  246. package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +84 -0
  247. package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +23 -0
  248. package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +37 -0
  249. package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +88 -0
  250. package/dist/lib/components/display-components/control-buttons-component/control-buttons-component.component.d.ts +52 -0
  251. package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +100 -0
  252. package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +10 -0
  253. package/dist/lib/components/display-components/control-widgets/menu-record-widget.component.d.ts +18 -0
  254. package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +11 -0
  255. package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +11 -0
  256. package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +7 -0
  257. package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +12 -0
  258. package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +70 -0
  259. package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +97 -0
  260. package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +70 -0
  261. package/dist/lib/components/display-components/main-aspect-component/main-aspect-component.component.d.ts +72 -0
  262. package/dist/lib/components/display-components/main-container-component/main-container-component.component.d.ts +63 -0
  263. package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +67 -0
  264. package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +82 -0
  265. package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +82 -0
  266. package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +128 -0
  267. package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +1085 -0
  268. package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +95 -0
  269. package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +45 -0
  270. package/dist/lib/components/display-components/pagination/pagination.component.d.ts +112 -0
  271. package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +61 -0
  272. package/dist/lib/components/display-components/video-card/video-card.component.d.ts +89 -0
  273. package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +65 -0
  274. package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +124 -0
  275. package/dist/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.d.ts +71 -0
  276. package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +123 -0
  277. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +5264 -0
  278. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +5194 -0
  279. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +6825 -0
  280. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +6851 -0
  281. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +6825 -0
  282. package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +83 -0
  283. package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +18 -0
  284. package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +18 -0
  285. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +91 -0
  286. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +46 -0
  287. package/dist/lib/components/message-components/message-panel/message-panel.component.d.ts +112 -0
  288. package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +124 -0
  289. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +92 -0
  290. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +159 -0
  291. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +77 -0
  292. package/dist/lib/components/misc-components/welcome-page/welcome-page.component.d.ts +47 -0
  293. package/dist/lib/components/participants-components/participant-list/participant-list.component.d.ts +41 -0
  294. package/dist/lib/components/participants-components/participant-list-item/participant-list-item.component.d.ts +53 -0
  295. package/dist/lib/components/participants-components/participant-list-others/participant-list-others.component.d.ts +15 -0
  296. package/dist/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.d.ts +17 -0
  297. package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +70 -0
  298. package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +76 -0
  299. package/dist/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.d.ts +48 -0
  300. package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +117 -0
  301. package/dist/lib/components/recording-components/standard-panel-component/standard-panel-component.component.d.ts +58 -0
  302. package/dist/lib/components/requests-components/render-request-component/render-request-component.component.d.ts +34 -0
  303. package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +94 -0
  304. package/dist/lib/components/screenboard-components/screenboard/screenboard.component.d.ts +210 -0
  305. package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +103 -0
  306. package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +85 -0
  307. package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +103 -0
  308. package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +414 -0
  309. package/dist/lib/consumers/add-videos-grid.service.d.ts +35 -0
  310. package/dist/lib/consumers/auto-adjust.service.d.ts +25 -0
  311. package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +17 -0
  312. package/dist/lib/consumers/change-vids.service.d.ts +137 -0
  313. package/dist/lib/consumers/check-grid.service.d.ts +30 -0
  314. package/dist/lib/consumers/check-permission.service.d.ts +26 -0
  315. package/dist/lib/consumers/check-screen-share.service.d.ts +41 -0
  316. package/dist/lib/consumers/close-and-resize.service.d.ts +107 -0
  317. package/dist/lib/consumers/compare-active-names.service.d.ts +37 -0
  318. package/dist/lib/consumers/compare-screen-states.service.d.ts +40 -0
  319. package/dist/lib/consumers/connect-ips.service.d.ts +59 -0
  320. package/dist/lib/consumers/connect-recv-transport.service.d.ts +58 -0
  321. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +33 -0
  322. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +42 -0
  323. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +41 -0
  324. package/dist/lib/consumers/connect-send-transport.service.d.ts +49 -0
  325. package/dist/lib/consumers/consumer-resume.service.d.ts +85 -0
  326. package/dist/lib/consumers/control-media.service.d.ts +40 -0
  327. package/dist/lib/consumers/create-send-transport.service.d.ts +46 -0
  328. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +49 -0
  329. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +36 -0
  330. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +43 -0
  331. package/dist/lib/consumers/disp-streams.service.d.ts +92 -0
  332. package/dist/lib/consumers/generate-page-content.service.d.ts +41 -0
  333. package/dist/lib/consumers/get-estimate.service.d.ts +46 -0
  334. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +33 -0
  335. package/dist/lib/consumers/get-producers-piped.service.d.ts +33 -0
  336. package/dist/lib/consumers/get-videos.service.d.ts +28 -0
  337. package/dist/lib/consumers/mix-streams.service.d.ts +32 -0
  338. package/dist/lib/consumers/on-screen-changes.service.d.ts +44 -0
  339. package/dist/lib/consumers/prepopulate-user-media.service.d.ts +107 -0
  340. package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +30 -0
  341. package/dist/lib/consumers/process-consumer-transports.service.d.ts +42 -0
  342. package/dist/lib/consumers/re-port.service.d.ts +55 -0
  343. package/dist/lib/consumers/re-update-inter.service.d.ts +83 -0
  344. package/dist/lib/consumers/readjust.service.d.ts +48 -0
  345. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +33 -0
  346. package/dist/lib/consumers/receive-room-messages.service.d.ts +22 -0
  347. package/dist/lib/consumers/reorder-streams.service.d.ts +72 -0
  348. package/dist/lib/consumers/request-screen-share.service.d.ts +38 -0
  349. package/dist/lib/consumers/resume-pause-audio-streams.service.d.ts +41 -0
  350. package/dist/lib/consumers/resume-pause-streams.service.d.ts +36 -0
  351. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +43 -0
  352. package/dist/lib/consumers/signal-new-consumer-transport.service.d.ts +63 -0
  353. package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +43 -0
  354. package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +46 -0
  355. package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +27 -0
  356. package/dist/lib/consumers/start-share-screen.service.d.ts +38 -0
  357. package/dist/lib/consumers/stop-share-screen.service.d.ts +86 -0
  358. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +90 -0
  359. package/dist/lib/consumers/stream-success-audio.service.d.ts +100 -0
  360. package/dist/lib/consumers/stream-success-screen.service.d.ts +78 -0
  361. package/dist/lib/consumers/stream-success-video.service.d.ts +76 -0
  362. package/dist/lib/consumers/switch-user-audio.service.d.ts +41 -0
  363. package/dist/lib/consumers/switch-user-video-alt.service.d.ts +43 -0
  364. package/dist/lib/consumers/switch-user-video.service.d.ts +61 -0
  365. package/dist/lib/consumers/trigger.service.d.ts +72 -0
  366. package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +54 -0
  367. package/dist/lib/consumers/update-participant-audio-decibels.service.d.ts +25 -0
  368. package/dist/lib/methods/background-methods/launch-background.service.d.ts +18 -0
  369. package/dist/lib/methods/breakout-room-methods/breakout-room-updated.service.d.ts +63 -0
  370. package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +17 -0
  371. package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +17 -0
  372. package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +42 -0
  373. package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +17 -0
  374. package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +74 -0
  375. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +24 -0
  376. package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +17 -0
  377. package/dist/lib/methods/media-settings-methods/launch-media-settings.service.d.ts +27 -0
  378. package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +17 -0
  379. package/dist/lib/methods/message-methods/launch-messages.service.d.ts +18 -0
  380. package/dist/lib/methods/message-methods/send-message.service.d.ts +48 -0
  381. package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +18 -0
  382. package/dist/lib/methods/participants-methods/message-participants.service.d.ts +34 -0
  383. package/dist/lib/methods/participants-methods/mute-participants.service.d.ts +36 -0
  384. package/dist/lib/methods/participants-methods/remove-participants.service.d.ts +38 -0
  385. package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +24 -0
  386. package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +27 -0
  387. package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +33 -0
  388. package/dist/lib/methods/polls-methods/launch-poll.service.d.ts +18 -0
  389. package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +34 -0
  390. package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +26 -0
  391. package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +23 -0
  392. package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +78 -0
  393. package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +42 -0
  394. package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +25 -0
  395. package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +47 -0
  396. package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +58 -0
  397. package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +29 -0
  398. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +83 -0
  399. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +37 -0
  400. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +88 -0
  401. package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +19 -0
  402. package/dist/lib/methods/requests-methods/respond-to-requests.service.d.ts +30 -0
  403. package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +19 -0
  404. package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +44 -0
  405. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +73 -0
  406. package/dist/lib/methods/stream-methods/click-chat.service.d.ts +27 -0
  407. package/dist/lib/methods/stream-methods/click-screen-share.service.d.ts +44 -0
  408. package/dist/lib/methods/stream-methods/click-video.service.d.ts +58 -0
  409. package/dist/lib/methods/stream-methods/switch-audio.service.d.ts +28 -0
  410. package/dist/lib/methods/stream-methods/switch-video-alt.service.d.ts +29 -0
  411. package/dist/lib/methods/stream-methods/switch-video.service.d.ts +35 -0
  412. package/dist/lib/methods/utils/format-number.service.d.ts +24 -0
  413. package/dist/lib/methods/utils/generate-random-messages.service.d.ts +26 -0
  414. package/dist/lib/methods/utils/generate-random-participants.service.d.ts +24 -0
  415. package/dist/lib/methods/utils/generate-random-polls.service.d.ts +18 -0
  416. package/dist/lib/methods/utils/generate-random-request-list.service.d.ts +24 -0
  417. package/dist/lib/methods/utils/generate-random-waiting-room-list.service.d.ts +19 -0
  418. package/dist/lib/methods/utils/get-modal-position.util.d.ts +15 -0
  419. package/dist/lib/methods/utils/get-overlay-position.util.d.ts +12 -0
  420. package/dist/lib/methods/utils/initial-values.util.d.ts +343 -0
  421. package/dist/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.d.ts +31 -0
  422. package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +46 -0
  423. package/dist/lib/methods/utils/producer/a-params.service.d.ts +11 -0
  424. package/dist/lib/methods/utils/producer/h-params.service.d.ts +11 -0
  425. package/dist/lib/methods/utils/producer/screen-params.service.d.ts +11 -0
  426. package/dist/lib/methods/utils/producer/v-params.service.d.ts +11 -0
  427. package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +131 -0
  428. package/dist/lib/methods/utils/sleep.util.d.ts +12 -0
  429. package/dist/lib/methods/utils/sound-player.service.d.ts +13 -0
  430. package/dist/lib/methods/utils/validate-alphanumeric.service.d.ts +17 -0
  431. package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +17 -0
  432. package/dist/lib/methods/waiting-methods/respond-to-waiting.service.d.ts +31 -0
  433. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +33 -0
  434. package/dist/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.d.ts +17 -0
  435. package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +20 -0
  436. package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +36 -0
  437. package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +104 -0
  438. package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +44 -0
  439. package/dist/lib/producers/producer-emits/join-room.service.d.ts +34 -0
  440. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +75 -0
  441. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +72 -0
  442. package/dist/lib/producers/socket-receive-methods/all-waiting-room-members.service.d.ts +22 -0
  443. package/dist/lib/producers/socket-receive-methods/ban-participant.service.d.ts +35 -0
  444. package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +60 -0
  445. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +22 -0
  446. package/dist/lib/producers/socket-receive-methods/disconnect.service.d.ts +23 -0
  447. package/dist/lib/producers/socket-receive-methods/get-domains.service.d.ts +48 -0
  448. package/dist/lib/producers/socket-receive-methods/host-request-response.service.d.ts +81 -0
  449. package/dist/lib/producers/socket-receive-methods/meeting-ended.service.d.ts +26 -0
  450. package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +17 -0
  451. package/dist/lib/producers/socket-receive-methods/meeting-time-remaining.service.d.ts +22 -0
  452. package/dist/lib/producers/socket-receive-methods/participant-requested.service.d.ts +26 -0
  453. package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +20 -0
  454. package/dist/lib/producers/socket-receive-methods/producer-media-closed.service.d.ts +47 -0
  455. package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +51 -0
  456. package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +44 -0
  457. package/dist/lib/producers/socket-receive-methods/re-initiate-recording.service.d.ts +25 -0
  458. package/dist/lib/producers/socket-receive-methods/receive-message.service.d.ts +37 -0
  459. package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +120 -0
  460. package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +75 -0
  461. package/dist/lib/producers/socket-receive-methods/screen-producer-id.service.d.ts +32 -0
  462. package/dist/lib/producers/socket-receive-methods/start-records.service.d.ts +23 -0
  463. package/dist/lib/producers/socket-receive-methods/stopped-recording.service.d.ts +22 -0
  464. package/dist/lib/producers/socket-receive-methods/time-left-recording.service.d.ts +21 -0
  465. package/dist/lib/producers/socket-receive-methods/update-consuming-domains.service.d.ts +44 -0
  466. package/dist/lib/producers/socket-receive-methods/update-media-settings.service.d.ts +27 -0
  467. package/dist/lib/producers/socket-receive-methods/updated-co-host.service.d.ts +37 -0
  468. package/dist/lib/producers/socket-receive-methods/user-waiting.service.d.ts +68 -0
  469. package/dist/lib/sockets/socket-manager.service.d.ts +26 -0
  470. package/dist/public-api.d.ts +177 -0
  471. package/package.json +89 -0
@@ -0,0 +1,54 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ProducerMediaResumed {
4
+ /**
5
+ * Resumes media for a specific participant in a meeting.
6
+ *
7
+ * @param {ProducerMediaResumedOptions} options - The options for resuming media.
8
+ * @param {string} options.name - The name of the participant whose media is to be resumed.
9
+ * @param {Object} options.parameters - The parameters related to the meeting and participants.
10
+ * @param {string} options.parameters.meetingDisplayType - The type of meeting display.
11
+ * @param {Array} options.parameters.participants - The list of participants in the meeting.
12
+ * @param {boolean} options.parameters.shared - Indicates if the screen is being shared.
13
+ * @param {boolean} options.parameters.shareScreenStarted - Indicates if screen sharing has started.
14
+ * @param {boolean} options.parameters.mainScreenFilled - Indicates if the main screen is filled.
15
+ * @param {string} options.parameters.hostLabel - The label of the host.
16
+ * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window.
17
+ * @param {Function} options.parameters.reorderStreams - Function to reorder the streams.
18
+ * @param {Function} options.parameters.prepopulateUserMedia - Function to prepopulate user media.
19
+ *
20
+ * @returns {Promise<void>} A promise that resolves when the media has been resumed.
21
+ */
22
+ producerMediaResumed = async ({ name, parameters, }) => {
23
+ parameters = parameters.getUpdatedAllParams();
24
+ let { meetingDisplayType, participants, shared, shareScreenStarted, updateMainWindow, mainScreenFilled, hostLabel, updateUpdateMainWindow, reorderStreams, prepopulateUserMedia, } = parameters;
25
+ // Update to resume the audio only of a participant
26
+ // name is the name of the participant
27
+ // kind is the kind of media (always audio)
28
+ // Operations to update UI to optimize interest levels
29
+ const participant = participants.find((obj) => obj.name == name);
30
+ if (!mainScreenFilled && participant?.islevel == '2') {
31
+ updateMainWindow = true;
32
+ updateUpdateMainWindow(updateMainWindow);
33
+ await prepopulateUserMedia({ name: hostLabel, parameters });
34
+ updateMainWindow = false;
35
+ updateUpdateMainWindow(updateMainWindow);
36
+ }
37
+ let checker;
38
+ if (meetingDisplayType == 'media') {
39
+ checker = participant?.videoID != null && participant.videoID !== '';
40
+ if (!checker && !(shareScreenStarted || shared)) {
41
+ await reorderStreams({ add: false, screenChanged: true, parameters });
42
+ }
43
+ }
44
+ };
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProducerMediaResumed, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
46
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProducerMediaResumed, providedIn: 'root' });
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProducerMediaResumed, decorators: [{
49
+ type: Injectable,
50
+ args: [{
51
+ providedIn: 'root',
52
+ }]
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjZXItbWVkaWEtcmVzdW1lZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL3Byb2R1Y2VyLW1lZGlhLXJlc3VtZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXdDM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FpQkc7SUFDSCxvQkFBb0IsR0FBRyxLQUFLLEVBQUUsRUFDNUIsSUFBSSxFQUNKLFVBQVUsR0FDa0IsRUFBaUIsRUFBRTtRQUMvQyxVQUFVLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFOUMsSUFBSSxFQUNGLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osTUFBTSxFQUNOLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixHQUFHLFVBQVUsQ0FBQztRQUVmLG1EQUFtRDtRQUNuRCxzQ0FBc0M7UUFDdEMsMkNBQTJDO1FBRTNDLHNEQUFzRDtRQUN0RCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxXQUFXLEVBQUUsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3JELGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUN4QixzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sb0JBQW9CLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDNUQsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDO1FBQ1osSUFBSSxrQkFBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNsQyxPQUFPLEdBQUcsV0FBVyxFQUFFLE9BQU8sSUFBSSxJQUFJLElBQUksV0FBVyxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFFckUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsa0JBQWtCLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDaEQsTUFBTSxjQUFjLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUN4RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQzt1R0E3RFMsb0JBQW9COzJHQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFBhcnRpY2lwYW50LFxuICBQcmVwb3B1bGF0ZVVzZXJNZWRpYVBhcmFtZXRlcnMsXG4gIFByZXBvcHVsYXRlVXNlck1lZGlhVHlwZSxcbiAgUmVvcmRlclN0cmVhbXNQYXJhbWV0ZXJzLFxuICBSZW9yZGVyU3RyZWFtc1R5cGUsXG59IGZyb20gJy4uLy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjZXJNZWRpYVJlc3VtZWRQYXJhbWV0ZXJzXG4gIGV4dGVuZHMgUHJlcG9wdWxhdGVVc2VyTWVkaWFQYXJhbWV0ZXJzLFxuICAgIFJlb3JkZXJTdHJlYW1zUGFyYW1ldGVycyB7XG4gIG1lZXRpbmdEaXNwbGF5VHlwZTogc3RyaW5nO1xuICBwYXJ0aWNpcGFudHM6IFBhcnRpY2lwYW50W107XG4gIHNoYXJlZDogYm9vbGVhbjtcbiAgc2hhcmVTY3JlZW5TdGFydGVkOiBib29sZWFuO1xuICBtYWluU2NyZWVuRmlsbGVkOiBib29sZWFuO1xuICBob3N0TGFiZWw6IHN0cmluZztcbiAgdXBkYXRlVXBkYXRlTWFpbldpbmRvdzogKHVwZGF0ZU1haW5XaW5kb3c6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgLy8gbWVkaWFzZnUgZnVuY3Rpb25zXG4gIHJlb3JkZXJTdHJlYW1zOiBSZW9yZGVyU3RyZWFtc1R5cGU7XG4gIHByZXBvcHVsYXRlVXNlck1lZGlhOiBQcmVwb3B1bGF0ZVVzZXJNZWRpYVR5cGU7XG5cbiAgZ2V0VXBkYXRlZEFsbFBhcmFtczogKCkgPT4gUHJvZHVjZXJNZWRpYVJlc3VtZWRQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjZXJNZWRpYVJlc3VtZWRPcHRpb25zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBraW5kOiAnYXVkaW8nO1xuICBwYXJhbWV0ZXJzOiBQcm9kdWNlck1lZGlhUmVzdW1lZFBhcmFtZXRlcnM7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFByb2R1Y2VyTWVkaWFSZXN1bWVkVHlwZSA9IChvcHRpb25zOiBQcm9kdWNlck1lZGlhUmVzdW1lZE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWNlck1lZGlhUmVzdW1lZCB7XG4gIC8qKlxuICAgKiBSZXN1bWVzIG1lZGlhIGZvciBhIHNwZWNpZmljIHBhcnRpY2lwYW50IGluIGEgbWVldGluZy5cbiAgICpcbiAgICogQHBhcmFtIHtQcm9kdWNlck1lZGlhUmVzdW1lZE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgcmVzdW1pbmcgbWVkaWEuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcGFydGljaXBhbnQgd2hvc2UgbWVkaWEgaXMgdG8gYmUgcmVzdW1lZC5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIHJlbGF0ZWQgdG8gdGhlIG1lZXRpbmcgYW5kIHBhcnRpY2lwYW50cy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5tZWV0aW5nRGlzcGxheVR5cGUgLSBUaGUgdHlwZSBvZiBtZWV0aW5nIGRpc3BsYXkuXG4gICAqIEBwYXJhbSB7QXJyYXl9IG9wdGlvbnMucGFyYW1ldGVycy5wYXJ0aWNpcGFudHMgLSBUaGUgbGlzdCBvZiBwYXJ0aWNpcGFudHMgaW4gdGhlIG1lZXRpbmcuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnNoYXJlZCAtIEluZGljYXRlcyBpZiB0aGUgc2NyZWVuIGlzIGJlaW5nIHNoYXJlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMuc2hhcmVTY3JlZW5TdGFydGVkIC0gSW5kaWNhdGVzIGlmIHNjcmVlbiBzaGFyaW5nIGhhcyBzdGFydGVkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5tYWluU2NyZWVuRmlsbGVkIC0gSW5kaWNhdGVzIGlmIHRoZSBtYWluIHNjcmVlbiBpcyBmaWxsZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMuaG9zdExhYmVsIC0gVGhlIGxhYmVsIG9mIHRoZSBob3N0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlVXBkYXRlTWFpbldpbmRvdyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgbWFpbiB3aW5kb3cuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5yZW9yZGVyU3RyZWFtcyAtIEZ1bmN0aW9uIHRvIHJlb3JkZXIgdGhlIHN0cmVhbXMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5wcmVwb3B1bGF0ZVVzZXJNZWRpYSAtIEZ1bmN0aW9uIHRvIHByZXBvcHVsYXRlIHVzZXIgbWVkaWEuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBtZWRpYSBoYXMgYmVlbiByZXN1bWVkLlxuICAgKi9cbiAgcHJvZHVjZXJNZWRpYVJlc3VtZWQgPSBhc3luYyAoe1xuICAgIG5hbWUsXG4gICAgcGFyYW1ldGVycyxcbiAgfTogUHJvZHVjZXJNZWRpYVJlc3VtZWRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuXG4gICAgbGV0IHtcbiAgICAgIG1lZXRpbmdEaXNwbGF5VHlwZSxcbiAgICAgIHBhcnRpY2lwYW50cyxcbiAgICAgIHNoYXJlZCxcbiAgICAgIHNoYXJlU2NyZWVuU3RhcnRlZCxcbiAgICAgIHVwZGF0ZU1haW5XaW5kb3csXG4gICAgICBtYWluU2NyZWVuRmlsbGVkLFxuICAgICAgaG9zdExhYmVsLFxuICAgICAgdXBkYXRlVXBkYXRlTWFpbldpbmRvdyxcbiAgICAgIHJlb3JkZXJTdHJlYW1zLFxuICAgICAgcHJlcG9wdWxhdGVVc2VyTWVkaWEsXG4gICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICAvLyBVcGRhdGUgdG8gcmVzdW1lIHRoZSBhdWRpbyBvbmx5IG9mIGEgcGFydGljaXBhbnRcbiAgICAvLyBuYW1lIGlzIHRoZSBuYW1lIG9mIHRoZSBwYXJ0aWNpcGFudFxuICAgIC8vIGtpbmQgaXMgdGhlIGtpbmQgb2YgbWVkaWEgKGFsd2F5cyBhdWRpbylcblxuICAgIC8vIE9wZXJhdGlvbnMgdG8gdXBkYXRlIFVJIHRvIG9wdGltaXplIGludGVyZXN0IGxldmVsc1xuICAgIGNvbnN0IHBhcnRpY2lwYW50ID0gcGFydGljaXBhbnRzLmZpbmQoKG9iajogYW55KSA9PiBvYmoubmFtZSA9PSBuYW1lKTtcblxuICAgIGlmICghbWFpblNjcmVlbkZpbGxlZCAmJiBwYXJ0aWNpcGFudD8uaXNsZXZlbCA9PSAnMicpIHtcbiAgICAgIHVwZGF0ZU1haW5XaW5kb3cgPSB0cnVlO1xuICAgICAgdXBkYXRlVXBkYXRlTWFpbldpbmRvdyh1cGRhdGVNYWluV2luZG93KTtcbiAgICAgIGF3YWl0IHByZXBvcHVsYXRlVXNlck1lZGlhKHsgbmFtZTogaG9zdExhYmVsLCBwYXJhbWV0ZXJzIH0pO1xuICAgICAgdXBkYXRlTWFpbldpbmRvdyA9IGZhbHNlO1xuICAgICAgdXBkYXRlVXBkYXRlTWFpbldpbmRvdyh1cGRhdGVNYWluV2luZG93KTtcbiAgICB9XG5cbiAgICBsZXQgY2hlY2tlcjtcbiAgICBpZiAobWVldGluZ0Rpc3BsYXlUeXBlID09ICdtZWRpYScpIHtcbiAgICAgIGNoZWNrZXIgPSBwYXJ0aWNpcGFudD8udmlkZW9JRCAhPSBudWxsICYmIHBhcnRpY2lwYW50LnZpZGVvSUQgIT09ICcnO1xuXG4gICAgICBpZiAoIWNoZWNrZXIgJiYgIShzaGFyZVNjcmVlblN0YXJ0ZWQgfHwgc2hhcmVkKSkge1xuICAgICAgICBhd2FpdCByZW9yZGVyU3RyZWFtcyh7IGFkZDogZmFsc2UsIHNjcmVlbkNoYW5nZWQ6IHRydWUsIHBhcmFtZXRlcnMgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIl19
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ReInitiateRecording {
4
+ /**
5
+ * Re-initiates recording based on specific conditions.
6
+ * @async
7
+ * @function
8
+ * @param {ReInitiateRecordingOptions} options - The options for re-initiating recording.
9
+ * @param {string} options.roomName - The name of the room to re-initiate recording.
10
+ * @param {string} options.member - The member re-initiating the recording.
11
+ * @param {Socket} options.socket - The socket instance for communication.
12
+ * @param {boolean} options.adminRestrictSetting - Indicates whether the admin restrict setting is enabled.
13
+ * @returns {Promise<void>} A promise that resolves when the recording is re-initiated.
14
+ */
15
+ reInitiateRecording = async ({ roomName, member, socket, adminRestrictSetting, }) => {
16
+ if (!adminRestrictSetting) {
17
+ await new Promise((resolve, reject) => {
18
+ socket.emit('startRecordIng', { roomName, member }, ({ success }) => {
19
+ if (success) {
20
+ resolve();
21
+ }
22
+ else {
23
+ reject(new Error('Failed to re-initiate recording.'));
24
+ }
25
+ });
26
+ });
27
+ }
28
+ };
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ReInitiateRecording, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ReInitiateRecording, providedIn: 'root' });
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ReInitiateRecording, decorators: [{
33
+ type: Injectable,
34
+ args: [{
35
+ providedIn: 'root',
36
+ }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmUtaW5pdGlhdGUtcmVjb3JkaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvcmUtaW5pdGlhdGUtcmVjb3JkaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnQjNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7Ozs7Ozs7T0FVRztJQUVILG1CQUFtQixHQUFHLEtBQUssRUFBRSxFQUMzQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixvQkFBb0IsR0FDTyxFQUFpQixFQUFFO1FBQzlDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBd0IsRUFBRSxFQUFFO29CQUN4RixJQUFJLE9BQU8sRUFBRSxDQUFDO3dCQUNaLE9BQU8sRUFBRSxDQUFDO29CQUNaLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDO29CQUN4RCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO3VHQTlCUyxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVJbml0aWF0ZVJlY29yZGluZ09wdGlvbnMge1xuICByb29tTmFtZTogc3RyaW5nO1xuICBtZW1iZXI6IHN0cmluZztcbiAgc29ja2V0OiBTb2NrZXQ7XG4gIGFkbWluUmVzdHJpY3RTZXR0aW5nOiBib29sZWFuO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBSZUluaXRpYXRlUmVjb3JkaW5nVHlwZSA9IChvcHRpb25zOiBSZUluaXRpYXRlUmVjb3JkaW5nT3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlSW5pdGlhdGVSZWNvcmRpbmcge1xuICAvKipcbiAgICogUmUtaW5pdGlhdGVzIHJlY29yZGluZyBiYXNlZCBvbiBzcGVjaWZpYyBjb25kaXRpb25zLlxuICAgKiBAYXN5bmNcbiAgICogQGZ1bmN0aW9uXG4gICAqIEBwYXJhbSB7UmVJbml0aWF0ZVJlY29yZGluZ09wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgcmUtaW5pdGlhdGluZyByZWNvcmRpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJvb21OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHJvb20gdG8gcmUtaW5pdGlhdGUgcmVjb3JkaW5nLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5tZW1iZXIgLSBUaGUgbWVtYmVyIHJlLWluaXRpYXRpbmcgdGhlIHJlY29yZGluZy5cbiAgICogQHBhcmFtIHtTb2NrZXR9IG9wdGlvbnMuc29ja2V0IC0gVGhlIHNvY2tldCBpbnN0YW5jZSBmb3IgY29tbXVuaWNhdGlvbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmFkbWluUmVzdHJpY3RTZXR0aW5nIC0gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGFkbWluIHJlc3RyaWN0IHNldHRpbmcgaXMgZW5hYmxlZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHJlY29yZGluZyBpcyByZS1pbml0aWF0ZWQuXG4gICAqL1xuXG4gIHJlSW5pdGlhdGVSZWNvcmRpbmcgPSBhc3luYyAoe1xuICAgIHJvb21OYW1lLFxuICAgIG1lbWJlcixcbiAgICBzb2NrZXQsXG4gICAgYWRtaW5SZXN0cmljdFNldHRpbmcsXG4gIH06IFJlSW5pdGlhdGVSZWNvcmRpbmdPcHRpb25zKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgaWYgKCFhZG1pblJlc3RyaWN0U2V0dGluZykge1xuICAgICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBzb2NrZXQuZW1pdCgnc3RhcnRSZWNvcmRJbmcnLCB7IHJvb21OYW1lLCBtZW1iZXIgfSwgKHsgc3VjY2VzcyB9OiB7IHN1Y2Nlc3M6IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0ZhaWxlZCB0byByZS1pbml0aWF0ZSByZWNvcmRpbmcuJykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,96 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ReceiveMessage {
4
+ /**
5
+ * Receives and processes a message, updating the messages array and handling
6
+ * various message types and events.
7
+ *
8
+ * @param {ReceiveMessageOptions} options - The options for receiving the message.
9
+ * @param {Object} options.message - The message object containing sender, receivers, content, timestamp, and group.
10
+ * @param {Function} options.getUpdatedAllParams - Function to get updated parameters.
11
+ * @param {Array} options.messages - Array of current messages.
12
+ * @param {Array} options.participantsAll - Array of all participants.
13
+ * @param {string} options.member - The current member.
14
+ * @param {string} options.eventType - The type of event (e.g., "broadcast", "chat").
15
+ * @param {string} options.islevel - The level of the current member.
16
+ * @param {string} options.coHost - The co-host of the event.
17
+ * @param {Function} options.updateMessages - Function to update the messages array.
18
+ * @param {Function} options.updateShowMessagesBadge - Function to update the visibility of the messages badge.
19
+ *
20
+ * @returns {Promise<void>} A promise that resolves when the message has been processed.
21
+ */
22
+ receiveMessage = async ({ message, messages, participantsAll, member, eventType, islevel, coHost, updateMessages, updateShowMessagesBadge, }) => {
23
+ // Add the received message to the messages array
24
+ const { sender, receivers, message: content, timestamp, group } = message;
25
+ let oldMessages = messages;
26
+ messages = [...messages, { sender, receivers, message: content, timestamp, group }];
27
+ // Filter out messages with banned senders in the participants array
28
+ if (eventType !== 'broadcast' && eventType !== 'chat') {
29
+ messages = messages.filter((message) => participantsAll.some((participant) => participant.name === message.sender && !participant.isBanned));
30
+ }
31
+ else {
32
+ messages = messages.filter((message) => {
33
+ const participant = participantsAll.find((participant) => participant.name === message.sender);
34
+ return !participant || !participant.isBanned;
35
+ });
36
+ }
37
+ updateMessages(messages);
38
+ // Separate group and direct messages
39
+ const oldGroupMessages = oldMessages.filter((message) => message.group);
40
+ const oldDirectMessages = oldMessages.filter((message) => !message.group);
41
+ // Render and update counts for group messages
42
+ const groupMessages = messages.filter((message) => message.group);
43
+ if (eventType !== 'broadcast' && eventType !== 'chat') {
44
+ // Check if oldGroupMessages length is different from groupMessages length
45
+ if (oldGroupMessages.length !== groupMessages.length) {
46
+ // Identify new messages
47
+ const newGroupMessages = groupMessages.filter((message) => !oldGroupMessages.some((oldMessage) => oldMessage.timestamp === message.timestamp));
48
+ // Check if newGroupMessages sender is the member or receivers include the member
49
+ const newGroupMessages2 = newGroupMessages.filter((message) => message.sender === member || message.receivers.includes(member));
50
+ // Check if member is the sender of any newGroupMessages
51
+ const newGroupMessages3 = newGroupMessages2.filter((message) => message.sender === member);
52
+ // Check if member is the receiver of any newGroupMessages
53
+ if (newGroupMessages.length > 0 && newGroupMessages.length !== newGroupMessages3.length) {
54
+ updateShowMessagesBadge(true);
55
+ }
56
+ }
57
+ }
58
+ // Render and update counts for direct messages
59
+ const directMessages = messages.filter((message) => !message.group);
60
+ if (eventType !== 'broadcast' && eventType !== 'chat') {
61
+ // Check if oldDirectMessages length is different from directMessages length
62
+ if (oldDirectMessages.length !== directMessages.length) {
63
+ // Identify new direct messages
64
+ const newDirectMessages = directMessages.filter((message) => !oldDirectMessages.some((oldMessage) => oldMessage.timestamp === message.timestamp));
65
+ // Check if newDirectMessages sender is the member or receivers include the member
66
+ const newDirectMessages2 = newDirectMessages.filter((message) => message.sender === member || message.receivers.includes(member));
67
+ // Check if member is the sender of any newDirectMessages
68
+ const newDirectMessages3 = newDirectMessages2.filter((message) => message.sender === member);
69
+ if ((newDirectMessages.length > 0 && newDirectMessages2.length > 0) ||
70
+ (newDirectMessages.length > 0 && islevel === '2') ||
71
+ coHost === member) {
72
+ if (islevel === '2' || coHost === member) {
73
+ if (newDirectMessages.length !== newDirectMessages3.length) {
74
+ updateShowMessagesBadge(true);
75
+ }
76
+ }
77
+ else {
78
+ if (newDirectMessages2.length > 0 &&
79
+ newDirectMessages.length !== newDirectMessages3.length) {
80
+ updateShowMessagesBadge(true);
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ };
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ReceiveMessage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
88
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ReceiveMessage, providedIn: 'root' });
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ReceiveMessage, decorators: [{
91
+ type: Injectable,
92
+ args: [{
93
+ providedIn: 'root',
94
+ }]
95
+ }] });
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZWl2ZS1tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvcmVjZWl2ZS1tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFxQjNDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUVILGNBQWMsR0FBRyxLQUFLLEVBQUUsRUFDdEIsT0FBTyxFQUNQLFFBQVEsRUFDUixlQUFlLEVBQ2YsTUFBTSxFQUNOLFNBQVMsRUFDVCxPQUFPLEVBQ1AsTUFBTSxFQUNOLGNBQWMsRUFDZCx1QkFBdUIsR0FDRCxFQUFpQixFQUFFO1FBQ3pDLGlEQUFpRDtRQUNqRCxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDMUUsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBQzNCLFFBQVEsR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXBGLG9FQUFvRTtRQUNwRSxJQUFJLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3RELFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQzlDLGVBQWUsQ0FBQyxJQUFJLENBQ2xCLENBQUMsV0FBZ0IsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsTUFBTSxJ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QUMsQ0FBQzt1R0FwSVMsY0FBYzsyR0FBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudFR5cGUsIE1lc3NhZ2UsIFBhcnRpY2lwYW50IH0gZnJvbSAnLi4vLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlTWVzc2FnZU9wdGlvbnMge1xuICBtZXNzYWdlOiBNZXNzYWdlO1xuICBtZXNzYWdlczogTWVzc2FnZVtdO1xuICBwYXJ0aWNpcGFudHNBbGw6IFBhcnRpY2lwYW50W107XG4gIG1lbWJlcjogc3RyaW5nO1xuICBldmVudFR5cGU6IEV2ZW50VHlwZTtcbiAgaXNsZXZlbDogc3RyaW5nO1xuICBjb0hvc3Q6IHN0cmluZztcbiAgdXBkYXRlTWVzc2FnZXM6IChtZXNzYWdlczogTWVzc2FnZVtdKSA9PiB2b2lkO1xuICB1cGRhdGVTaG93TWVzc2FnZXNCYWRnZTogKHNob3dCYWRnZTogYm9vbGVhbikgPT4gdm9pZDtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgUmVjZWl2ZU1lc3NhZ2VUeXBlID0gKG9wdGlvbnM6IFJlY2VpdmVNZXNzYWdlT3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlY2VpdmVNZXNzYWdlIHtcbiAgLyoqXG4gICAqIFJlY2VpdmVzIGFuZCBwcm9jZXNzZXMgYSBtZXNzYWdlLCB1cGRhdGluZyB0aGUgbWVzc2FnZXMgYXJyYXkgYW5kIGhhbmRsaW5nXG4gICAqIHZhcmlvdXMgbWVzc2FnZSB0eXBlcyBhbmQgZXZlbnRzLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlY2VpdmVNZXNzYWdlT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciByZWNlaXZpbmcgdGhlIG1lc3NhZ2UuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLm1lc3NhZ2UgLSBUaGUgbWVzc2FnZSBvYmplY3QgY29udGFpbmluZyBzZW5kZXIsIHJlY2VpdmVycywgY29udGVudCwgdGltZXN0YW1wLCBhbmQgZ3JvdXAuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMuZ2V0VXBkYXRlZEFsbFBhcmFtcyAtIEZ1bmN0aW9uIHRvIGdldCB1cGRhdGVkIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7QXJyYXl9IG9wdGlvbnMubWVzc2FnZXMgLSBBcnJheSBvZiBjdXJyZW50IG1lc3NhZ2VzLlxuICAgKiBAcGFyYW0ge0FycmF5fSBvcHRpb25zLnBhcnRpY2lwYW50c0FsbCAtIEFycmF5IG9mIGFsbCBwYXJ0aWNpcGFudHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm1lbWJlciAtIFRoZSBjdXJyZW50IG1lbWJlci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuZXZlbnRUeXBlIC0gVGhlIHR5cGUgb2YgZXZlbnQgKGUuZy4sIFwiYnJvYWRjYXN0XCIsIFwiY2hhdFwiKS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuaXNsZXZlbCAtIFRoZSBsZXZlbCBvZiB0aGUgY3VycmVudCBtZW1iZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmNvSG9zdCAtIFRoZSBjby1ob3N0IG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVNZXNzYWdlcyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgbWVzc2FnZXMgYXJyYXkuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlU2hvd01lc3NhZ2VzQmFkZ2UgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIG1lc3NhZ2VzIGJhZGdlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbWVzc2FnZSBoYXMgYmVlbiBwcm9jZXNzZWQuXG4gICAqL1xuXG4gIHJlY2VpdmVNZXNzYWdlID0gYXN5bmMgKHtcbiAgICBtZXNzYWdlLFxuICAgIG1lc3NhZ2VzLFxuICAgIHBhcnRpY2lwYW50c0FsbCxcbiAgICBtZW1iZXIsXG4gICAgZXZlbnRUeXBlLFxuICAgIGlzbGV2ZWwsXG4gICAgY29Ib3N0LFxuICAgIHVwZGF0ZU1lc3NhZ2VzLFxuICAgIHVwZGF0ZVNob3dNZXNzYWdlc0JhZGdlLFxuICB9OiBSZWNlaXZlTWVzc2FnZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAvLyBBZGQgdGhlIHJlY2VpdmVkIG1lc3NhZ2UgdG8gdGhlIG1lc3NhZ2VzIGFycmF5XG4gICAgY29uc3QgeyBzZW5kZXIsIHJlY2VpdmVycywgbWVzc2FnZTogY29udGVudCwgdGltZXN0YW1wLCBncm91cCB9ID0gbWVzc2FnZTtcbiAgICBsZXQgb2xkTWVzc2FnZXMgPSBtZXNzYWdlcztcbiAgICBtZXNzYWdlcyA9IFsuLi5tZXNzYWdlcywgeyBzZW5kZXIsIHJlY2VpdmVycywgbWVzc2FnZTogY29udGVudCwgdGltZXN0YW1wLCBncm91cCB9XTtcblxuICAgIC8vIEZpbHRlciBvdXQgbWVzc2FnZXMgd2l0aCBiYW5uZWQgc2VuZGVycyBpbiB0aGUgcGFydGljaXBhbnRzIGFycmF5XG4gICAgaWYgKGV2ZW50VHlwZSAhPT0gJ2Jyb2FkY2FzdCcgJiYgZXZlbnRUeXBlICE9PSAnY2hhdCcpIHtcbiAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMuZmlsdGVyKChtZXNzYWdlOiBNZXNzYWdlKSA9PlxuICAgICAgICBwYXJ0aWNpcGFudHNBbGwuc29tZShcbiAgICAgICAgICAocGFydGljaXBhbnQ6IGFueSkgPT4gcGFydGljaXBhbnQubmFtZSA9PT0gbWVzc2FnZS5zZW5kZXIgJiYgIXBhcnRpY2lwYW50LmlzQmFubmVkLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcy5maWx0ZXIoKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHtcbiAgICAgICAgY29uc3QgcGFydGljaXBhbnQgPSBwYXJ0aWNpcGFudHNBbGwuZmluZChcbiAgICAgICAgICAocGFydGljaXBhbnQ6IGFueSkgPT4gcGFydGljaXBhbnQubmFtZSA9PT0gbWVzc2FnZS5zZW5kZXIsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiAhcGFydGljaXBhbnQgfHwgIXBhcnRpY2lwYW50LmlzQmFubmVkO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHVwZGF0ZU1lc3NhZ2VzKG1lc3NhZ2VzKTtcblxuICAgIC8vIFNlcGFyYXRlIGdyb3VwIGFuZCBkaXJlY3QgbWVzc2FnZXNcbiAgICBjb25zdCBvbGRHcm91cE1lc3NhZ2VzID0gb2xkTWVzc2FnZXMuZmlsdGVyKChtZXNzYWdlOiBNZXNzYWdlKSA9PiBtZXNzYWdlLmdyb3VwKTtcbiAgICBjb25zdCBvbGREaXJlY3RNZXNzYWdlcyA9IG9sZE1lc3NhZ2VzLmZpbHRlcigobWVzc2FnZTogTWVzc2FnZSkgPT4gIW1lc3NhZ2UuZ3JvdXApO1xuXG4gICAgLy8gUmVuZGVyIGFuZCB1cGRhdGUgY291bnRzIGZvciBncm91cCBtZXNzYWdlc1xuICAgIGNvbnN0IGdyb3VwTWVzc2FnZXMgPSBtZXNzYWdlcy5maWx0ZXIoKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IG1lc3NhZ2UuZ3JvdXApO1xuXG4gICAgaWYgKGV2ZW50VHlwZSAhPT0gJ2Jyb2FkY2FzdCcgJiYgZXZlbnRUeXBlICE9PSAnY2hhdCcpIHtcbiAgICAgIC8vIENoZWNrIGlmIG9sZEdyb3VwTWVzc2FnZXMgbGVuZ3RoIGlzIGRpZmZlcmVudCBmcm9tIGdyb3VwTWVzc2FnZXMgbGVuZ3RoXG4gICAgICBpZiAob2xkR3JvdXBNZXNzYWdlcy5sZW5ndGggIT09IGdyb3VwTWVzc2FnZXMubGVuZ3RoKSB7XG4gICAgICAgIC8vIElkZW50aWZ5IG5ldyBtZXNzYWdlc1xuICAgICAgICBjb25zdCBuZXdHcm91cE1lc3NhZ2VzID0gZ3JvdXBNZXNzYWdlcy5maWx0ZXIoXG4gICAgICAgICAgKG1lc3NhZ2U6IE1lc3NhZ2UpID0+XG4gICAgICAgICAgICAhb2xkR3JvdXBNZXNzYWdlcy5zb21lKFxuICAgICAgICAgICAgICAob2xkTWVzc2FnZTogTWVzc2FnZSkgPT4gb2xkTWVzc2FnZS50aW1lc3RhbXAgPT09IG1lc3NhZ2UudGltZXN0YW1wLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBDaGVjayBpZiBuZXdHcm91cE1lc3NhZ2VzIHNlbmRlciBpcyB0aGUgbWVtYmVyIG9yIHJlY2VpdmVycyBpbmNsdWRlIHRoZSBtZW1iZXJcbiAgICAgICAgY29uc3QgbmV3R3JvdXBNZXNzYWdlczIgPSBuZXdHcm91cE1lc3NhZ2VzLmZpbHRlcihcbiAgICAgICAgICAobWVzc2FnZTogTWVzc2FnZSkgPT4gbWVzc2FnZS5zZW5kZXIgPT09IG1lbWJlciB8fCBtZXNzYWdlLnJlY2VpdmVycy5pbmNsdWRlcyhtZW1iZXIpLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIG1lbWJlciBpcyB0aGUgc2VuZGVyIG9mIGFueSBuZXdHcm91cE1lc3NhZ2VzXG4gICAgICAgIGNvbnN0IG5ld0dyb3VwTWVzc2FnZXMzID0gbmV3R3JvdXBNZXNzYWdlczIuZmlsdGVyKFxuICAgICAgICAgIChtZXNzYWdlOiBNZXNzYWdlKSA9PiBtZXNzYWdlLnNlbmRlciA9PT0gbWVtYmVyLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIG1lbWJlciBpcyB0aGUgcmVjZWl2ZXIgb2YgYW55IG5ld0dyb3VwTWVzc2FnZXNcbiAgICAgICAgaWYgKG5ld0dyb3VwTWVzc2FnZXMubGVuZ3RoID4gMCAmJiBuZXdHcm91cE1lc3NhZ2VzLmxlbmd0aCAhPT0gbmV3R3JvdXBNZXNzYWdlczMubGVuZ3RoKSB7XG4gICAgICAgICAgdXBkYXRlU2hvd01lc3NhZ2VzQmFkZ2UodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW5kZXIgYW5kIHVwZGF0ZSBjb3VudHMgZm9yIGRpcmVjdCBtZXNzYWdlc1xuICAgIGNvbnN0IGRpcmVjdE1lc3NhZ2VzID0gbWVzc2FnZXMuZmlsdGVyKChtZXNzYWdlOiBNZXNzYWdlKSA9PiAhbWVzc2FnZS5ncm91cCk7XG5cbiAgICBpZiAoZXZlbnRUeXBlICE9PSAnYnJvYWRjYXN0JyAmJiBldmVudFR5cGUgIT09ICdjaGF0Jykge1xuICAgICAgLy8gQ2hlY2sgaWYgb2xkRGlyZWN0TWVzc2FnZXMgbGVuZ3RoIGlzIGRpZmZlcmVudCBmcm9tIGRpcmVjdE1lc3NhZ2VzIGxlbmd0aFxuICAgICAgaWYgKG9sZERpcmVjdE1lc3NhZ2VzLmxlbmd0aCAhPT0gZGlyZWN0TWVzc2FnZXMubGVuZ3RoKSB7XG4gICAgICAgIC8vIElkZW50aWZ5IG5ldyBkaXJlY3QgbWVzc2FnZXNcbiAgICAgICAgY29uc3QgbmV3RGlyZWN0TWVzc2FnZXMgPSBkaXJlY3RNZXNzYWdlcy5maWx0ZXIoXG4gICAgICAgICAgKG1lc3NhZ2U6IE1lc3NhZ2UpID0+XG4gICAgICAgICAgICAhb2xkRGlyZWN0TWVzc2FnZXMuc29tZShcbiAgICAgICAgICAgICAgKG9sZE1lc3NhZ2U6IE1lc3NhZ2UpID0+IG9sZE1lc3NhZ2UudGltZXN0YW1wID09PSBtZXNzYWdlLnRpbWVzdGFtcCxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgbmV3RGlyZWN0TWVzc2FnZXMgc2VuZGVyIGlzIHRoZSBtZW1iZXIgb3IgcmVjZWl2ZXJzIGluY2x1ZGUgdGhlIG1lbWJlclxuICAgICAgICBjb25zdCBuZXdEaXJlY3RNZXNzYWdlczIgPSBuZXdEaXJlY3RNZXNzYWdlcy5maWx0ZXIoXG4gICAgICAgICAgKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IG1lc3NhZ2Uuc2VuZGVyID09PSBtZW1iZXIgfHwgbWVzc2FnZS5yZWNlaXZlcnMuaW5jbHVkZXMobWVtYmVyKSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBDaGVjayBpZiBtZW1iZXIgaXMgdGhlIHNlbmRlciBvZiBhbnkgbmV3RGlyZWN0TWVzc2FnZXNcbiAgICAgICAgY29uc3QgbmV3RGlyZWN0TWVzc2FnZXMzID0gbmV3RGlyZWN0TWVzc2FnZXMyLmZpbHRlcihcbiAgICAgICAgICAobWVzc2FnZTogTWVzc2FnZSkgPT4gbWVzc2FnZS5zZW5kZXIgPT09IG1lbWJlcixcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgKG5ld0RpcmVjdE1lc3NhZ2VzLmxlbmd0aCA+IDAgJiYgbmV3RGlyZWN0TWVzc2FnZXMyLmxlbmd0aCA+IDApIHx8XG4gICAgICAgICAgKG5ld0RpcmVjdE1lc3NhZ2VzLmxlbmd0aCA+IDAgJiYgaXNsZXZlbCA9PT0gJzInKSB8fFxuICAgICAgICAgIGNvSG9zdCA9PT0gbWVtYmVyXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChpc2xldmVsID09PSAnMicgfHwgY29Ib3N0ID09PSBtZW1iZXIpIHtcbiAgICAgICAgICAgIGlmIChuZXdEaXJlY3RNZXNzYWdlcy5sZW5ndGggIT09IG5ld0RpcmVjdE1lc3NhZ2VzMy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdXBkYXRlU2hvd01lc3NhZ2VzQmFkZ2UodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgbmV3RGlyZWN0TWVzc2FnZXMyLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgbmV3RGlyZWN0TWVzc2FnZXMubGVuZ3RoICE9PSBuZXdEaXJlY3RNZXNzYWdlczMubGVuZ3RoXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdXBkYXRlU2hvd01lc3NhZ2VzQmFkZ2UodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIl19
@@ -0,0 +1,195 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../methods/utils/sound-player.service";
4
+ export class RecordingNotice {
5
+ SoundPlayerService;
6
+ constructor(SoundPlayerService) {
7
+ this.SoundPlayerService = SoundPlayerService;
8
+ }
9
+ /**
10
+ * Handles the recording notice state and updates various recording parameters accordingly.
11
+ *
12
+ * @param {Object} options - The options object.
13
+ * @param {string} options.state - The current state of the recording (e.g., "pause", "stop").
14
+ * @param {Object} options.userRecordingParam - The user recording parameters.
15
+ * @param {number} options.pauseCount - The count of pauses during the recording.
16
+ * @param {number} options.timeDone - The elapsed time of the recording.
17
+ * @param {Object} options.parameters - The parameters object containing various update functions and state variables.
18
+ * @param {string} options.parameters.islevel - The level of the recording.
19
+ * @param {Object} options.parameters.userRecordingParams - The user recording parameters.
20
+ * @param {number} options.parameters.pauseRecordCount - The count of pauses during the recording.
21
+ * @param {number} options.parameters.recordElapsedTime - The elapsed time of the recording.
22
+ * @param {number} options.parameters.recordStartTime - The start time of the recording.
23
+ * @param {boolean} options.parameters.recordStarted - Indicates if the recording has started.
24
+ * @param {boolean} options.parameters.recordPaused - Indicates if the recording is paused.
25
+ * @param {boolean} options.parameters.canLaunchRecord - Indicates if the recording can be launched.
26
+ * @param {boolean} options.parameters.stopLaunchRecord - Indicates if the recording launch should be stopped.
27
+ * @param {boolean} options.parameters.recordStopped - Indicates if the recording is stopped.
28
+ * @param {boolean} options.parameters.isTimerRunning - Indicates if the timer is running.
29
+ * @param {boolean} options.parameters.canPauseResume - Indicates if the recording can be paused or resumed.
30
+ * @param {string} options.parameters.eventType - The type of event triggering the recording notice.
31
+ * @param {Function} options.parameters.updateRecordingProgressTime - Function to update the recording progress time.
32
+ * @param {Function} options.parameters.updateShowRecordButtons - Function to update the visibility of record buttons.
33
+ * @param {Function} options.parameters.updateUserRecordingParams - Function to update user recording parameters.
34
+ * @param {Function} options.parameters.updateRecordingMediaOptions - Function to update recording media options.
35
+ * @param {Function} options.parameters.updateRecordingAudioOptions - Function to update recording audio options.
36
+ * @param {Function} options.parameters.updateRecordingVideoOptions - Function to update recording video options.
37
+ * @param {Function} options.parameters.updateRecordingVideoType - Function to update recording video type.
38
+ * @param {Function} options.parameters.updateRecordingVideoOptimized - Function to update recording video optimization.
39
+ * @param {Function} options.parameters.updateRecordingDisplayType - Function to update recording display type.
40
+ * @param {Function} options.parameters.updateRecordingAddHLS - Function to update HLS addition in recording.
41
+ * @param {Function} options.parameters.updateRecordingNameTags - Function to update recording name tags.
42
+ * @param {Function} options.parameters.updateRecordingBackgroundColor - Function to update recording background color.
43
+ * @param {Function} options.parameters.updateRecordingNameTagsColor - Function to update recording name tags color.
44
+ * @param {Function} options.parameters.updateRecordingOrientationVideo - Function to update recording orientation video.
45
+ * @param {Function} options.parameters.updateRecordingAddText - Function to update recording text addition.
46
+ * @param {Function} options.parameters.updateRecordingCustomText - Function to update custom text in recording.
47
+ * @param {Function} options.parameters.updateRecordingCustomTextPosition - Function to update custom text position.
48
+ * @param {Function} options.parameters.updateRecordingCustomTextColor - Function to update custom text color.
49
+ * @param {Function} options.parameters.updatePauseRecordCount - Function to update pause record count.
50
+ * @param {Function} options.parameters.updateRecordElapsedTime - Function to update record elapsed time.
51
+ * @param {Function} options.parameters.updateRecordStartTime - Function to update record start time.
52
+ * @param {Function} options.parameters.updateRecordStarted - Function to update record started status.
53
+ * @param {Function} options.parameters.updateRecordPaused - Function to update record paused status.
54
+ * @param {Function} options.parameters.updateCanLaunchRecord - Function to update can launch record status.
55
+ * @param {Function} options.parameters.updateStopLaunchRecord - Function to update stop launch record status.
56
+ * @param {Function} options.parameters.updateRecordStopped - Function to update record stopped status.
57
+ * @param {Function} options.parameters.updateIsTimerRunning - Function to update timer running status.
58
+ * @param {Function} options.parameters.updateCanPauseResume - Function to update can pause/resume status.
59
+ * @param {Function} options.parameters.updateRecordState - Function to update the record state.
60
+ *
61
+ * @returns {Promise<void>} A promise that resolves when the recording notice handling is complete.
62
+ *
63
+ * @throws {Error} Throws an error if handling the recording state and status fails.
64
+ */
65
+ RecordingNotice = async ({ state, userRecordingParam, pauseCount, timeDone, parameters, }) => {
66
+ let { islevel, userRecordingParams, pauseRecordCount, recordElapsedTime, recordStartTime, recordStarted, recordPaused, canLaunchRecord, stopLaunchRecord, recordStopped, isTimerRunning, canPauseResume, eventType, updateRecordingProgressTime, updateShowRecordButtons, updateUserRecordingParams, updateRecordingMediaOptions, updateRecordingAudioOptions, updateRecordingVideoOptions, updateRecordingVideoType, updateRecordingVideoOptimized, updateRecordingDisplayType, updateRecordingAddHLS, updateRecordingNameTags, updateRecordingBackgroundColor, updateRecordingNameTagsColor, updateRecordingOrientationVideo, updateRecordingAddText, updateRecordingCustomText, updateRecordingCustomTextPosition, updateRecordingCustomTextColor, updatePauseRecordCount, updateRecordElapsedTime, updateRecordStartTime, updateRecordStarted, updateRecordPaused, updateCanLaunchRecord, updateStopLaunchRecord, updateRecordStopped, updateIsTimerRunning, updateCanPauseResume, updateRecordState, } = parameters;
67
+ try {
68
+ if (islevel !== '2') {
69
+ if (state === 'pause') {
70
+ updateRecordStarted(true);
71
+ updateRecordPaused(true);
72
+ updateRecordState('yellow');
73
+ eventType !== 'broadcast' &&
74
+ this.SoundPlayerService.playSound({
75
+ soundUrl: 'https://www.mediasfu.com/sounds/record-paused.mp3',
76
+ });
77
+ }
78
+ else if (state === 'stop') {
79
+ updateRecordStarted(true);
80
+ updateRecordStopped(true);
81
+ updateRecordState('green');
82
+ eventType !== 'broadcast' &&
83
+ this.SoundPlayerService.playSound({
84
+ soundUrl: 'https://www.mediasfu.com/sounds/record-stopped.mp3',
85
+ });
86
+ }
87
+ else {
88
+ updateRecordState('red');
89
+ updateRecordStarted(true);
90
+ updateRecordPaused(false);
91
+ eventType !== 'broadcast' &&
92
+ this.SoundPlayerService.playSound({
93
+ soundUrl: 'https://www.mediasfu.com/sounds/record-progress.mp3',
94
+ });
95
+ }
96
+ }
97
+ else {
98
+ if (state === 'pause') {
99
+ updateRecordState('yellow');
100
+ if (userRecordingParam) {
101
+ userRecordingParams.mainSpecs = userRecordingParam.mainSpecs;
102
+ userRecordingParams.dispSpecs = userRecordingParam.dispSpecs;
103
+ userRecordingParams.textSpecs = userRecordingParam.textSpecs;
104
+ updateUserRecordingParams(userRecordingParams);
105
+ updateRecordingMediaOptions(userRecordingParams.mainSpecs.mediaOptions);
106
+ updateRecordingAudioOptions(userRecordingParams.mainSpecs.audioOptions);
107
+ updateRecordingVideoOptions(userRecordingParams.mainSpecs.videoOptions);
108
+ updateRecordingVideoType(userRecordingParams.mainSpecs.videoType);
109
+ updateRecordingVideoOptimized(userRecordingParams.mainSpecs.videoOptimized);
110
+ updateRecordingDisplayType(userRecordingParams.mainSpecs.recordingDisplayType);
111
+ updateRecordingAddHLS(userRecordingParams.mainSpecs.addHLS);
112
+ updateRecordingNameTags(userRecordingParams.dispSpecs.nameTags);
113
+ updateRecordingBackgroundColor(userRecordingParams.dispSpecs.backgroundColor);
114
+ updateRecordingNameTagsColor(userRecordingParams.dispSpecs.nameTagsColor);
115
+ updateRecordingOrientationVideo(userRecordingParams.dispSpecs.orientationVideo);
116
+ updateRecordingAddText(userRecordingParams.textSpecs?.addText ?? false);
117
+ updateRecordingCustomText(userRecordingParams.textSpecs?.customText ?? '');
118
+ updateRecordingCustomTextPosition(userRecordingParams.textSpecs?.customTextPosition ?? '');
119
+ updateRecordingCustomTextColor(userRecordingParams.textSpecs?.customTextColor ?? '');
120
+ pauseRecordCount = pauseCount;
121
+ updatePauseRecordCount(pauseRecordCount);
122
+ recordElapsedTime = timeDone;
123
+ recordElapsedTime = Math.floor(recordElapsedTime / 1000);
124
+ recordStartTime = Math.floor(Date.now() / 1000) - recordElapsedTime;
125
+ updateRecordStartTime(recordStartTime);
126
+ updateRecordElapsedTime(recordElapsedTime);
127
+ recordStarted = true;
128
+ recordPaused = true;
129
+ canLaunchRecord = false;
130
+ recordStopped = false;
131
+ updateRecordStarted(recordStarted);
132
+ updateRecordPaused(recordPaused);
133
+ updateCanLaunchRecord(canLaunchRecord);
134
+ updateRecordStopped(recordStopped);
135
+ updateShowRecordButtons(true);
136
+ isTimerRunning = false;
137
+ canPauseResume = true;
138
+ updateIsTimerRunning(isTimerRunning);
139
+ updateCanPauseResume(canPauseResume);
140
+ const formattedTime = this.formatElapsedTime(recordElapsedTime);
141
+ updateRecordingProgressTime(formattedTime);
142
+ }
143
+ this.SoundPlayerService.playSound({
144
+ soundUrl: 'https://www.mediasfu.com/sounds/record-paused.mp3',
145
+ });
146
+ }
147
+ else if (state === 'stop') {
148
+ updateRecordStarted(true);
149
+ updateRecordStopped(true);
150
+ canLaunchRecord = false;
151
+ stopLaunchRecord = true;
152
+ updateRecordStarted(recordStarted);
153
+ updateRecordStopped(recordStopped);
154
+ updateCanLaunchRecord(canLaunchRecord);
155
+ updateStopLaunchRecord(stopLaunchRecord);
156
+ updateShowRecordButtons(false);
157
+ updateRecordState('green');
158
+ this.SoundPlayerService.playSound({
159
+ soundUrl: 'https://www.mediasfu.com/sounds/record-stopped.mp3',
160
+ });
161
+ }
162
+ else {
163
+ updateRecordState('red');
164
+ updateRecordStarted(true);
165
+ updateRecordPaused(false);
166
+ this.SoundPlayerService.playSound({
167
+ soundUrl: 'https://www.mediasfu.com/sounds/record-progress.mp3',
168
+ });
169
+ }
170
+ }
171
+ }
172
+ catch (error) {
173
+ console.log('Error in RecordingNotice: ', error);
174
+ // throw new Error("Failed to handle recording state and status.");
175
+ }
176
+ };
177
+ formatElapsedTime = (recordElapsedTime) => {
178
+ const hours = Math.floor(recordElapsedTime / 3600);
179
+ const minutes = Math.floor((recordElapsedTime % 3600) / 60);
180
+ const seconds = recordElapsedTime % 60;
181
+ return `${this.padNumber(hours)}:${this.padNumber(minutes)}:${this.padNumber(seconds)}`;
182
+ };
183
+ padNumber = (number) => {
184
+ return number.toString().padStart(2, '0');
185
+ };
186
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordingNotice, deps: [{ token: i1.SoundPlayer }], target: i0.ɵɵFactoryTarget.Injectable });
187
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordingNotice, providedIn: 'root' });
188
+ }
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RecordingNotice, decorators: [{
190
+ type: Injectable,
191
+ args: [{
192
+ providedIn: 'root',
193
+ }]
194
+ }], ctorParameters: () => [{ type: i1.SoundPlayer }] });
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLW5vdGljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL3Byb2R1Y2Vycy9zb2NrZXQtcmVjZWl2ZS1tZXRob2RzL3JlY29yZGluZy1ub3RpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFtRTNDLE1BQU0sT0FBTyxlQUFlO0lBQ047SUFBcEIsWUFBb0Isa0JBQStCO1FBQS9CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBYTtJQUFHLENBQUM7SUFFdkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F1REc7SUFDSCxlQUFlLEdBQUcsS0FBSyxFQUFFLEVBQ3ZCLEtBQUssRUFDTCxrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLFFBQVEsRUFDUixVQUFVLEdBQ2EsRUFBaUIsRUFBRTtRQUMxQyxJQUFJLEVBQ0YsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixhQUFhLEVBQ2IsWUFBWSxFQUNaLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGNBQWMsRUFDZCxjQUFjLEVBQ2QsU0FBUyxFQUVULDJCQUEyQixFQUMzQix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUN4Qiw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsOEJBQThCLEVBQzlCLDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0Isc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixpQ0FBaUMsRUFDakMsOEJBQThCLEVBQzlCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixpQkFBaUIsR0FDbEIsR0FBRyxVQUFVLENBQUM7UUFFZixJQUFJLENBQUM7WUFDSCxJQUFJLE9BQU8sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQ3RCLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekIsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQzVCLFNBQVMsS0FBSyxXQUFXO3dCQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDOzRCQUNoQyxRQUFRLEVBQUUsbURBQW1EO3lCQUM5RCxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztxQkFBTSxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztvQkFDNUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzFCLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxQixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDM0IsU0FBUyxLQUFLLFdBQVc7d0JBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7NEJBQ2hDLFFBQVEsRUFBRSxvREFBb0Q7eUJBQy9ELENBQUMsQ0FBQztnQkFDUCxDQUFDO3FCQUFNLENBQUM7b0JBQ04saUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3pCLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxQixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDMUIsU0FBUyxLQUFLLFdBQVc7d0JBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7NEJBQ2hDLFFBQVEsRUFBRSxxREFBcUQ7eUJBQ2hFLENBQUMsQ0FBQztnQkFDUCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksS0FBSyxLQUFLLE9BQU8sRUFBRSxDQUFDO29CQUN0QixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDNUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO3dCQUN2QixtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDO3dCQUM3RCxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDO3dCQUM3RCxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDO3dCQUU3RCx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3dCQUMvQywyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQ3hFLDJCQUEyQixDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDeEUsMkJBQTJCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUN4RSx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQ2xFLDZCQUE2QixDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQzt3QkFDNUUsMEJBQTBCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUM7d0JBQy9FLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDNUQsdUJBQXVCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNoRSw4QkFBOEIsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQzlFLDRCQUE0QixDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDMUUsK0JBQStCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7d0JBQ2hGLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLENBQUM7d0JBQ3hFLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7d0JBQzNFLGlDQUFpQyxDQUMvQixtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLElBQUksRUFBRSxDQUN4RCxDQUFDO3dCQUNGLDhCQUE4QixDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDLENBQUM7d0JBRXJGLGdCQUFnQixHQUFHLFVBQVUsQ0FBQzt3QkFDOUIsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt3QkFFekMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDO3dCQUM3QixpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxDQUFDO3dCQUN6RCxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7d0JBQ3BFLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUN2Qyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO3dCQUUzQyxhQUFhLEdBQUcsSUFBSSxDQUFDO3dCQUNyQixZQUFZLEdBQUcsSUFBSSxDQUFDO3dCQUNwQixlQUFlLEdBQUcsS0FBSyxDQUFDO3dCQUN4QixhQUFhLEdBQUcsS0FBSyxDQUFDO3dCQUV0QixtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDbkMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQ2pDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUN2QyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDbkMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBRTlCLGNBQWMsR0FBRyxLQUFLLENBQUM7d0JBQ3ZCLGNBQWMsR0FBRyxJQUFJLENBQUM7d0JBRXRCLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUNyQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQzt3QkFFckMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUM7d0JBQ2hFLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUM3QyxDQUFDO29CQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7d0JBQ2hDLFFBQVEsRUFBRSxtREFBbUQ7cUJBQzlELENBQUMsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO29CQUM1QixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDMUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzFCLGVBQWUsR0FBRyxLQUFLLENBQUM7b0JBQ3hCLGdCQUFnQixHQUFHLElBQUksQ0FBQztvQkFFeEIsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ25DLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNuQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDdkMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDekMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRS9CLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO3dCQUNoQyxRQUFRLEVBQUUsb0RBQW9EO3FCQUMvRCxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztxQkFBTSxDQUFDO29CQUNOLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN6QixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDMUIsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7d0JBQ2hDLFFBQVEsRUFBRSxxREFBcUQ7cUJBQ2hFLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNqRCxtRUFBbUU7UUFDckUsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVNLGlCQUFpQixHQUFHLENBQUMsaUJBQXlCLEVBQVUsRUFBRTtRQUNoRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFdkMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDMUYsQ0FBQyxDQUFDO0lBRU0sU0FBUyxHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUU7UUFDN0MsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUM7dUdBL09TLGVBQWU7MkdBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU291bmRQbGF5ZXIgfSBmcm9tICcuLi8uLi9tZXRob2RzL3V0aWxzL3NvdW5kLXBsYXllci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgRXZlbnRUeXBlLCBVc2VyUmVjb3JkaW5nUGFyYW1zIH0gZnJvbSAnLi4vLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRpbmdOb3RpY2VQYXJhbWV0ZXJzIHtcbiAgaXNsZXZlbDogc3RyaW5nO1xuICB1c2VyUmVjb3JkaW5nUGFyYW1zOiBVc2VyUmVjb3JkaW5nUGFyYW1zO1xuICByZWNvcmRFbGFwc2VkVGltZTogbnVtYmVyO1xuICByZWNvcmRTdGFydFRpbWU6IG51bWJlcjtcbiAgcmVjb3JkU3RhcnRlZDogYm9vbGVhbjtcbiAgcmVjb3JkUGF1c2VkOiBib29sZWFuO1xuICBjYW5MYXVuY2hSZWNvcmQ6IGJvb2xlYW47XG4gIHN0b3BMYXVuY2hSZWNvcmQ6IGJvb2xlYW47XG4gIHJlY29yZFN0b3BwZWQ6IGJvb2xlYW47XG4gIGlzVGltZXJSdW5uaW5nOiBib29sZWFuO1xuICBjYW5QYXVzZVJlc3VtZTogYm9vbGVhbjtcbiAgZXZlbnRUeXBlOiBFdmVudFR5cGU7XG5cbiAgdXBkYXRlUmVjb3JkaW5nUHJvZ3Jlc3NUaW1lOiAodGltZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVTaG93UmVjb3JkQnV0dG9uczogKHNob3c6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVVzZXJSZWNvcmRpbmdQYXJhbXM6IChwYXJhbXM6IFVzZXJSZWNvcmRpbmdQYXJhbXMpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ01lZGlhT3B0aW9uczogKG9wdGlvbnM6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nQXVkaW9PcHRpb25zOiAob3B0aW9uczogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdWaWRlb09wdGlvbnM6IChvcHRpb25zOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ1ZpZGVvVHlwZTogKHR5cGU6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nVmlkZW9PcHRpbWl6ZWQ6IChvcHRpbWl6ZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0Rpc3BsYXlUeXBlOiAodHlwZTogJ3ZpZGVvJyB8ICdtZWRpYScgfCAnYWxsJykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nQWRkSExTOiAoYWRkSExTOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdOYW1lVGFnczogKG5hbWVUYWdzOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3I6IChjb2xvcjogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdOYW1lVGFnc0NvbG9yOiAoY29sb3I6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nT3JpZW50YXRpb25WaWRlbzogKG9yaWVudGF0aW9uOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0FkZFRleHQ6IChhZGRUZXh0OiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb246IChwb3NpdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0Q29sb3I6IChjb2xvcjogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVQYXVzZVJlY29yZENvdW50OiAoY291bnQ6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkRWxhcHNlZFRpbWU6ICh0aW1lOiBudW1iZXIpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZFN0YXJ0ZWQ6IChzdGFydGVkOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRQYXVzZWQ6IChwYXVzZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZUNhbkxhdW5jaFJlY29yZDogKGNhbkxhdW5jaDogYm9vbGVhbikgPT4gdm9pZDtcbiAgdXBkYXRlU3RvcExhdW5jaFJlY29yZDogKHN0b3A6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZFN0b3BwZWQ6IChzdG9wcGVkOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVJc1RpbWVyUnVubmluZzogKHJ1bm5pbmc6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZUNhblBhdXNlUmVzdW1lOiAoY2FuUGF1c2U6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZFN0YXJ0VGltZTogKHN0YXJ0VGltZTogbnVtYmVyKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRTdGF0ZTogKHN0YXRlOiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLy8gbWVkaWFzZnUgZnVuY3Rpb25zXG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRpbmdOb3RpY2VPcHRpb25zIHtcbiAgc3RhdGU6IHN0cmluZztcbiAgdXNlclJlY29yZGluZ1BhcmFtOiBVc2VyUmVjb3JkaW5nUGFyYW1zIHwgbnVsbDtcbiAgcGF1c2VDb3VudDogbnVtYmVyO1xuICB0aW1lRG9uZTogbnVtYmVyO1xuICBwYXJhbWV0ZXJzOiBSZWNvcmRpbmdOb3RpY2VQYXJhbWV0ZXJzO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBSZWNvcmRpbmdOb3RpY2VUeXBlID0gKG9wdGlvbnM6IFJlY29yZGluZ05vdGljZU9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmRpbmdOb3RpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIFNvdW5kUGxheWVyU2VydmljZTogU291bmRQbGF5ZXIpIHt9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIHJlY29yZGluZyBub3RpY2Ugc3RhdGUgYW5kIHVwZGF0ZXMgdmFyaW91cyByZWNvcmRpbmcgcGFyYW1ldGVycyBhY2NvcmRpbmdseS5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnN0YXRlIC0gVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHJlY29yZGluZyAoZS5nLiwgXCJwYXVzZVwiLCBcInN0b3BcIikuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnVzZXJSZWNvcmRpbmdQYXJhbSAtIFRoZSB1c2VyIHJlY29yZGluZyBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXVzZUNvdW50IC0gVGhlIGNvdW50IG9mIHBhdXNlcyBkdXJpbmcgdGhlIHJlY29yZGluZy5cbiAgICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMudGltZURvbmUgLSBUaGUgZWxhcHNlZCB0aW1lIG9mIHRoZSByZWNvcmRpbmcuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnBhcmFtZXRlcnMgLSBUaGUgcGFyYW1ldGVycyBvYmplY3QgY29udGFpbmluZyB2YXJpb3VzIHVwZGF0ZSBmdW5jdGlvbnMgYW5kIHN0YXRlIHZhcmlhYmxlcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5pc2xldmVsIC0gVGhlIGxldmVsIG9mIHRoZSByZWNvcmRpbmcuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnBhcmFtZXRlcnMudXNlclJlY29yZGluZ1BhcmFtcyAtIFRoZSB1c2VyIHJlY29yZGluZyBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnBhdXNlUmVjb3JkQ291bnQgLSBUaGUgY291bnQgb2YgcGF1c2VzIGR1cmluZyB0aGUgcmVjb3JkaW5nLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZEVsYXBzZWRUaW1lIC0gVGhlIGVsYXBzZWQgdGltZSBvZiB0aGUgcmVjb3JkaW5nLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZFN0YXJ0VGltZSAtIFRoZSBzdGFydCB0aW1lIG9mIHRoZSByZWNvcmRpbmcuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZFN0YXJ0ZWQgLSBJbmRpY2F0ZXMgaWYgdGhlIHJlY29yZGluZyBoYXMgc3RhcnRlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMucmVjb3JkUGF1c2VkIC0gSW5kaWNhdGVzIGlmIHRoZSByZWNvcmRpbmcgaXMgcGF1c2VkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5jYW5MYXVuY2hSZWNvcmQgLSBJbmRpY2F0ZXMgaWYgdGhlIHJlY29yZGluZyBjYW4gYmUgbGF1bmNoZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnN0b3BMYXVuY2hSZWNvcmQgLSBJbmRpY2F0ZXMgaWYgdGhlIHJlY29yZGluZyBsYXVuY2ggc2hvdWxkIGJlIHN0b3BwZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZFN0b3BwZWQgLSBJbmRpY2F0ZXMgaWYgdGhlIHJlY29yZGluZyBpcyBzdG9wcGVkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5pc1RpbWVyUnVubmluZyAtIEluZGljYXRlcyBpZiB0aGUgdGltZXIgaXMgcnVubmluZy5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMuY2FuUGF1c2VSZXN1bWUgLSBJbmRpY2F0ZXMgaWYgdGhlIHJlY29yZGluZyBjYW4gYmUgcGF1c2VkIG9yIHJlc3VtZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMuZXZlbnRUeXBlIC0gVGhlIHR5cGUgb2YgZXZlbnQgdHJpZ2dlcmluZyB0aGUgcmVjb3JkaW5nIG5vdGljZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1Byb2dyZXNzVGltZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgcmVjb3JkaW5nIHByb2dyZXNzIHRpbWUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVTaG93UmVjb3JkQnV0dG9ucyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlzaWJpbGl0eSBvZiByZWNvcmQgYnV0dG9ucy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVVzZXJSZWNvcmRpbmdQYXJhbXMgLSBGdW5jdGlvbiB0byB1cGRhdGUgdXNlciByZWNvcmRpbmcgcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ01lZGlhT3B0aW9ucyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSByZWNvcmRpbmcgbWVkaWEgb3B0aW9ucy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ0F1ZGlvT3B0aW9ucyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSByZWNvcmRpbmcgYXVkaW8gb3B0aW9ucy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvT3B0aW9ucyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSByZWNvcmRpbmcgdmlkZW8gb3B0aW9ucy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvVHlwZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSByZWNvcmRpbmcgdmlkZW8gdHlwZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvT3B0aW1pemVkIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHJlY29yZGluZyB2aWRlbyBvcHRpbWl6YXRpb24uXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdEaXNwbGF5VHlwZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSByZWNvcmRpbmcgZGlzcGxheSB0eXBlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQWRkSExTIC0gRnVuY3Rpb24gdG8gdXBkYXRlIEhMUyBhZGRpdGlvbiBpbiByZWNvcmRpbmcuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdOYW1lVGFncyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSByZWNvcmRpbmcgbmFtZSB0YWdzLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQmFja2dyb3VuZENvbG9yIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHJlY29yZGluZyBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nTmFtZVRhZ3NDb2xvciAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSByZWNvcmRpbmcgbmFtZSB0YWdzIGNvbG9yLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nT3JpZW50YXRpb25WaWRlbyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSByZWNvcmRpbmcgb3JpZW50YXRpb24gdmlkZW8uXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdBZGRUZXh0IC0gRnVuY3Rpb24gdG8gdXBkYXRlIHJlY29yZGluZyB0ZXh0IGFkZGl0aW9uLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQ3VzdG9tVGV4dCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSBjdXN0b20gdGV4dCBpbiByZWNvcmRpbmcuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0UG9zaXRpb24gLSBGdW5jdGlvbiB0byB1cGRhdGUgY3VzdG9tIHRleHQgcG9zaXRpb24uXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0Q29sb3IgLSBGdW5jdGlvbiB0byB1cGRhdGUgY3VzdG9tIHRleHQgY29sb3IuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVQYXVzZVJlY29yZENvdW50IC0gRnVuY3Rpb24gdG8gdXBkYXRlIHBhdXNlIHJlY29yZCBjb3VudC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZEVsYXBzZWRUaW1lIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHJlY29yZCBlbGFwc2VkIHRpbWUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRTdGFydFRpbWUgLSBGdW5jdGlvbiB0byB1cGRhdGUgcmVjb3JkIHN0YXJ0IHRpbWUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRTdGFydGVkIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHJlY29yZCBzdGFydGVkIHN0YXR1cy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZFBhdXNlZCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSByZWNvcmQgcGF1c2VkIHN0YXR1cy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUNhbkxhdW5jaFJlY29yZCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSBjYW4gbGF1bmNoIHJlY29yZCBzdGF0dXMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVTdG9wTGF1bmNoUmVjb3JkIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHN0b3AgbGF1bmNoIHJlY29yZCBzdGF0dXMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRTdG9wcGVkIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHJlY29yZCBzdG9wcGVkIHN0YXR1cy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUlzVGltZXJSdW5uaW5nIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRpbWVyIHJ1bm5pbmcgc3RhdHVzLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlQ2FuUGF1c2VSZXN1bWUgLSBGdW5jdGlvbiB0byB1cGRhdGUgY2FuIHBhdXNlL3Jlc3VtZSBzdGF0dXMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRTdGF0ZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgcmVjb3JkIHN0YXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVjb3JkaW5nIG5vdGljZSBoYW5kbGluZyBpcyBjb21wbGV0ZS5cbiAgICpcbiAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiBoYW5kbGluZyB0aGUgcmVjb3JkaW5nIHN0YXRlIGFuZCBzdGF0dXMgZmFpbHMuXG4gICAqL1xuICBSZWNvcmRpbmdOb3RpY2UgPSBhc3luYyAoe1xuICAgIHN0YXRlLFxuICAgIHVzZXJSZWNvcmRpbmdQYXJhbSxcbiAgICBwYXVzZUNvdW50LFxuICAgIHRpbWVEb25lLFxuICAgIHBhcmFtZXRlcnMsXG4gIH06IFJlY29yZGluZ05vdGljZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBsZXQge1xuICAgICAgaXNsZXZlbCxcbiAgICAgIHVzZXJSZWNvcmRpbmdQYXJhbXMsXG4gICAgICBwYXVzZVJlY29yZENvdW50LFxuICAgICAgcmVjb3JkRWxhcHNlZFRpbWUsXG4gICAgICByZWNvcmRTdGFydFRpbWUsXG4gICAgICByZWNvcmRTdGFydGVkLFxuICAgICAgcmVjb3JkUGF1c2VkLFxuICAgICAgY2FuTGF1bmNoUmVjb3JkLFxuICAgICAgc3RvcExhdW5jaFJlY29yZCxcbiAgICAgIHJlY29yZFN0b3BwZWQsXG4gICAgICBpc1RpbWVyUnVubmluZyxcbiAgICAgIGNhblBhdXNlUmVzdW1lLFxuICAgICAgZXZlbnRUeXBlLFxuXG4gICAgICB1cGRhdGVSZWNvcmRpbmdQcm9ncmVzc1RpbWUsXG4gICAgICB1cGRhdGVTaG93UmVjb3JkQnV0dG9ucyxcbiAgICAgIHVwZGF0ZVVzZXJSZWNvcmRpbmdQYXJhbXMsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdNZWRpYU9wdGlvbnMsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdBdWRpb09wdGlvbnMsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb09wdGlvbnMsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb1R5cGUsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb09wdGltaXplZCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ0Rpc3BsYXlUeXBlLFxuICAgICAgdXBkYXRlUmVjb3JkaW5nQWRkSExTLFxuICAgICAgdXBkYXRlUmVjb3JkaW5nTmFtZVRhZ3MsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdOYW1lVGFnc0NvbG9yLFxuICAgICAgdXBkYXRlUmVjb3JkaW5nT3JpZW50YXRpb25WaWRlbyxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ0FkZFRleHQsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0LFxuICAgICAgdXBkYXRlUmVjb3JkaW5nQ3VzdG9tVGV4dFBvc2l0aW9uLFxuICAgICAgdXBkYXRlUmVjb3JkaW5nQ3VzdG9tVGV4dENvbG9yLFxuICAgICAgdXBkYXRlUGF1c2VSZWNvcmRDb3VudCxcbiAgICAgIHVwZGF0ZVJlY29yZEVsYXBzZWRUaW1lLFxuICAgICAgdXBkYXRlUmVjb3JkU3RhcnRUaW1lLFxuICAgICAgdXBkYXRlUmVjb3JkU3RhcnRlZCxcbiAgICAgIHVwZGF0ZVJlY29yZFBhdXNlZCxcbiAgICAgIHVwZGF0ZUNhbkxhdW5jaFJlY29yZCxcbiAgICAgIHVwZGF0ZVN0b3BMYXVuY2hSZWNvcmQsXG4gICAgICB1cGRhdGVSZWNvcmRTdG9wcGVkLFxuICAgICAgdXBkYXRlSXNUaW1lclJ1bm5pbmcsXG4gICAgICB1cGRhdGVDYW5QYXVzZVJlc3VtZSxcbiAgICAgIHVwZGF0ZVJlY29yZFN0YXRlLFxuICAgIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmIChpc2xldmVsICE9PSAnMicpIHtcbiAgICAgICAgaWYgKHN0YXRlID09PSAncGF1c2UnKSB7XG4gICAgICAgICAgdXBkYXRlUmVjb3JkU3RhcnRlZCh0cnVlKTtcbiAgICAgICAgICB1cGRhdGVSZWNvcmRQYXVzZWQodHJ1ZSk7XG4gICAgICAgICAgdXBkYXRlUmVjb3JkU3RhdGUoJ3llbGxvdycpO1xuICAgICAgICAgIGV2ZW50VHlwZSAhPT0gJ2Jyb2FkY2FzdCcgJiZcbiAgICAgICAgICAgIHRoaXMuU291bmRQbGF5ZXJTZXJ2aWNlLnBsYXlTb3VuZCh7XG4gICAgICAgICAgICAgIHNvdW5kVXJsOiAnaHR0cHM6Ly93d3cubWVkaWFzZnUuY29tL3NvdW5kcy9yZWNvcmQtcGF1c2VkLm1wMycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gJ3N0b3AnKSB7XG4gICAgICAgICAgdXBkYXRlUmVjb3JkU3RhcnRlZCh0cnVlKTtcbiAgICAgICAgICB1cGRhdGVSZWNvcmRTdG9wcGVkKHRydWUpO1xuICAgICAgICAgIHVwZGF0ZVJlY29yZFN0YXRlKCdncmVlbicpO1xuICAgICAgICAgIGV2ZW50VHlwZSAhPT0gJ2Jyb2FkY2FzdCcgJiZcbiAgICAgICAgICAgIHRoaXMuU291bmRQbGF5ZXJTZXJ2aWNlLnBsYXlTb3VuZCh7XG4gICAgICAgICAgICAgIHNvdW5kVXJsOiAnaHR0cHM6Ly93d3cubWVkaWFzZnUuY29tL3NvdW5kcy9yZWNvcmQtc3RvcHBlZC5tcDMnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdXBkYXRlUmVjb3JkU3RhdGUoJ3JlZCcpO1xuICAgICAgICAgIHVwZGF0ZVJlY29yZFN0YXJ0ZWQodHJ1ZSk7XG4gICAgICAgICAgdXBkYXRlUmVjb3JkUGF1c2VkKGZhbHNlKTtcbiAgICAgICAgICBldmVudFR5cGUgIT09ICdicm9hZGNhc3QnICYmXG4gICAgICAgICAgICB0aGlzLlNvdW5kUGxheWVyU2VydmljZS5wbGF5U291bmQoe1xuICAgICAgICAgICAgICBzb3VuZFVybDogJ2h0dHBzOi8vd3d3Lm1lZGlhc2Z1LmNvbS9zb3VuZHMvcmVjb3JkLXByb2dyZXNzLm1wMycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHN0YXRlID09PSAncGF1c2UnKSB7XG4gICAgICAgICAgdXBkYXRlUmVjb3JkU3RhdGUoJ3llbGxvdycpO1xuICAgICAgICAgIGlmICh1c2VyUmVjb3JkaW5nUGFyYW0pIHtcbiAgICAgICAgICAgIHVzZXJSZWNvcmRpbmdQYXJhbXMubWFpblNwZWNzID0gdXNlclJlY29yZGluZ1BhcmFtLm1haW5TcGVjcztcbiAgICAgICAgICAgIHVzZXJSZWNvcmRpbmdQYXJhbXMuZGlzcFNwZWNzID0gdXNlclJlY29yZGluZ1BhcmFtLmRpc3BTcGVjcztcbiAgICAgICAgICAgIHVzZXJSZWNvcmRpbmdQYXJhbXMudGV4dFNwZWNzID0gdXNlclJlY29yZGluZ1BhcmFtLnRleHRTcGVjcztcblxuICAgICAgICAgICAgdXBkYXRlVXNlclJlY29yZGluZ1BhcmFtcyh1c2VyUmVjb3JkaW5nUGFyYW1zKTtcbiAgICAgICAgICAgIHVwZGF0ZVJlY29yZGluZ01lZGlhT3B0aW9ucyh1c2VyUmVjb3JkaW5nUGFyYW1zLm1haW5TcGVjcy5tZWRpYU9wdGlvbnMpO1xuICAgICAgICAgICAgdXBkYXRlUmVjb3JkaW5nQXVkaW9PcHRpb25zKHVzZXJSZWNvcmRpbmdQYXJhbXMubWFpblNwZWNzLmF1ZGlvT3B0aW9ucyk7XG4gICAgICAgICAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb09wdGlvbnModXNlclJlY29yZGluZ1BhcmFtcy5tYWluU3BlY3MudmlkZW9PcHRpb25zKTtcbiAgICAgICAgICAgIHVwZGF0ZVJlY29yZGluZ1ZpZGVvVHlwZSh1c2VyUmVjb3JkaW5nUGFyYW1zLm1haW5TcGVjcy52aWRlb1R5cGUpO1xuICAgICAgICAgICAgdXBkYXRlUmVjb3JkaW5nVmlkZW9PcHRpbWl6ZWQodXNlclJlY29yZGluZ1BhcmFtcy5tYWluU3BlY3MudmlkZW9PcHRpbWl6ZWQpO1xuICAgICAgICAgICAgdXBkYXRlUmVjb3JkaW5nRGlzcGxheVR5cGUodXNlclJlY29yZGluZ1BhcmFtcy5tYWluU3BlY3MucmVjb3JkaW5nRGlzcGxheVR5cGUpO1xuICAgICAgICAgICAgdXBkYXRlUmVjb3JkaW5nQWRkSExTKHVzZXJSZWNvcmRpbmdQYXJhbXMubWFpblNwZWNzLmFkZEhMUyk7XG4gICAgICAgICAgICB1cGRhdGVSZWNvcmRpbmdOYW1lVGFncyh1c2VyUmVjb3JkaW5nUGFyYW1zLmRpc3BTcGVjcy5uYW1lVGFncyk7XG4gICAgICAgICAgICB1cGRhdGVSZWNvcmRpbmdCYWNrZ3JvdW5kQ29sb3IodXNlclJlY29yZGluZ1BhcmFtcy5kaXNwU3BlY3MuYmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgICAgIHVwZGF0ZVJlY29yZGluZ05hbWVUYWdzQ29sb3IodXNlclJlY29yZGluZ1BhcmFtcy5kaXNwU3BlY3MubmFtZVRhZ3NDb2xvcik7XG4gICAgICAgICAgICB1cGRhdGVSZWNvcmRpbmdPcmllbnRhdGlvblZpZGVvKHVzZXJSZWNvcmRpbmdQYXJhbXMuZGlzcFNwZWNzLm9yaWVudGF0aW9uVmlkZW8pO1xuICAgICAgICAgICAgdXBkYXRlUmVjb3JkaW5nQWRkVGV4dCh1c2VyUmVjb3JkaW5nUGFyYW1zLnRleHRTcGVjcz8uYWRkVGV4dCA/PyBmYWxzZSk7XG4gICAgICAgICAgICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0KHVzZXJSZWNvcmRpbmdQYXJhbXMudGV4dFNwZWNzPy5jdXN0b21UZXh0ID8/ICcnKTtcbiAgICAgICAgICAgIHVwZGF0ZVJlY29yZGluZ0N1c3RvbVRleHRQb3NpdGlvbihcbiAgICAgICAgICAgICAgdXNlclJlY29yZGluZ1BhcmFtcy50ZXh0U3BlY3M/LmN1c3RvbVRleHRQb3NpdGlvbiA/PyAnJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB1cGRhdGVSZWNvcmRpbmdDdXN0b21UZXh0Q29sb3IodXNlclJlY29yZGluZ1BhcmFtcy50ZXh0U3BlY3M/LmN1c3RvbVRleHRDb2xvciA/PyAnJyk7XG5cbiAgICAgICAgICAgIHBhdXNlUmVjb3JkQ291bnQgPSBwYXVzZUNvdW50O1xuICAgICAgICAgICAgdXBkYXRlUGF1c2VSZWNvcmRDb3VudChwYXVzZVJlY29yZENvdW50KTtcblxuICAgICAgICAgICAgcmVjb3JkRWxhcHNlZFRpbWUgPSB0aW1lRG9uZTtcbiAgICAgICAgICAgIHJlY29yZEVsYXBzZWRUaW1lID0gTWF0aC5mbG9vcihyZWNvcmRFbGFwc2VkVGltZSAvIDEwMDApO1xuICAgICAgICAgICAgcmVjb3JkU3RhcnRUaW1lID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCkgLSByZWNvcmRFbGFwc2VkVGltZTtcbiAgICAgICAgICAgIHVwZGF0ZVJlY29yZFN0YXJ0VGltZShyZWNvcmRTdGFydFRpbWUpO1xuICAgICAgICAgICAgdXBkYXRlUmVjb3JkRWxhcHNlZFRpbWUocmVjb3JkRWxhcHNlZFRpbWUpO1xuXG4gICAgICAgICAgICByZWNvcmRTdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHJlY29yZFBhdXNlZCA9IHRydWU7XG4gICAgICAgICAgICBjYW5MYXVuY2hSZWNvcmQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJlY29yZFN0b3BwZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgdXBkYXRlUmVjb3JkU3RhcnRlZChyZWNvcmRTdGFydGVkKTtcbiAgICAgICAgICAgIHVwZGF0ZVJlY29yZFBhdXNlZChyZWNvcmRQYXVzZWQpO1xuICAgICAgICAgICAgdXBkYXRlQ2FuTGF1bmNoUmVjb3JkKGNhbkxhdW5jaFJlY29yZCk7XG4gICAgICAgICAgICB1cGRhdGVSZWNvcmRTdG9wcGVkKHJlY29yZFN0b3BwZWQpO1xuICAgICAgICAgICAgdXBkYXRlU2hvd1JlY29yZEJ1dHRvbnModHJ1ZSk7XG5cbiAgICAgICAgICAgIGlzVGltZXJSdW5uaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBjYW5QYXVzZVJlc3VtZSA9IHRydWU7XG5cbiAgICAgICAgICAgIHVwZGF0ZUlzVGltZXJSdW5uaW5nKGlzVGltZXJSdW5uaW5nKTtcbiAgICAgICAgICAgIHVwZGF0ZUNhblBhdXNlUmVzdW1lKGNhblBhdXNlUmVzdW1lKTtcblxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkVGltZSA9IHRoaXMuZm9ybWF0RWxhcHNlZFRpbWUocmVjb3JkRWxhcHNlZFRpbWUpO1xuICAgICAgICAgICAgdXBkYXRlUmVjb3JkaW5nUHJvZ3Jlc3NUaW1lKGZvcm1hdHRlZFRpbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLlNvdW5kUGxheWVyU2VydmljZS5wbGF5U291bmQoe1xuICAgICAgICAgICAgc291bmRVcmw6ICdodHRwczovL3d3dy5tZWRpYXNmdS5jb20vc291bmRzL3JlY29yZC1wYXVzZWQubXAzJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gJ3N0b3AnKSB7XG4gICAgICAgICAgdXBkYXRlUmVjb3JkU3RhcnRlZCh0cnVlKTtcbiAgICAgICAgICB1cGRhdGVSZWNvcmRTdG9wcGVkKHRydWUpO1xuICAgICAgICAgIGNhbkxhdW5jaFJlY29yZCA9IGZhbHNlO1xuICAgICAgICAgIHN0b3BMYXVuY2hSZWNvcmQgPSB0cnVlO1xuXG4gICAgICAgICAgdXBkYXRlUmVjb3JkU3RhcnRlZChyZWNvcmRTdGFydGVkKTtcbiAgICAgICAgICB1cGRhdGVSZWNvcmRTdG9wcGVkKHJlY29yZFN0b3BwZWQpO1xuICAgICAgICAgIHVwZGF0ZUNhbkxhdW5jaFJlY29yZChjYW5MYXVuY2hSZWNvcmQpO1xuICAgICAgICAgIHVwZGF0ZVN0b3BMYXVuY2hSZWNvcmQoc3RvcExhdW5jaFJlY29yZCk7XG4gICAgICAgICAgdXBkYXRlU2hvd1JlY29yZEJ1dHRvbnMoZmFsc2UpO1xuXG4gICAgICAgICAgdXBkYXRlUmVjb3JkU3RhdGUoJ2dyZWVuJyk7XG4gICAgICAgICAgdGhpcy5Tb3VuZFBsYXllclNlcnZpY2UucGxheVNvdW5kKHtcbiAgICAgICAgICAgIHNvdW5kVXJsOiAnaHR0cHM6Ly93d3cubWVkaWFzZnUuY29tL3NvdW5kcy9yZWNvcmQtc3RvcHBlZC5tcDMnLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHVwZGF0ZVJlY29yZFN0YXRlKCdyZWQnKTtcbiAgICAgICAgICB1cGRhdGVSZWNvcmRTdGFydGVkKHRydWUpO1xuICAgICAgICAgIHVwZGF0ZVJlY29yZFBhdXNlZChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5Tb3VuZFBsYXllclNlcnZpY2UucGxheVNvdW5kKHtcbiAgICAgICAgICAgIHNvdW5kVXJsOiAnaHR0cHM6Ly93d3cubWVkaWFzZnUuY29tL3NvdW5kcy9yZWNvcmQtcHJvZ3Jlc3MubXAzJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZygnRXJyb3IgaW4gUmVjb3JkaW5nTm90aWNlOiAnLCBlcnJvcik7XG4gICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gaGFuZGxlIHJlY29yZGluZyBzdGF0ZSBhbmQgc3RhdHVzLlwiKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBmb3JtYXRFbGFwc2VkVGltZSA9IChyZWNvcmRFbGFwc2VkVGltZTogbnVtYmVyKTogc3RyaW5nID0+IHtcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IocmVjb3JkRWxhcHNlZFRpbWUgLyAzNjAwKTtcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcigocmVjb3JkRWxhcHNlZFRpbWUgJSAzNjAwKSAvIDYwKTtcbiAgICBjb25zdCBzZWNvbmRzID0gcmVjb3JkRWxhcHNlZFRpbWUgJSA2MDtcblxuICAgIHJldHVybiBgJHt0aGlzLnBhZE51bWJlcihob3Vycyl9OiR7dGhpcy5wYWROdW1iZXIobWludXRlcyl9OiR7dGhpcy5wYWROdW1iZXIoc2Vjb25kcyl9YDtcbiAgfTtcblxuICBwcml2YXRlIHBhZE51bWJlciA9IChudW1iZXI6IG51bWJlcik6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIG51bWJlci50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RoomRecordParams {
4
+ /**
5
+ * Updates various recording parameters based on the provided `recordParams`.
6
+ *
7
+ * @param {Object} params - The parameters object.
8
+ * @param {RecordParams} params.recordParams - The recording parameters to update.
9
+ * @param {Parameters} params.parameters - The functions to update each recording parameter.
10
+ * @param {Function} params.parameters.updateRecordingAudioPausesLimit - Function to update the audio pauses limit.
11
+ * @param {Function} params.parameters.updateRecordingAudioPausesCount - Function to update the audio pauses count.
12
+ * @param {Function} params.parameters.updateRecordingAudioSupport - Function to update the audio support.
13
+ * @param {Function} params.parameters.updateRecordingAudioPeopleLimit - Function to update the audio people limit.
14
+ * @param {Function} params.parameters.updateRecordingAudioParticipantsTimeLimit - Function to update the audio participants time limit.
15
+ * @param {Function} params.parameters.updateRecordingVideoPausesCount - Function to update the video pauses count.
16
+ * @param {Function} params.parameters.updateRecordingVideoPausesLimit - Function to update the video pauses limit.
17
+ * @param {Function} params.parameters.updateRecordingVideoSupport - Function to update the video support.
18
+ * @param {Function} params.parameters.updateRecordingVideoPeopleLimit - Function to update the video people limit.
19
+ * @param {Function} params.parameters.updateRecordingVideoParticipantsTimeLimit - Function to update the video participants time limit.
20
+ * @param {Function} params.parameters.updateRecordingAllParticipantsSupport - Function to update the all participants support.
21
+ * @param {Function} params.parameters.updateRecordingVideoParticipantsSupport - Function to update the video participants support.
22
+ * @param {Function} params.parameters.updateRecordingAllParticipantsFullRoomSupport - Function to update the all participants full room support.
23
+ * @param {Function} params.parameters.updateRecordingVideoParticipantsFullRoomSupport - Function to update the video participants full room support.
24
+ * @param {Function} params.parameters.updateRecordingPreferredOrientation - Function to update the preferred orientation.
25
+ * @param {Function} params.parameters.updateRecordingSupportForOtherOrientation - Function to update the support for other orientation.
26
+ * @param {Function} params.parameters.updateRecordingMultiFormatsSupport - Function to update the multi-formats support.
27
+ * @returns {Promise<void>} A promise that resolves when all parameters have been updated.
28
+ */
29
+ roomRecordParams = ({ recordParams, parameters }) => {
30
+ let { updateRecordingAudioPausesLimit, updateRecordingAudioPausesCount, updateRecordingAudioSupport, updateRecordingAudioPeopleLimit, updateRecordingAudioParticipantsTimeLimit, updateRecordingVideoPausesCount, updateRecordingVideoPausesLimit, updateRecordingVideoSupport, updateRecordingVideoPeopleLimit, updateRecordingVideoParticipantsTimeLimit, updateRecordingAllParticipantsSupport, updateRecordingVideoParticipantsSupport, updateRecordingAllParticipantsFullRoomSupport, updateRecordingVideoParticipantsFullRoomSupport, updateRecordingPreferredOrientation, updateRecordingSupportForOtherOrientation, updateRecordingMultiFormatsSupport, } = parameters;
31
+ // Update each recording parameter based on the provided recordParams
32
+ updateRecordingAudioPausesLimit(recordParams.recordingAudioPausesLimit);
33
+ updateRecordingAudioPausesCount(recordParams.recordingAudioPausesCount);
34
+ updateRecordingAudioSupport(recordParams.recordingAudioSupport);
35
+ updateRecordingAudioPeopleLimit(recordParams.recordingAudioPeopleLimit);
36
+ updateRecordingAudioParticipantsTimeLimit(recordParams.recordingAudioParticipantsTimeLimit);
37
+ updateRecordingVideoPausesCount(recordParams.recordingVideoPausesCount);
38
+ updateRecordingVideoPausesLimit(recordParams.recordingVideoPausesLimit);
39
+ updateRecordingVideoSupport(recordParams.recordingVideoSupport);
40
+ updateRecordingVideoPeopleLimit(recordParams.recordingVideoPeopleLimit);
41
+ updateRecordingVideoParticipantsTimeLimit(recordParams.recordingVideoParticipantsTimeLimit);
42
+ updateRecordingAllParticipantsSupport(recordParams.recordingAllParticipantsSupport);
43
+ updateRecordingVideoParticipantsSupport(recordParams.recordingVideoParticipantsSupport);
44
+ updateRecordingAllParticipantsFullRoomSupport(recordParams.recordingAllParticipantsFullRoomSupport);
45
+ updateRecordingVideoParticipantsFullRoomSupport(recordParams.recordingVideoParticipantsFullRoomSupport);
46
+ updateRecordingPreferredOrientation(recordParams.recordingPreferredOrientation);
47
+ updateRecordingSupportForOtherOrientation(recordParams.recordingSupportForOtherOrientation);
48
+ updateRecordingMultiFormatsSupport(recordParams.recordingMultiFormatsSupport);
49
+ };
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RoomRecordParams, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
51
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RoomRecordParams, providedIn: 'root' });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RoomRecordParams, decorators: [{
54
+ type: Injectable,
55
+ args: [{
56
+ providedIn: 'root',
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vbS1yZWNvcmQtcGFyYW1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvcHJvZHVjZXJzL3NvY2tldC1yZWNlaXZlLW1ldGhvZHMvcm9vbS1yZWNvcmQtcGFyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF5RDNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdCRztJQUNILGdCQUFnQixHQUFHLENBQUMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUEyQixFQUFRLEVBQUU7UUFDakYsSUFBSSxFQUNGLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQix5Q0FBeUMsRUFDekMsK0JBQStCLEVBQy9CLCtCQUErQixFQUMvQiwyQkFBMkIsRUFDM0IsK0JBQStCLEVBQy9CLHlDQUF5QyxFQUN6QyxxQ0FBcUMsRUFDckMsdUNBQXVDLEVBQ3ZDLDZDQUE2QyxFQUM3QywrQ0FBK0MsRUFDL0MsbUNBQW1DLEVBQ25DLHlDQUF5QyxFQUN6QyxrQ0FBa0MsR0FDbkMsR0FBRyxVQUFVLENBQUM7UUFFZixxRUFBcUU7UUFDckUsK0JBQStCLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDeEUsK0JBQStCLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDeEUsMkJBQTJCLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDaEUsK0JBQStCLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDeEUseUNBQXlDLENBQUMsWUFBWSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDNUYsK0JBQStCLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDeEUsK0JBQStCLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDeEUsMkJBQTJCLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDaEUsK0JBQStCLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDeEUseUNBQXlDLENBQUMsWUFBWSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDNUYscUNBQXFDLENBQUMsWUFBWSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDcEYsdUNBQXVDLENBQUMsWUFBWSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDeEYsNkNBQTZDLENBQzNDLFlBQVksQ0FBQyx1Q0FBdUMsQ0FDckQsQ0FBQztRQUNGLCtDQUErQyxDQUM3QyxZQUFZLENBQUMseUNBQXlDLENBQ3ZELENBQUM7UUFDRixtQ0FBbUMsQ0FBQyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNoRix5Q0FBeUMsQ0FBQyxZQUFZLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUM1RixrQ0FBa0MsQ0FBQyxZQUFZLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNoRixDQUFDLENBQUM7dUdBckVTLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkUGFyYW1zIHtcbiAgcmVjb3JkaW5nQXVkaW9QYXVzZXNMaW1pdDogbnVtYmVyO1xuICByZWNvcmRpbmdBdWRpb1BhdXNlc0NvdW50OiBudW1iZXI7XG4gIHJlY29yZGluZ0F1ZGlvU3VwcG9ydDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nQXVkaW9QZW9wbGVMaW1pdDogbnVtYmVyO1xuICByZWNvcmRpbmdBdWRpb1BhcnRpY2lwYW50c1RpbWVMaW1pdDogbnVtYmVyO1xuICByZWNvcmRpbmdWaWRlb1BhdXNlc0NvdW50OiBudW1iZXI7XG4gIHJlY29yZGluZ1ZpZGVvUGF1c2VzTGltaXQ6IG51bWJlcjtcbiAgcmVjb3JkaW5nVmlkZW9TdXBwb3J0OiBib29sZWFuO1xuICByZWNvcmRpbmdWaWRlb1Blb3BsZUxpbWl0OiBudW1iZXI7XG4gIHJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzVGltZUxpbWl0OiBudW1iZXI7XG4gIHJlY29yZGluZ0FsbFBhcnRpY2lwYW50c1N1cHBvcnQ6IGJvb2xlYW47XG4gIHJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzU3VwcG9ydDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nQWxsUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0OiBib29sZWFuO1xuICByZWNvcmRpbmdWaWRlb1BhcnRpY2lwYW50c0Z1bGxSb29tU3VwcG9ydDogYm9vbGVhbjtcbiAgcmVjb3JkaW5nUHJlZmVycmVkT3JpZW50YXRpb246IHN0cmluZztcbiAgcmVjb3JkaW5nU3VwcG9ydEZvck90aGVyT3JpZW50YXRpb246IGJvb2xlYW47XG4gIHJlY29yZGluZ011bHRpRm9ybWF0c1N1cHBvcnQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9vbVJlY29yZFBhcmFtc1BhcmFtZXRlcnMge1xuICB1cGRhdGVSZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0OiAodmFsdWU6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nQXVkaW9QYXVzZXNDb3VudDogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0F1ZGlvU3VwcG9ydDogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBdWRpb1Blb3BsZUxpbWl0OiAodmFsdWU6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nQXVkaW9QYXJ0aWNpcGFudHNUaW1lTGltaXQ6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdWaWRlb1BhdXNlc0NvdW50OiAodmFsdWU6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nVmlkZW9QYXVzZXNMaW1pdDogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ1ZpZGVvU3VwcG9ydDogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdWaWRlb1Blb3BsZUxpbWl0OiAodmFsdWU6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNUaW1lTGltaXQ6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBbGxQYXJ0aWNpcGFudHNTdXBwb3J0OiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzU3VwcG9ydDogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBbGxQYXJ0aWNpcGFudHNGdWxsUm9vbVN1cHBvcnQ6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNGdWxsUm9vbVN1cHBvcnQ6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nUHJlZmVycmVkT3JpZW50YXRpb246ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdTdXBwb3J0Rm9yT3RoZXJPcmllbnRhdGlvbjogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdNdWx0aUZvcm1hdHNTdXBwb3J0OiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgLy8gbWVkaWFzZnUgZnVuY3Rpb25zXG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUm9vbVJlY29yZFBhcmFtc09wdGlvbnMge1xuICByZWNvcmRQYXJhbXM6IFJlY29yZFBhcmFtcztcbiAgcGFyYW1ldGVyczogUm9vbVJlY29yZFBhcmFtc1BhcmFtZXRlcnM7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFJvb21SZWNvcmRQYXJhbXNUeXBlID0gKHtcbiAgcmVjb3JkUGFyYW1zLFxuICBwYXJhbWV0ZXJzLFxufTogUm9vbVJlY29yZFBhcmFtc09wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSb29tUmVjb3JkUGFyYW1zIHtcbiAgLyoqXG4gICAqIFVwZGF0ZXMgdmFyaW91cyByZWNvcmRpbmcgcGFyYW1ldGVycyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgYHJlY29yZFBhcmFtc2AuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBvYmplY3QuXG4gICAqIEBwYXJhbSB7UmVjb3JkUGFyYW1zfSBwYXJhbXMucmVjb3JkUGFyYW1zIC0gVGhlIHJlY29yZGluZyBwYXJhbWV0ZXJzIHRvIHVwZGF0ZS5cbiAgICogQHBhcmFtIHtQYXJhbWV0ZXJzfSBwYXJhbXMucGFyYW1ldGVycyAtIFRoZSBmdW5jdGlvbnMgdG8gdXBkYXRlIGVhY2ggcmVjb3JkaW5nIHBhcmFtZXRlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcGFyYW1zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQXVkaW9QYXVzZXNMaW1pdCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW8gcGF1c2VzIGxpbWl0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwYXJhbXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdBdWRpb1BhdXNlc0NvdW50IC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBhdWRpbyBwYXVzZXMgY291bnQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHBhcmFtcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ0F1ZGlvU3VwcG9ydCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW8gc3VwcG9ydC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcGFyYW1zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nQXVkaW9QZW9wbGVMaW1pdCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW8gcGVvcGxlIGxpbWl0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwYXJhbXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdBdWRpb1BhcnRpY2lwYW50c1RpbWVMaW1pdCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW8gcGFydGljaXBhbnRzIHRpbWUgbGltaXQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHBhcmFtcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvUGF1c2VzQ291bnQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpZGVvIHBhdXNlcyBjb3VudC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcGFyYW1zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nVmlkZW9QYXVzZXNMaW1pdCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlkZW8gcGF1c2VzIGxpbWl0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwYXJhbXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdWaWRlb1N1cHBvcnQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpZGVvIHN1cHBvcnQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHBhcmFtcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvUGVvcGxlTGltaXQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpZGVvIHBlb3BsZSBsaW1pdC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcGFyYW1zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNUaW1lTGltaXQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpZGVvIHBhcnRpY2lwYW50cyB0aW1lIGxpbWl0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwYXJhbXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdBbGxQYXJ0aWNpcGFudHNTdXBwb3J0IC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBhbGwgcGFydGljaXBhbnRzIHN1cHBvcnQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHBhcmFtcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzU3VwcG9ydCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlkZW8gcGFydGljaXBhbnRzIHN1cHBvcnQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHBhcmFtcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ0FsbFBhcnRpY2lwYW50c0Z1bGxSb29tU3VwcG9ydCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYWxsIHBhcnRpY2lwYW50cyBmdWxsIHJvb20gc3VwcG9ydC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcGFyYW1zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNGdWxsUm9vbVN1cHBvcnQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpZGVvIHBhcnRpY2lwYW50cyBmdWxsIHJvb20gc3VwcG9ydC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcGFyYW1zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nUHJlZmVycmVkT3JpZW50YXRpb24gLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHByZWZlcnJlZCBvcmllbnRhdGlvbi5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcGFyYW1zLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nU3VwcG9ydEZvck90aGVyT3JpZW50YXRpb24gLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHN1cHBvcnQgZm9yIG90aGVyIG9yaWVudGF0aW9uLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwYXJhbXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdNdWx0aUZvcm1hdHNTdXBwb3J0IC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBtdWx0aS1mb3JtYXRzIHN1cHBvcnQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGFsbCBwYXJhbWV0ZXJzIGhhdmUgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgcm9vbVJlY29yZFBhcmFtcyA9ICh7IHJlY29yZFBhcmFtcywgcGFyYW1ldGVycyB9OiBSb29tUmVjb3JkUGFyYW1zT3B0aW9ucyk6IHZvaWQgPT4ge1xuICAgIGxldCB7XG4gICAgICB1cGRhdGVSZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0LFxuICAgICAgdXBkYXRlUmVjb3JkaW5nQXVkaW9QYXVzZXNDb3VudCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ0F1ZGlvU3VwcG9ydCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ0F1ZGlvUGVvcGxlTGltaXQsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdBdWRpb1BhcnRpY2lwYW50c1RpbWVMaW1pdCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ1ZpZGVvUGF1c2VzQ291bnQsXG4gICAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb1BhdXNlc0xpbWl0LFxuICAgICAgdXBkYXRlUmVjb3JkaW5nVmlkZW9TdXBwb3J0LFxuICAgICAgdXBkYXRlUmVjb3JkaW5nVmlkZW9QZW9wbGVMaW1pdCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzVGltZUxpbWl0LFxuICAgICAgdXBkYXRlUmVjb3JkaW5nQWxsUGFydGljaXBhbnRzU3VwcG9ydCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzU3VwcG9ydCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ0FsbFBhcnRpY2lwYW50c0Z1bGxSb29tU3VwcG9ydCxcbiAgICAgIHVwZGF0ZVJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0LFxuICAgICAgdXBkYXRlUmVjb3JkaW5nUHJlZmVycmVkT3JpZW50YXRpb24sXG4gICAgICB1cGRhdGVSZWNvcmRpbmdTdXBwb3J0Rm9yT3RoZXJPcmllbnRhdGlvbixcbiAgICAgIHVwZGF0ZVJlY29yZGluZ011bHRpRm9ybWF0c1N1cHBvcnQsXG4gICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICAvLyBVcGRhdGUgZWFjaCByZWNvcmRpbmcgcGFyYW1ldGVyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCByZWNvcmRQYXJhbXNcbiAgICB1cGRhdGVSZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0KHJlY29yZFBhcmFtcy5yZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0KTtcbiAgICB1cGRhdGVSZWNvcmRpbmdBdWRpb1BhdXNlc0NvdW50KHJlY29yZFBhcmFtcy5yZWNvcmRpbmdBdWRpb1BhdXNlc0NvdW50KTtcbiAgICB1cGRhdGVSZWNvcmRpbmdBdWRpb1N1cHBvcnQocmVjb3JkUGFyYW1zLnJlY29yZGluZ0F1ZGlvU3VwcG9ydCk7XG4gICAgdXBkYXRlUmVjb3JkaW5nQXVkaW9QZW9wbGVMaW1pdChyZWNvcmRQYXJhbXMucmVjb3JkaW5nQXVkaW9QZW9wbGVMaW1pdCk7XG4gICAgdXBkYXRlUmVjb3JkaW5nQXVkaW9QYXJ0aWNpcGFudHNUaW1lTGltaXQocmVjb3JkUGFyYW1zLnJlY29yZGluZ0F1ZGlvUGFydGljaXBhbnRzVGltZUxpbWl0KTtcbiAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb1BhdXNlc0NvdW50KHJlY29yZFBhcmFtcy5yZWNvcmRpbmdWaWRlb1BhdXNlc0NvdW50KTtcbiAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb1BhdXNlc0xpbWl0KHJlY29yZFBhcmFtcy5yZWNvcmRpbmdWaWRlb1BhdXNlc0xpbWl0KTtcbiAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb1N1cHBvcnQocmVjb3JkUGFyYW1zLnJlY29yZGluZ1ZpZGVvU3VwcG9ydCk7XG4gICAgdXBkYXRlUmVjb3JkaW5nVmlkZW9QZW9wbGVMaW1pdChyZWNvcmRQYXJhbXMucmVjb3JkaW5nVmlkZW9QZW9wbGVMaW1pdCk7XG4gICAgdXBkYXRlUmVjb3JkaW5nVmlkZW9QYXJ0aWNpcGFudHNUaW1lTGltaXQocmVjb3JkUGFyYW1zLnJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzVGltZUxpbWl0KTtcbiAgICB1cGRhdGVSZWNvcmRpbmdBbGxQYXJ0aWNpcGFudHNTdXBwb3J0KHJlY29yZFBhcmFtcy5yZWNvcmRpbmdBbGxQYXJ0aWNpcGFudHNTdXBwb3J0KTtcbiAgICB1cGRhdGVSZWNvcmRpbmdWaWRlb1BhcnRpY2lwYW50c1N1cHBvcnQocmVjb3JkUGFyYW1zLnJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzU3VwcG9ydCk7XG4gICAgdXBkYXRlUmVjb3JkaW5nQWxsUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0KFxuICAgICAgcmVjb3JkUGFyYW1zLnJlY29yZGluZ0FsbFBhcnRpY2lwYW50c0Z1bGxSb29tU3VwcG9ydCxcbiAgICApO1xuICAgIHVwZGF0ZVJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0KFxuICAgICAgcmVjb3JkUGFyYW1zLnJlY29yZGluZ1ZpZGVvUGFydGljaXBhbnRzRnVsbFJvb21TdXBwb3J0LFxuICAgICk7XG4gICAgdXBkYXRlUmVjb3JkaW5nUHJlZmVycmVkT3JpZW50YXRpb24ocmVjb3JkUGFyYW1zLnJlY29yZGluZ1ByZWZlcnJlZE9yaWVudGF0aW9uKTtcbiAgICB1cGRhdGVSZWNvcmRpbmdTdXBwb3J0Rm9yT3RoZXJPcmllbnRhdGlvbihyZWNvcmRQYXJhbXMucmVjb3JkaW5nU3VwcG9ydEZvck90aGVyT3JpZW50YXRpb24pO1xuICAgIHVwZGF0ZVJlY29yZGluZ011bHRpRm9ybWF0c1N1cHBvcnQocmVjb3JkUGFyYW1zLnJlY29yZGluZ011bHRpRm9ybWF0c1N1cHBvcnQpO1xuICB9O1xufVxuIl19