@cometchat/chat-uikit-angular 4.3.36 → 5.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -14
- package/fesm2022/cometchat-chat-uikit-angular.mjs +107859 -0
- package/fesm2022/cometchat-chat-uikit-angular.mjs.map +1 -0
- package/package.json +14 -21
- package/screenshots/sample_app_overview.png +0 -0
- package/src/lib/assets/Collaborative-Whiteboard-Preview-Light.png +0 -0
- package/src/lib/assets/Collaborative-document-Preview-light.png +0 -0
- package/src/lib/assets/Collaborative_Document_Dark.png +0 -0
- package/src/lib/assets/Collaborative_Document_Light.png +0 -0
- package/src/lib/assets/Collaborative_Whiteboard_Dark.png +0 -0
- package/src/lib/assets/Collaborative_Whiteboard_Light.png +0 -0
- package/src/lib/assets/Copy.svg +5 -0
- package/src/lib/assets/Info.svg +8 -0
- package/src/lib/assets/Profile.png +0 -0
- package/src/lib/assets/Send.svg +3 -0
- package/src/lib/assets/Spinner-Gradient-1.svg +12 -0
- package/src/lib/assets/account_circle.svg +8 -0
- package/src/lib/assets/activity.svg +10 -0
- package/src/lib/assets/add.svg +8 -0
- package/src/lib/assets/add_a_photo.svg +8 -0
- package/src/lib/assets/add_box.svg +8 -0
- package/src/lib/assets/add_call.svg +8 -0
- package/src/lib/assets/add_circle.svg +3 -0
- package/src/lib/assets/add_circle_fill.svg +3 -0
- package/src/lib/assets/add_comment.svg +8 -0
- package/src/lib/assets/add_reaction.svg +8 -0
- package/src/lib/assets/add_reaction_icon.svg +5 -0
- package/src/lib/assets/ai_conversation_summary.svg +3 -0
- package/src/lib/assets/ai_fill.svg +4 -0
- package/src/lib/assets/ai_suggest_reply.svg +3 -0
- package/src/lib/assets/alternate_email.svg +8 -0
- package/src/lib/assets/animals_nature.svg +10 -0
- package/src/lib/assets/archive.svg +8 -0
- package/src/lib/assets/arrow_back.svg +8 -0
- package/src/lib/assets/arrow_forward.svg +8 -0
- package/src/lib/assets/attach_file.svg +8 -0
- package/src/lib/assets/audio_call_button.svg +5 -0
- package/src/lib/assets/audio_filter_icon.svg +3 -0
- package/src/lib/assets/bar_chart.svg +3 -0
- package/src/lib/assets/bedtime.svg +8 -0
- package/src/lib/assets/block.svg +8 -0
- package/src/lib/assets/bold-format.svg +3 -0
- package/src/lib/assets/bookmark.svg +8 -0
- package/src/lib/assets/bookmark_add.svg +8 -0
- package/src/lib/assets/bullet-list-format.svg +3 -0
- package/src/lib/assets/calendar_add_on.svg +8 -0
- package/src/lib/assets/calendar_today.svg +8 -0
- package/src/lib/assets/call-log-audio.svg +3 -0
- package/src/lib/assets/call-log_video.svg +3 -0
- package/src/lib/assets/call-logs_empty_state.svg +8 -0
- package/src/lib/assets/call-logs_empty_state_dark.svg +8 -0
- package/src/lib/assets/call.svg +8 -0
- package/src/lib/assets/call_end.svg +8 -0
- package/src/lib/assets/call_end_no_fill.svg +3 -0
- package/src/lib/assets/call_log.svg +8 -0
- package/src/lib/assets/call_made.svg +8 -0
- package/src/lib/assets/call_missed.svg +8 -0
- package/src/lib/assets/call_missed_outgoing.svg +8 -0
- package/src/lib/assets/call_received.svg +8 -0
- package/src/lib/assets/cancel.svg +8 -0
- package/src/lib/assets/cancel_fill.svg +8 -0
- package/src/lib/assets/change_circle.svg +3 -0
- package/src/lib/assets/change_scope.png +0 -0
- package/src/lib/assets/chat-history.svg +3 -0
- package/src/lib/assets/chat.svg +8 -0
- package/src/lib/assets/chat_bot.svg +3 -0
- package/src/lib/assets/chats_filter_icon.svg +1 -0
- package/src/lib/assets/check.svg +8 -0
- package/src/lib/assets/check_circle.svg +3 -0
- package/src/lib/assets/checkbox_tick.svg +5 -0
- package/src/lib/assets/chevron_left.svg +8 -0
- package/src/lib/assets/chevron_right.svg +8 -0
- package/src/lib/assets/circle.svg +3 -0
- package/src/lib/assets/close.svg +8 -0
- package/src/lib/assets/code-block-format.svg +3 -0
- package/src/lib/assets/code-format.svg +3 -0
- package/src/lib/assets/collaborative_document_fill.svg +4 -0
- package/src/lib/assets/collaborative_whiteboard.svg +4 -0
- package/src/lib/assets/collaborative_whiteboard_fill.svg +4 -0
- package/src/lib/assets/collabrative_document.svg +4 -0
- package/src/lib/assets/content_copy.svg +8 -0
- package/src/lib/assets/conversation_summary.svg +4 -0
- package/src/lib/assets/conversations_audio-message.svg +8 -0
- package/src/lib/assets/conversations_card-message.svg +8 -0
- package/src/lib/assets/conversations_collaborative-document-message.svg +4 -0
- package/src/lib/assets/conversations_collaborative-whiteboard-message.svg +5 -0
- package/src/lib/assets/conversations_delete.svg +8 -0
- package/src/lib/assets/conversations_delivered.svg +3 -0
- package/src/lib/assets/conversations_dropdown.svg +3 -0
- package/src/lib/assets/conversations_empty_state.svg +20 -0
- package/src/lib/assets/conversations_empty_state_dark.svg +20 -0
- package/src/lib/assets/conversations_error.svg +16 -0
- package/src/lib/assets/conversations_file-message.svg +8 -0
- package/src/lib/assets/conversations_form-message.svg +3 -0
- package/src/lib/assets/conversations_image-message.svg +8 -0
- package/src/lib/assets/conversations_incoming-video-call.svg +8 -0
- package/src/lib/assets/conversations_incoming-voice-call.svg +3 -0
- package/src/lib/assets/conversations_link.svg +8 -0
- package/src/lib/assets/conversations_missed-video-call.svg +8 -0
- package/src/lib/assets/conversations_missed-voice-call.svg +3 -0
- package/src/lib/assets/conversations_outgoing-video-call.svg +8 -0
- package/src/lib/assets/conversations_outgoing-voice-call.svg +4 -0
- package/src/lib/assets/conversations_poll-message.svg +3 -0
- package/src/lib/assets/conversations_read.svg +3 -0
- package/src/lib/assets/conversations_schedular-message.svg +8 -0
- package/src/lib/assets/conversations_sent.svg +3 -0
- package/src/lib/assets/conversations_sticker-message.svg +4 -0
- package/src/lib/assets/conversations_thread.svg +8 -0
- package/src/lib/assets/conversations_video-message.svg +8 -0
- package/{assets/wait.svg → src/lib/assets/conversations_wait.svg} +0 -0
- package/src/lib/assets/copy-text.svg +3 -0
- package/src/lib/assets/crop.svg +8 -0
- package/src/lib/assets/delete.svg +8 -0
- package/src/lib/assets/delete_icon.svg +4 -0
- package/src/lib/assets/deliveredIcon.svg +5 -0
- package/src/lib/assets/description.svg +8 -0
- package/src/lib/assets/document_icon.svg +10 -0
- package/src/lib/assets/done_all.svg +8 -0
- package/src/lib/assets/download.svg +8 -0
- package/src/lib/assets/dropdown-arrow.svg +3 -0
- package/src/lib/assets/edit.svg +8 -0
- package/src/lib/assets/edit_calendar.svg +8 -0
- package/src/lib/assets/edit_icon.svg +5 -0
- package/src/lib/assets/edit_square.svg +3 -0
- package/src/lib/assets/error.svg +9 -0
- package/src/lib/assets/error_icon.svg +3 -0
- package/src/lib/assets/error_info.svg +3 -0
- package/src/lib/assets/event.svg +8 -0
- package/src/lib/assets/favorite.svg +8 -0
- package/src/lib/assets/file_filter_icon.svg +4 -0
- package/src/lib/assets/file_type_jpg.png +0 -0
- package/src/lib/assets/file_type_link.png +0 -0
- package/src/lib/assets/file_type_mov.png +0 -0
- package/src/lib/assets/file_type_mp3.png +0 -0
- package/src/lib/assets/file_type_pdf.png +0 -0
- package/src/lib/assets/file_type_ppt.png +0 -0
- package/src/lib/assets/file_type_txt.png +0 -0
- package/src/lib/assets/file_type_unsupported.png +0 -0
- package/src/lib/assets/file_type_word.png +0 -0
- package/src/lib/assets/file_type_xlsx.png +0 -0
- package/src/lib/assets/file_type_zip.png +0 -0
- package/src/lib/assets/filter_list.svg +8 -0
- package/src/lib/assets/filter_list_off.svg +8 -0
- package/src/lib/assets/flags.svg +5 -0
- package/src/lib/assets/flip_camera_ios.svg +8 -0
- package/src/lib/assets/food_drink.svg +10 -0
- package/src/lib/assets/forward.svg +8 -0
- package/src/lib/assets/gif.svg +3 -0
- package/src/lib/assets/graphic_eq.svg +3 -0
- package/src/lib/assets/group_filter_icon.svg +3 -0
- package/src/lib/assets/groups_empty_state.svg +8 -0
- package/src/lib/assets/groups_empty_state_dark.svg +8 -0
- package/src/lib/assets/help.svg +8 -0
- package/src/lib/assets/history.svg +8 -0
- package/src/lib/assets/image_placeholder.png +0 -0
- package/src/lib/assets/incoming_video.svg +8 -0
- package/src/lib/assets/incoming_video_no_fill.svg +4 -0
- package/src/lib/assets/info_icon.svg +3 -0
- package/src/lib/assets/info_icon_fill.svg +5 -0
- package/src/lib/assets/italic-format.svg +3 -0
- package/src/lib/assets/keep.svg +8 -0
- package/src/lib/assets/keep_off.svg +8 -0
- package/src/lib/assets/keyboard.svg +8 -0
- package/src/lib/assets/keyboard_arrow_down.svg +8 -0
- package/src/lib/assets/keyboard_arrow_up.svg +8 -0
- package/src/lib/assets/language.svg +8 -0
- package/src/lib/assets/link.svg +8 -0
- package/src/lib/assets/link_filter_icon.svg +3 -0
- package/src/lib/assets/link_icon_2x.svg +3 -0
- package/src/lib/assets/list_error_state_icon.svg +20 -0
- package/src/lib/assets/list_error_state_icon_dark.svg +27 -0
- package/src/lib/assets/loading.svg +5 -0
- package/src/lib/assets/loading_animation.svg +5 -0
- package/src/lib/assets/loading_icon.svg +3 -0
- package/src/lib/assets/location_on.svg +8 -0
- package/src/lib/assets/lock.svg +8 -0
- package/src/lib/assets/lock_open.svg +8 -0
- package/src/lib/assets/logout.svg +3 -0
- package/src/lib/assets/mail.svg +8 -0
- package/src/lib/assets/message_blocked.svg +8 -0
- package/src/lib/assets/message_delete.svg +8 -0
- package/src/lib/assets/messages_filter_icon.svg +1 -0
- package/src/lib/assets/mic.svg +3 -0
- package/src/lib/assets/mic_fill.svg +8 -0
- package/src/lib/assets/mic_off.svg +8 -0
- package/src/lib/assets/missedCallIcon.svg +10 -0
- package/src/lib/assets/missed_video_call.svg +8 -0
- package/src/lib/assets/missed_video_call_no_fill.svg +3 -0
- package/src/lib/assets/mood.svg +3 -0
- package/src/lib/assets/mood_fill.svg +8 -0
- package/src/lib/assets/more_icon.svg +5 -0
- package/src/lib/assets/more_vert.svg +8 -0
- package/src/lib/assets/near_me.svg +3 -0
- package/src/lib/assets/new-chat.svg +3 -0
- package/src/lib/assets/no-messages.svg +8 -0
- package/src/lib/assets/no_photography.svg +8 -0
- package/src/lib/assets/notifications.svg +8 -0
- package/src/lib/assets/notifications_off.svg +8 -0
- package/src/lib/assets/number-list-format.svg +3 -0
- package/src/lib/assets/objects.svg +10 -0
- package/src/lib/assets/outgoing_video.svg +8 -0
- package/src/lib/assets/outgoing_video_no_fill.svg +4 -0
- package/src/lib/assets/pause.svg +8 -0
- package/src/lib/assets/person.svg +8 -0
- package/src/lib/assets/person_add.svg +8 -0
- package/src/lib/assets/phone_in_talk.svg +8 -0
- package/src/lib/assets/phone_incoming.svg +3 -0
- package/src/lib/assets/phone_incoming_no_fill.svg +3 -0
- package/src/lib/assets/phone_missed.svg +8 -0
- package/src/lib/assets/phone_missed_no_fill.svg +3 -0
- package/src/lib/assets/phone_outgoing.svg +4 -0
- package/src/lib/assets/phone_outgoing_no_fill.svg +4 -0
- package/src/lib/assets/photo.svg +8 -0
- package/src/lib/assets/photo_camera.svg +8 -0
- package/src/lib/assets/photo_filter_icon.svg +3 -0
- package/src/lib/assets/placeholder.png +0 -0
- package/src/lib/assets/play_arrow.svg +8 -0
- package/src/lib/assets/play_circle.svg +8 -0
- package/src/lib/assets/poll.svg +5 -0
- package/src/lib/assets/quote-format.svg +3 -0
- package/src/lib/assets/readIcon.svg +5 -0
- package/src/lib/assets/rearrange.svg +3 -0
- package/src/lib/assets/recording_icon.svg +10 -0
- package/src/lib/assets/recording_resume.svg +10 -0
- package/src/lib/assets/refresh.svg +8 -0
- package/src/lib/assets/reply.svg +8 -0
- package/src/lib/assets/reply_all.svg +8 -0
- package/src/lib/assets/reply_in_thread.svg +10 -0
- package/src/lib/assets/retry.svg +3 -0
- package/src/lib/assets/right-arrow.svg +3 -0
- package/src/lib/assets/sample-audio.wav +0 -0
- package/src/lib/assets/sample-video-thumbnail.svg +7 -0
- package/src/lib/assets/sample-video.mp4 +0 -0
- package/src/lib/assets/schedule.svg +8 -0
- package/src/lib/assets/screen_share.svg +8 -0
- package/src/lib/assets/search.svg +8 -0
- package/src/lib/assets/search_message_icon.svg +8 -0
- package/src/lib/assets/send-message.svg +3 -0
- package/src/lib/assets/send_fill.svg +8 -0
- package/src/lib/assets/settings.svg +8 -0
- package/src/lib/assets/share.svg +8 -0
- package/src/lib/assets/shield.svg +3 -0
- package/src/lib/assets/smileys_people.svg +10 -0
- package/src/lib/assets/star.svg +8 -0
- package/src/lib/assets/status_delivered.svg +5 -0
- package/src/lib/assets/status_error.svg +16 -0
- package/src/lib/assets/status_read.svg +3 -0
- package/src/lib/assets/status_sending.svg +5 -0
- package/src/lib/assets/status_sent.svg +5 -0
- package/src/lib/assets/sticker.svg +3 -0
- package/src/lib/assets/sticker_fill.svg +4 -0
- package/src/lib/assets/stop-message.svg +3 -0
- package/src/lib/assets/stop.svg +8 -0
- package/src/lib/assets/stop_circle.svg +8 -0
- package/src/lib/assets/stop_screen_share.svg +8 -0
- package/src/lib/assets/strike-out-format.svg +3 -0
- package/src/lib/assets/subdirectory_arrow_left.svg +8 -0
- package/src/lib/assets/subdirectory_arrow_right.svg +8 -0
- package/src/lib/assets/sunny.svg +8 -0
- package/src/lib/assets/symbols.svg +13 -0
- package/src/lib/assets/thumb_down.svg +8 -0
- package/src/lib/assets/thumb_up.svg +8 -0
- package/src/lib/assets/toast_check_circle.svg +3 -0
- package/src/lib/assets/toast_error.svg +3 -0
- package/src/lib/assets/toast_info.svg +3 -0
- package/src/lib/assets/toast_warning.svg +3 -0
- package/src/lib/assets/toolbar-toggle.svg +3 -0
- package/src/lib/assets/tooltip-side.svg +5 -0
- package/src/lib/assets/tooltip.svg +5 -0
- package/src/lib/assets/translate.svg +3 -0
- package/src/lib/assets/travel_places.svg +10 -0
- package/src/lib/assets/ulr-format.svg +3 -0
- package/src/lib/assets/underline-format.svg +3 -0
- package/src/lib/assets/unread_filter_icon.svg +7 -0
- package/src/lib/assets/upload.svg +3 -0
- package/src/lib/assets/user_empty.svg +8 -0
- package/src/lib/assets/user_empty_dark.svg +8 -0
- package/src/lib/assets/video_call.svg +8 -0
- package/src/lib/assets/video_call_button.svg +5 -0
- package/src/lib/assets/video_filter_icon.svg +3 -0
- package/src/lib/assets/videocam.svg +8 -0
- package/src/lib/assets/videocam_off.svg +8 -0
- package/src/lib/assets/visibility_off.svg +3 -0
- package/src/lib/assets/volume_down.svg +8 -0
- package/src/lib/assets/volume_mute.svg +8 -0
- package/src/lib/assets/volume_off.svg +8 -0
- package/src/lib/assets/volume_up.svg +8 -0
- package/src/lib/assets/warning.svg +8 -0
- package/src/lib/assets/warning_neutral.svg +3 -0
- package/src/lib/assets/wifi.svg +8 -0
- package/src/lib/assets/zoom_in_map.svg +8 -0
- package/src/lib/assets/zoom_out_map.svg +8 -0
- package/styles/accessibility.css +148 -0
- package/styles/css-variables.css +547 -0
- package/styles/fonts/Roboto/LICENSE.txt +202 -0
- package/styles/fonts/Roboto/Roboto-Black.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-Bold.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-Italic.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-Light.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-Medium.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-Regular.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-Thin.ttf +0 -0
- package/styles/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
- package/styles/mention-styles.css +190 -0
- package/styles/rich-text-styles.css +310 -0
- package/types/cometchat-chat-uikit-angular.d.ts +34636 -0
- package/AI/AIAssistBot/AIAssistBot.d.ts +0 -7
- package/AI/AIAssistBot/AIAssistBotDecorator.d.ts +0 -11
- package/AI/AIConversationStarter/AIConversationStarter.d.ts +0 -7
- package/AI/AIConversationStarter/AIConversationStarterDecorator.d.ts +0 -9
- package/AI/AIConversationSummary/AIConversationSummary.d.ts +0 -7
- package/AI/AIConversationSummary/AIConversationSummaryDecorator.d.ts +0 -10
- package/AI/AISmartReplies/AISmartReplies.d.ts +0 -7
- package/AI/AISmartReplies/AISmartRepliesDecorator.d.ts +0 -9
- package/Calls/CallingExtension.d.ts +0 -6
- package/Calls/CallingExtensionDecorator.d.ts +0 -16
- package/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.d.ts +0 -79
- package/Calls/CometChatCallButtons/cometchat-call-buttons.module.d.ts +0 -11
- package/Calls/CometChatCallLogDetails/cometchat-call-log-details/cometchat-call-log-details.component.d.ts +0 -136
- package/Calls/CometChatCallLogDetails/cometchat-call-log-details.module.d.ts +0 -14
- package/Calls/CometChatCallLogHistory/cometchat-call-log-history/cometchat-call-log-history.component.d.ts +0 -112
- package/Calls/CometChatCallLogHistory/cometchat-call-log-history.module.d.ts +0 -10
- package/Calls/CometChatCallLogParticipants/cometchat-call-log-participants/cometchat-call-log-participants.component.d.ts +0 -77
- package/Calls/CometChatCallLogParticipants/cometchat-call-log-participants.module.d.ts +0 -10
- package/Calls/CometChatCallLogRecordings/cometchat-call-log-recordings/cometchat-call-log-recordings.component.d.ts +0 -91
- package/Calls/CometChatCallLogRecordings/cometchat-call-log-recordings.module.d.ts +0 -10
- package/Calls/CometChatCallLogs/cometchat-call-logs/cometchat-call-logs.component.d.ts +0 -134
- package/Calls/CometChatCallLogs/cometchat-call-logs.module.d.ts +0 -12
- package/Calls/CometChatCallLogsWithDetails/cometchat-call-logs-with-details/cometchat-call-logs-with-details.component.d.ts +0 -54
- package/Calls/CometChatCallLogsWithDetails/cometchat-call-logs-with-details.module.d.ts +0 -12
- package/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.d.ts +0 -81
- package/Calls/CometChatIncomingCall/cometchat-incoming-call.module.d.ts +0 -11
- package/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.d.ts +0 -38
- package/Calls/CometChatOngoingCall/cometchat-ongoing-call.module.d.ts +0 -9
- package/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.d.ts +0 -57
- package/Calls/CometChatOutgoingCall/cometchat-outgoing-call.module.d.ts +0 -10
- package/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.d.ts +0 -117
- package/CometChatAddMembers/cometchat-add-members.module.d.ts +0 -12
- package/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.d.ts +0 -152
- package/CometChatBannedMembers/cometchat-banned-members.module.d.ts +0 -13
- package/CometChatContacts/cometchat-contacts/cometchat-contacts.component.d.ts +0 -66
- package/CometChatContacts/cometchat-contacts.module.d.ts +0 -12
- package/CometChatConversations/cometchat-conversations/cometchat-conversations.component.d.ts +0 -387
- package/CometChatConversations/cometchat-conversations.module.d.ts +0 -10
- package/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.d.ts +0 -98
- package/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.d.ts +0 -11
- package/CometChatDetails/cometchat-details/cometchat-details.component.d.ts +0 -164
- package/CometChatDetails/cometchat-details.module.d.ts +0 -12
- package/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.d.ts +0 -162
- package/CometChatGroupMembers/cometchat-group-members.module.d.ts +0 -13
- package/CometChatGroups/cometchat-groups/cometchat-groups.component.d.ts +0 -150
- package/CometChatGroups/cometchat-groups.module.d.ts +0 -10
- package/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.d.ts +0 -103
- package/CometChatGroupsWithMessages/cometchat-groups-with-messages.module.d.ts +0 -11
- package/CometChatList/cometchat-list.component.d.ts +0 -91
- package/CometChatList/cometchat-list.module.d.ts +0 -10
- package/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.d.ts +0 -63
- package/CometChatMessageBubble/cometchat-message-bubble.module.d.ts +0 -8
- package/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.d.ts +0 -326
- package/CometChatMessageComposer/cometchat-message-composer.module.d.ts +0 -11
- package/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.d.ts +0 -99
- package/CometChatMessageHeader/cometchat-message-header.module.d.ts +0 -9
- package/CometChatMessageInformation/cometchat-message-information/cometchat-message-information.component.d.ts +0 -99
- package/CometChatMessageInformation/cometchat-message-information.module.d.ts +0 -10
- package/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.d.ts +0 -819
- package/CometChatMessageList/cometchat-message-list.module.d.ts +0 -13
- package/CometChatMessages/cometchat-messages/cometchat-messages.component.d.ts +0 -149
- package/CometChatMessages/cometchat-messages.module.d.ts +0 -16
- package/CometChatTheme.service.d.ts +0 -7
- package/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.d.ts +0 -85
- package/CometChatThreadedMessages/cometchat-threaded-messages.module.d.ts +0 -12
- package/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.d.ts +0 -88
- package/CometChatTransferOwnership/cometchat-transfer-ownership.module.d.ts +0 -10
- package/CometChatUserMemberWrapper/cometchat-user-member-wrapper.component.d.ts +0 -41
- package/CometChatUserMemberWrapper/cometchat-user-member-wrapper.module.d.ts +0 -11
- package/CometChatUsers/cometchat-users/cometchat-users.component.d.ts +0 -194
- package/CometChatUsers/cometchat-users.module.d.ts +0 -11
- package/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.d.ts +0 -72
- package/CometChatUsersWithMessages/cometchat-users-with-messages.module.d.ts +0 -10
- package/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.d.ts +0 -5
- package/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.d.ts +0 -14
- package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.d.ts +0 -5
- package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.d.ts +0 -14
- package/Extensions/ImageModeration/ImageModerationExtension.d.ts +0 -5
- package/Extensions/ImageModeration/ImageModerationExtensionDecorator.d.ts +0 -6
- package/Extensions/LinkPreviewExtension/LinkPreviewExtension.d.ts +0 -5
- package/Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator.d.ts +0 -6
- package/Extensions/MessageTranslation/MessageTranslationExtension.d.ts +0 -5
- package/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.d.ts +0 -9
- package/Extensions/PollsExtension/PollsExtension.d.ts +0 -5
- package/Extensions/PollsExtension/PollsExtensionDecorator.d.ts +0 -14
- package/Extensions/SmartReplies/SmartRepliesExtension.d.ts +0 -5
- package/Extensions/SmartReplies/SmartRepliesExtensionDecorator.d.ts +0 -16
- package/Extensions/Stickers/StickersExtension.d.ts +0 -5
- package/Extensions/Stickers/StickersExtensionDecorator.d.ts +0 -28
- package/Extensions/TextModerator/TextModeratorExtension.d.ts +0 -6
- package/Extensions/TextModerator/TextModeratorExtensionDecorator.d.ts +0 -8
- package/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.d.ts +0 -5
- package/Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator.d.ts +0 -6
- package/Screenshots/overview_cometchat_screens.png +0 -0
- package/Shared/CometChatUIkit/CometChatUIKit.d.ts +0 -49
- package/Shared/Framework/AIExtensionDataSource.d.ts +0 -5
- package/Shared/Framework/ChatConfigurator.d.ts +0 -8
- package/Shared/Framework/DataSource.d.ts +0 -40
- package/Shared/Framework/DataSourceDecorator.d.ts +0 -43
- package/Shared/Framework/ExtensionDataSource.d.ts +0 -3
- package/Shared/Utils/CallDetailUtils.d.ts +0 -8
- package/Shared/Utils/CallLogUtils.d.ts +0 -8
- package/Shared/Utils/ComeChatException.d.ts +0 -1
- package/Shared/Utils/MessageUtils.d.ts +0 -151
- package/Shared/Utils/UtilityFunctions.d.ts +0 -6
- package/Shared/Views/AIAssistBotMessageList/aiassist-bot-message-list/aiassist-bot-message-list.component.d.ts +0 -71
- package/Shared/Views/AIAssistBotMessageList/aiassist-bot-message-list.module.d.ts +0 -11
- package/Shared/Views/CometChatTabs/cometchat-tabs/cometchat-tabs.component.d.ts +0 -82
- package/Shared/Views/CometChatTabs/cometchat-tabs.module.d.ts +0 -8
- package/assets/.gitkeep +0 -0
- package/assets/Audio-Call.svg +0 -11
- package/assets/Audio-Call2x.svg +0 -11
- package/assets/Copy.svg +0 -17
- package/assets/Grid-layout.svg +0 -1
- package/assets/Heart.svg +0 -11
- package/assets/Imagemoderation.svg +0 -14
- package/assets/Info.svg +0 -13
- package/assets/InfoIcon.svg +0 -13
- package/assets/InfoSimpleIcon.svg +0 -4
- package/assets/Locked.svg +0 -10
- package/assets/More@2x.svg +0 -9
- package/assets/Plus.svg +0 -13
- package/assets/Private.svg +0 -10
- package/assets/Reactionsicon.svg +0 -9
- package/assets/Reply@2x.svg +0 -9
- package/assets/Send.svg +0 -12
- package/assets/Spinner.svg +0 -15
- package/assets/Stickers.svg +0 -16
- package/assets/Stipop.svg +0 -9
- package/assets/Video-call.svg +0 -12
- package/assets/Video-call2x.svg +0 -12
- package/assets/activity.svg +0 -22
- package/assets/addreaction.svg +0 -9
- package/assets/ai-bot.svg +0 -24
- package/assets/ai-empty.svg +0 -22
- package/assets/ai-error.svg +0 -21
- package/assets/animals.svg +0 -15
- package/assets/attachment-file.svg +0 -14
- package/assets/audio-file.svg +0 -12
- package/assets/back.png +0 -0
- package/assets/backbutton.svg +0 -12
- package/assets/call.svg +0 -1
- package/assets/chats.svg +0 -1
- package/assets/checkmark.svg +0 -11
- package/assets/close.svg +0 -12
- package/assets/close2x.svg +0 -12
- package/assets/collaborativedocument.svg +0 -13
- package/assets/collaborativewhiteboard.svg +0 -12
- package/assets/create-button.svg +0 -12
- package/assets/declaration.d.ts +0 -3
- package/assets/delete.svg +0 -7
- package/assets/deleteicon.svg +0 -15
- package/assets/down-arrow.svg +0 -1
- package/assets/download.svg +0 -13
- package/assets/editicon.svg +0 -14
- package/assets/emoji.svg +0 -2693
- package/assets/empty-slot.svg +0 -14
- package/assets/file-upload.svg +0 -2693
- package/assets/flags.svg +0 -12
- package/assets/food.svg +0 -26
- package/assets/greaterThanIcon.svg +0 -3
- package/assets/group.svg +0 -40
- package/assets/heart-reaction.png +0 -0
- package/assets/heart.png +0 -0
- package/assets/image.svg +0 -2693
- package/assets/incomingAudioCallIconUrl.svg +0 -5
- package/assets/incomingVideoCallIconUrl.svg +0 -6
- package/assets/incomingcall.wav +0 -0
- package/assets/increase-size.svg +0 -6
- package/assets/location.svg +0 -2693
- package/assets/message-delivered.png +0 -0
- package/assets/message-delivered.svg +0 -5
- package/assets/message-read.png +0 -0
- package/assets/message-read.svg +0 -5
- package/assets/message-sent.png +0 -0
- package/assets/message-sent.svg +0 -3
- package/assets/mic.svg +0 -11
- package/assets/missedAudioCallIconUrl.svg +0 -5
- package/assets/missedVideoCallIconUrl.svg +0 -6
- package/assets/moreicon.svg +0 -9
- package/assets/new-chat.svg +0 -13
- package/assets/new-message-icon.svg +0 -1
- package/assets/objects.svg +0 -13
- package/assets/open-thread.svg +0 -11
- package/assets/outgoingAudioCallIconUrl.svg +0 -5
- package/assets/outgoingVideoCallIconUrl.svg +0 -6
- package/assets/password-protected-group.svg +0 -3
- package/assets/pause-icon.svg +0 -14
- package/assets/photolibrary.svg +0 -11
- package/assets/placeholder.png +0 -0
- package/assets/play-icon.svg +0 -18
- package/assets/plus-rotated.svg +0 -13
- package/assets/polls.svg +0 -14
- package/assets/privacy.svg +0 -4
- package/assets/private-group.svg +0 -9
- package/assets/public.svg +0 -3
- package/assets/record-icon.svg +0 -8
- package/assets/reduce-size.svg +0 -6
- package/assets/right-arrow.svg +0 -6
- package/assets/search.png +0 -0
- package/assets/search.svg +0 -4
- package/assets/side-arrow.svg +0 -1
- package/assets/smileys.svg +0 -16
- package/assets/start-chat.svg +0 -1
- package/assets/start-conversation.svg +0 -46
- package/assets/stop.svg +0 -1
- package/assets/symbols.svg +0 -16
- package/assets/thread-arrow.svg +0 -1
- package/assets/thread-icon.svg +0 -38
- package/assets/threadIndicatorIcon.svg +0 -11
- package/assets/threadicon.svg +0 -14
- package/assets/translation.svg +0 -16
- package/assets/travel.svg +0 -18
- package/assets/unsafe-content.svg +0 -23
- package/assets/user.svg +0 -31
- package/assets/video-upload.svg +0 -2693
- package/assets/video.svg +0 -12
- package/assets/wait.png +0 -0
- package/assets/warning-small.png +0 -0
- package/assets/warning-small.svg +0 -5
- package/cometchat-chat-uikit-angular.d.ts +0 -5
- package/esm2020/AI/AIAssistBot/AIAssistBot.mjs +0 -21
- package/esm2020/AI/AIAssistBot/AIAssistBotDecorator.mjs +0 -68
- package/esm2020/AI/AIConversationStarter/AIConversationStarter.mjs +0 -21
- package/esm2020/AI/AIConversationStarter/AIConversationStarterDecorator.mjs +0 -31
- package/esm2020/AI/AIConversationSummary/AIConversationSummary.mjs +0 -21
- package/esm2020/AI/AIConversationSummary/AIConversationSummaryDecorator.mjs +0 -32
- package/esm2020/AI/AISmartReplies/AISmartReplies.mjs +0 -21
- package/esm2020/AI/AISmartReplies/AISmartRepliesDecorator.mjs +0 -31
- package/esm2020/Calls/CallingExtension.mjs +0 -14
- package/esm2020/Calls/CallingExtensionDecorator.mjs +0 -127
- package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.mjs +0 -409
- package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons.module.mjs +0 -32
- package/esm2020/Calls/CometChatCallLogDetails/cometchat-call-log-details/cometchat-call-log-details.component.mjs +0 -373
- package/esm2020/Calls/CometChatCallLogDetails/cometchat-call-log-details.module.mjs +0 -47
- package/esm2020/Calls/CometChatCallLogHistory/cometchat-call-log-history/cometchat-call-log-history.component.mjs +0 -352
- package/esm2020/Calls/CometChatCallLogHistory/cometchat-call-log-history.module.mjs +0 -21
- package/esm2020/Calls/CometChatCallLogParticipants/cometchat-call-log-participants/cometchat-call-log-participants.component.mjs +0 -189
- package/esm2020/Calls/CometChatCallLogParticipants/cometchat-call-log-participants.module.mjs +0 -21
- package/esm2020/Calls/CometChatCallLogRecordings/cometchat-call-log-recordings/cometchat-call-log-recordings.component.mjs +0 -246
- package/esm2020/Calls/CometChatCallLogRecordings/cometchat-call-log-recordings.module.mjs +0 -21
- package/esm2020/Calls/CometChatCallLogs/cometchat-call-logs/cometchat-call-logs.component.mjs +0 -592
- package/esm2020/Calls/CometChatCallLogs/cometchat-call-logs.module.mjs +0 -36
- package/esm2020/Calls/CometChatCallLogsWithDetails/cometchat-call-logs-with-details/cometchat-call-logs-with-details.component.mjs +0 -198
- package/esm2020/Calls/CometChatCallLogsWithDetails/cometchat-call-logs-with-details.module.mjs +0 -39
- package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.mjs +0 -464
- package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call.module.mjs +0 -32
- package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.mjs +0 -176
- package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call.module.mjs +0 -27
- package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.mjs +0 -188
- package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call.module.mjs +0 -28
- package/esm2020/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.mjs +0 -374
- package/esm2020/CometChatAddMembers/cometchat-add-members.module.mjs +0 -23
- package/esm2020/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.mjs +0 -530
- package/esm2020/CometChatBannedMembers/cometchat-banned-members.module.mjs +0 -24
- package/esm2020/CometChatContacts/cometchat-contacts/cometchat-contacts.component.mjs +0 -274
- package/esm2020/CometChatContacts/cometchat-contacts.module.mjs +0 -23
- package/esm2020/CometChatConversations/cometchat-conversations/cometchat-conversations.component.mjs +0 -1837
- package/esm2020/CometChatConversations/cometchat-conversations.module.mjs +0 -28
- package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.mjs +0 -413
- package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.mjs +0 -35
- package/esm2020/CometChatDetails/cometchat-details/cometchat-details.component.mjs +0 -789
- package/esm2020/CometChatDetails/cometchat-details.module.mjs +0 -27
- package/esm2020/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.mjs +0 -807
- package/esm2020/CometChatGroupMembers/cometchat-group-members.module.mjs +0 -24
- package/esm2020/CometChatGroups/cometchat-groups/cometchat-groups.component.mjs +0 -681
- package/esm2020/CometChatGroups/cometchat-groups.module.mjs +0 -28
- package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.mjs +0 -499
- package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages.module.mjs +0 -35
- package/esm2020/CometChatList/cometchat-list.component.mjs +0 -225
- package/esm2020/CometChatList/cometchat-list.module.mjs +0 -28
- package/esm2020/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.mjs +0 -166
- package/esm2020/CometChatMessageBubble/cometchat-message-bubble.module.mjs +0 -23
- package/esm2020/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.mjs +0 -1976
- package/esm2020/CometChatMessageComposer/cometchat-message-composer.module.mjs +0 -22
- package/esm2020/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.mjs +0 -467
- package/esm2020/CometChatMessageHeader/cometchat-message-header.module.mjs +0 -26
- package/esm2020/CometChatMessageInformation/cometchat-message-information/cometchat-message-information.component.mjs +0 -308
- package/esm2020/CometChatMessageInformation/cometchat-message-information.module.mjs +0 -28
- package/esm2020/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.mjs +0 -4360
- package/esm2020/CometChatMessageList/cometchat-message-list.module.mjs +0 -42
- package/esm2020/CometChatMessages/cometchat-messages/cometchat-messages.component.mjs +0 -449
- package/esm2020/CometChatMessages/cometchat-messages.module.mjs +0 -52
- package/esm2020/CometChatTheme.service.mjs +0 -17
- package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.mjs +0 -372
- package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages.module.mjs +0 -36
- package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.mjs +0 -336
- package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership.module.mjs +0 -21
- package/esm2020/CometChatUserMemberWrapper/cometchat-user-member-wrapper.component.mjs +0 -75
- package/esm2020/CometChatUserMemberWrapper/cometchat-user-member-wrapper.module.mjs +0 -21
- package/esm2020/CometChatUsers/cometchat-users/cometchat-users.component.mjs +0 -788
- package/esm2020/CometChatUsers/cometchat-users.module.mjs +0 -32
- package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.mjs +0 -205
- package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages.module.mjs +0 -31
- package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.mjs +0 -12
- package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.mjs +0 -93
- package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.mjs +0 -12
- package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.mjs +0 -94
- package/esm2020/Extensions/ImageModeration/ImageModerationExtension.mjs +0 -12
- package/esm2020/Extensions/ImageModeration/ImageModerationExtensionDecorator.mjs +0 -10
- package/esm2020/Extensions/LinkPreviewExtension/LinkPreviewExtension.mjs +0 -12
- package/esm2020/Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator.mjs +0 -10
- package/esm2020/Extensions/MessageTranslation/MessageTranslationExtension.mjs +0 -12
- package/esm2020/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.mjs +0 -31
- package/esm2020/Extensions/PollsExtension/PollsExtension.mjs +0 -12
- package/esm2020/Extensions/PollsExtension/PollsExtensionDecorator.mjs +0 -77
- package/esm2020/Extensions/SmartReplies/SmartRepliesExtension.mjs +0 -12
- package/esm2020/Extensions/SmartReplies/SmartRepliesExtensionDecorator.mjs +0 -115
- package/esm2020/Extensions/Stickers/StickersExtension.mjs +0 -12
- package/esm2020/Extensions/Stickers/StickersExtensionDecorator.mjs +0 -125
- package/esm2020/Extensions/TextModerator/TextModeratorExtension.mjs +0 -22
- package/esm2020/Extensions/TextModerator/TextModeratorExtensionDecorator.mjs +0 -87
- package/esm2020/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.mjs +0 -12
- package/esm2020/Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator.mjs +0 -10
- package/esm2020/Shared/CometChatUIkit/CometChatUIKit.mjs +0 -495
- package/esm2020/Shared/Framework/AIExtensionDataSource.mjs +0 -3
- package/esm2020/Shared/Framework/ChatConfigurator.mjs +0 -23
- package/esm2020/Shared/Framework/DataSource.mjs +0 -3
- package/esm2020/Shared/Framework/DataSourceDecorator.mjs +0 -113
- package/esm2020/Shared/Framework/ExtensionDataSource.mjs +0 -4
- package/esm2020/Shared/Utils/CallDetailUtils.mjs +0 -72
- package/esm2020/Shared/Utils/CallLogUtils.mjs +0 -122
- package/esm2020/Shared/Utils/ComeChatException.mjs +0 -10
- package/esm2020/Shared/Utils/MessageUtils.mjs +0 -682
- package/esm2020/Shared/Utils/UtilityFunctions.mjs +0 -36
- package/esm2020/Shared/Views/AIAssistBotMessageList/aiassist-bot-message-list/aiassist-bot-message-list.component.mjs +0 -290
- package/esm2020/Shared/Views/AIAssistBotMessageList/aiassist-bot-message-list.module.mjs +0 -22
- package/esm2020/Shared/Views/CometChatTabs/cometchat-tabs/cometchat-tabs.component.mjs +0 -124
- package/esm2020/Shared/Views/CometChatTabs/cometchat-tabs.module.mjs +0 -23
- package/esm2020/cometchat-chat-uikit-angular.mjs +0 -5
- package/esm2020/public-api.mjs +0 -115
- package/examples/sample-app/README.md +0 -50
- package/fesm2015/cometchat-chat-uikit-angular.mjs +0 -22649
- package/fesm2015/cometchat-chat-uikit-angular.mjs.map +0 -1
- package/fesm2020/cometchat-chat-uikit-angular.mjs +0 -22538
- package/fesm2020/cometchat-chat-uikit-angular.mjs.map +0 -1
- package/public-api.d.ts +0 -106
- /package/{assets/message-privately.svg → src/lib/assets/send_message_privately.svg} +0 -0
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from "@angular/core";
|
|
2
|
-
import { CommonModule } from "@angular/common";
|
|
3
|
-
import { CometChatConversationsComponent } from "./cometchat-conversations/cometchat-conversations.component";
|
|
4
|
-
import { CometChatList } from "../CometChatList/cometchat-list.module";
|
|
5
|
-
import '@cometchat/uikit-elements';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class CometChatConversations {
|
|
8
|
-
}
|
|
9
|
-
CometChatConversations.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatConversations, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
-
CometChatConversations.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatConversations, declarations: [CometChatConversationsComponent], imports: [CommonModule,
|
|
11
|
-
CometChatList], exports: [CometChatConversationsComponent] });
|
|
12
|
-
CometChatConversations.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatConversations, imports: [[
|
|
13
|
-
CommonModule,
|
|
14
|
-
CometChatList
|
|
15
|
-
]] });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatConversations, decorators: [{
|
|
17
|
-
type: NgModule,
|
|
18
|
-
args: [{
|
|
19
|
-
declarations: [CometChatConversationsComponent],
|
|
20
|
-
imports: [
|
|
21
|
-
CommonModule,
|
|
22
|
-
CometChatList
|
|
23
|
-
],
|
|
24
|
-
exports: [CometChatConversationsComponent],
|
|
25
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
26
|
-
}]
|
|
27
|
-
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXRjaGF0LWNvbnZlcnNhdGlvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9Db21ldENoYXRDb252ZXJzYXRpb25zL2NvbWV0Y2hhdC1jb252ZXJzYXRpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdkUsT0FBTywyQkFBMkIsQ0FBQTs7QUFVbEMsTUFBTSxPQUFPLHNCQUFzQjs7b0hBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCLGlCQVJsQiwrQkFBK0IsYUFFNUMsWUFBWTtRQUNaLGFBQWEsYUFFTCwrQkFBK0I7cUhBRzlCLHNCQUFzQixZQVB4QjtZQUNQLFlBQVk7WUFDWixhQUFhO1NBQ2Q7NEZBSVUsc0JBQXNCO2tCQVRsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUMvQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUMxQyxPQUFPLEVBQUMsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDb21ldENoYXRDb252ZXJzYXRpb25zQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tZXRjaGF0LWNvbnZlcnNhdGlvbnMvY29tZXRjaGF0LWNvbnZlcnNhdGlvbnMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb21ldENoYXRMaXN0IH0gZnJvbSBcIi4uL0NvbWV0Q2hhdExpc3QvY29tZXRjaGF0LWxpc3QubW9kdWxlXCI7XG5pbXBvcnQgJ0Bjb21ldGNoYXQvdWlraXQtZWxlbWVudHMnXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDb21ldENoYXRDb252ZXJzYXRpb25zQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDb21ldENoYXRMaXN0XG4gIF0sXG4gIGV4cG9ydHM6IFtDb21ldENoYXRDb252ZXJzYXRpb25zQ29tcG9uZW50XSxcbiAgc2NoZW1hczpbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgQ29tZXRDaGF0Q29udmVyc2F0aW9ucyB7fVxuIl19
|
|
@@ -1,413 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy } from "@angular/core";
|
|
2
|
-
import { CometChat } from "@cometchat/chat-sdk-javascript";
|
|
3
|
-
import { WithMessagesStyle, MessagesConfiguration, ConversationsConfiguration, ContactsConfiguration } from '@cometchat/uikit-shared';
|
|
4
|
-
import { CometChatTheme, fontHelper, localize, CometChatGroupEvents, CometChatUIKitConstants, CometChatConversationEvents, CometChatUIEvents } from '@cometchat/uikit-resources';
|
|
5
|
-
import '@cometchat/uikit-elements';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../CometChatTheme.service";
|
|
8
|
-
import * as i2 from "../../CometChatConversations/cometchat-conversations/cometchat-conversations.component";
|
|
9
|
-
import * as i3 from "../../CometChatMessages/cometchat-messages/cometchat-messages.component";
|
|
10
|
-
import * as i4 from "../../CometChatContacts/cometchat-contacts/cometchat-contacts.component";
|
|
11
|
-
import * as i5 from "@angular/common";
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
* CometChatConversationsWithMessagesComponent is a wrapper component for CometChatMessagesComponent and CometChatConversations component to show chats and messages in one screen
|
|
15
|
-
*
|
|
16
|
-
* @version 1.0.0
|
|
17
|
-
* @author CometChatTeam
|
|
18
|
-
* @copyright © 2022 CometChat Inc.
|
|
19
|
-
*
|
|
20
|
-
*/
|
|
21
|
-
export class CometChatConversationsWithMessagesComponent {
|
|
22
|
-
constructor(elementRef, ref, themeService) {
|
|
23
|
-
this.elementRef = elementRef;
|
|
24
|
-
this.ref = ref;
|
|
25
|
-
this.themeService = themeService;
|
|
26
|
-
this.isMobileView = false;
|
|
27
|
-
this.messageText = localize("NO_CHATS_SELECTED");
|
|
28
|
-
this.conversationsWithMessagesStyle = {};
|
|
29
|
-
this.messagesConfiguration = new MessagesConfiguration({});
|
|
30
|
-
this.conversationConfiguration = new ConversationsConfiguration({});
|
|
31
|
-
this.onError = (error) => {
|
|
32
|
-
console.log(error);
|
|
33
|
-
};
|
|
34
|
-
this.startNewConversationIconURL = "assets/new-chat.svg";
|
|
35
|
-
this.hideStartNewConversation = false;
|
|
36
|
-
this.StartConversationConfiguration = new ContactsConfiguration({});
|
|
37
|
-
this.theme = new CometChatTheme({});
|
|
38
|
-
/**
|
|
39
|
-
* Properties for internal use
|
|
40
|
-
*/
|
|
41
|
-
this.showStartConversation = false;
|
|
42
|
-
this.labelStyle = {
|
|
43
|
-
background: "transparent",
|
|
44
|
-
textFont: "700 22px Inter",
|
|
45
|
-
textColor: "rgba(20, 20, 20, 0.33)"
|
|
46
|
-
};
|
|
47
|
-
this.hideSearch = true;
|
|
48
|
-
this.startConversationButtonStyle = {};
|
|
49
|
-
this.sideBarStyle = {};
|
|
50
|
-
this.groupListenerId = "withmessages_group_" + new Date().getTime();
|
|
51
|
-
this.onBack = () => {
|
|
52
|
-
this.user = null;
|
|
53
|
-
this.group = null;
|
|
54
|
-
this.activeConversation = null;
|
|
55
|
-
};
|
|
56
|
-
this.onContactClicked = (user, group) => {
|
|
57
|
-
this.showStartConversation = false;
|
|
58
|
-
if (user) {
|
|
59
|
-
this.group = null;
|
|
60
|
-
this.user = user;
|
|
61
|
-
this.ref.detectChanges();
|
|
62
|
-
}
|
|
63
|
-
if (group) {
|
|
64
|
-
this.user = null;
|
|
65
|
-
this.group = group;
|
|
66
|
-
this.ref.detectChanges();
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
this.onItemClick = (conversation) => {
|
|
70
|
-
this.activeConversation = conversation;
|
|
71
|
-
this.showStartConversation = false;
|
|
72
|
-
if (conversation.getConversationType() && conversation.getConversationType() == CometChatUIKitConstants.MessageReceiverType.user) {
|
|
73
|
-
this.group = null;
|
|
74
|
-
this.user = conversation.getConversationWith();
|
|
75
|
-
this.ref.detectChanges();
|
|
76
|
-
}
|
|
77
|
-
else if (conversation.getConversationType() && conversation.getConversationType() == CometChatUIKitConstants.MessageReceiverType.group) {
|
|
78
|
-
this.user = null;
|
|
79
|
-
this.group = conversation.getConversationWith();
|
|
80
|
-
this.ref.detectChanges();
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
this.closeStartConversation = () => {
|
|
84
|
-
if (this.StartConversationConfiguration.onClose) {
|
|
85
|
-
this.StartConversationConfiguration.onClose();
|
|
86
|
-
}
|
|
87
|
-
this.showStartConversation = false;
|
|
88
|
-
};
|
|
89
|
-
this.emptyMessageStyle = () => {
|
|
90
|
-
return {
|
|
91
|
-
background: this.conversationsWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),
|
|
92
|
-
height: this.conversationsWithMessagesStyle.height,
|
|
93
|
-
width: `calc(${this.conversationsWithMessagesStyle.width} - 280px)`,
|
|
94
|
-
border: "none",
|
|
95
|
-
borderRadius: this.conversationsWithMessagesStyle.borderRadius,
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
this.chatsWrapperStyles = () => {
|
|
99
|
-
return {
|
|
100
|
-
height: this.conversationsWithMessagesStyle.height,
|
|
101
|
-
width: this.conversationsWithMessagesStyle.width,
|
|
102
|
-
border: this.conversationsWithMessagesStyle.border,
|
|
103
|
-
borderRadius: this.conversationsWithMessagesStyle.borderRadius,
|
|
104
|
-
background: this.conversationsWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),
|
|
105
|
-
position: 'relative'
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
this.contactsWrapperStyles = () => {
|
|
109
|
-
return {
|
|
110
|
-
background: this.StartConversationConfiguration.contactsStyle.background || this.themeService.theme.palette.getBackground(),
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
ngOnChanges(changes) {
|
|
115
|
-
if (changes["isMobileView"]) {
|
|
116
|
-
if (this.isMobileView) {
|
|
117
|
-
this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = false;
|
|
118
|
-
if (!this.messagesConfiguration.detailsConfiguration.detailsStyle.padding) {
|
|
119
|
-
this.messagesConfiguration.detailsConfiguration.detailsStyle.padding = "0 8px";
|
|
120
|
-
}
|
|
121
|
-
if (!this.messagesConfiguration.detailsConfiguration.addMembersConfiguration.addMembersStyle.padding) {
|
|
122
|
-
this.messagesConfiguration.detailsConfiguration.addMembersConfiguration.addMembersStyle.padding = "0 8px";
|
|
123
|
-
}
|
|
124
|
-
if (!this.messagesConfiguration.detailsConfiguration.bannedMembersConfiguration.bannedMembersStyle.padding) {
|
|
125
|
-
this.messagesConfiguration.detailsConfiguration.bannedMembersConfiguration.bannedMembersStyle.padding = "0 8px";
|
|
126
|
-
}
|
|
127
|
-
if (!this.messagesConfiguration.detailsConfiguration.bannedMembersConfiguration.bannedMembersStyle.padding) {
|
|
128
|
-
this.messagesConfiguration.detailsConfiguration.bannedMembersConfiguration.bannedMembersStyle.padding = "0 8px";
|
|
129
|
-
}
|
|
130
|
-
this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
|
|
131
|
-
this.StartConversationConfiguration.contactsStyle.padding = "0 8px";
|
|
132
|
-
this.StartConversationConfiguration = { ...this.StartConversationConfiguration };
|
|
133
|
-
this.messagesConfiguration = { ...this.messagesConfiguration };
|
|
134
|
-
}
|
|
135
|
-
else if (!this.isMobileView) {
|
|
136
|
-
this.messagesConfiguration.messageListConfiguration.messageInformationConfiguration.messageInformationStyle.height = "500px";
|
|
137
|
-
this.messagesConfiguration.messageListConfiguration.messageInformationConfiguration.messageInformationStyle.width = "500px";
|
|
138
|
-
this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = true;
|
|
139
|
-
if (!this.messagesConfiguration.detailsConfiguration.detailsStyle.padding) {
|
|
140
|
-
this.messagesConfiguration.detailsConfiguration.detailsStyle.padding = "0 100px";
|
|
141
|
-
}
|
|
142
|
-
if (!this.messagesConfiguration.detailsConfiguration.addMembersConfiguration.addMembersStyle.padding) {
|
|
143
|
-
this.messagesConfiguration.detailsConfiguration.addMembersConfiguration.addMembersStyle.padding = "0 100px";
|
|
144
|
-
}
|
|
145
|
-
if (!this.messagesConfiguration.detailsConfiguration.bannedMembersConfiguration.bannedMembersStyle.padding) {
|
|
146
|
-
this.messagesConfiguration.detailsConfiguration.bannedMembersConfiguration.bannedMembersStyle.padding = "0 100px";
|
|
147
|
-
}
|
|
148
|
-
if (!this.messagesConfiguration.detailsConfiguration.bannedMembersConfiguration.bannedMembersStyle.padding) {
|
|
149
|
-
this.messagesConfiguration.detailsConfiguration.bannedMembersConfiguration.bannedMembersStyle.padding = "0 100px";
|
|
150
|
-
}
|
|
151
|
-
this.StartConversationConfiguration.contactsStyle.padding = "0 100px";
|
|
152
|
-
this.StartConversationConfiguration = { ...this.StartConversationConfiguration };
|
|
153
|
-
this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
|
|
154
|
-
this.messagesConfiguration = { ...this.messagesConfiguration };
|
|
155
|
-
}
|
|
156
|
-
setTimeout(() => {
|
|
157
|
-
this.updateBackdropHeight();
|
|
158
|
-
}, 100);
|
|
159
|
-
}
|
|
160
|
-
if ((changes["user"] && changes["user"]?.currentValue) || (changes["group"] && changes["group"]?.currentValue)) {
|
|
161
|
-
this.setActiveChat();
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
triggerStartConversation() {
|
|
165
|
-
this.showStartConversation = true;
|
|
166
|
-
}
|
|
167
|
-
removeChatOnGroupAction(leftUser, message) {
|
|
168
|
-
const isSameUser = this.loggedInUser?.getUid() === leftUser.getUid();
|
|
169
|
-
const actionForGroup = message.getActionFor() instanceof CometChat.Group;
|
|
170
|
-
if (isSameUser && this.activeConversation && this.activeConversation.getConversationWith() instanceof CometChat.Group) {
|
|
171
|
-
let group = this.activeConversation.getConversationWith();
|
|
172
|
-
if (actionForGroup) {
|
|
173
|
-
let actionOnGroup = message.getActionFor();
|
|
174
|
-
if (actionOnGroup.getGuid() === group.getGuid()) {
|
|
175
|
-
this.activeConversation = null;
|
|
176
|
-
this.user = null;
|
|
177
|
-
this.group = null;
|
|
178
|
-
this.ref.detectChanges();
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
attachGroupListeners() {
|
|
184
|
-
CometChat.addGroupListener(this.groupListenerId, new CometChat.GroupListener({
|
|
185
|
-
onGroupMemberKicked: (message, kickedUser, kickedBy, kickedFrom) => {
|
|
186
|
-
this.removeChatOnGroupAction(kickedUser, message);
|
|
187
|
-
},
|
|
188
|
-
onGroupMemberBanned: (message, bannedUser, bannedBy, bannedFrom) => {
|
|
189
|
-
this.removeChatOnGroupAction(bannedUser, message);
|
|
190
|
-
},
|
|
191
|
-
}));
|
|
192
|
-
}
|
|
193
|
-
setWithMessagesStyle() {
|
|
194
|
-
let defaultStyle = new WithMessagesStyle({
|
|
195
|
-
width: "100%",
|
|
196
|
-
height: "100%",
|
|
197
|
-
background: this.themeService.theme.palette.getBackground(),
|
|
198
|
-
borderRadius: "none",
|
|
199
|
-
border: `1px solid ${this.themeService.theme.palette.getAccent200()}`,
|
|
200
|
-
messageTextColor: this.themeService.theme.palette.getAccent600(),
|
|
201
|
-
messageTextFont: fontHelper(this.themeService.theme.typography.title1),
|
|
202
|
-
});
|
|
203
|
-
this.conversationsWithMessagesStyle = {
|
|
204
|
-
...defaultStyle,
|
|
205
|
-
...this.conversationsWithMessagesStyle
|
|
206
|
-
};
|
|
207
|
-
this.labelStyle.textFont = this.conversationsWithMessagesStyle.messageTextFont;
|
|
208
|
-
this.labelStyle.textColor = this.conversationsWithMessagesStyle.messageTextColor;
|
|
209
|
-
this.messagesConfiguration.messagesStyle.border = this.messagesConfiguration.messagesStyle.border ?? "none";
|
|
210
|
-
this.conversationConfiguration.conversationsStyle.border = this.conversationConfiguration.conversationsStyle.border ?? "none";
|
|
211
|
-
if (!this.conversationConfiguration?.conversationsStyle?.border || this.conversationConfiguration?.conversationsStyle?.border == "none") {
|
|
212
|
-
this.sideBarStyle = { borderRight: this.conversationsWithMessagesStyle.border };
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
ngAfterViewInit() {
|
|
216
|
-
this.updateBackdropHeight();
|
|
217
|
-
}
|
|
218
|
-
updateBackdropHeight() {
|
|
219
|
-
let divHeight = this.elementRef.nativeElement.offsetHeight;
|
|
220
|
-
let divWidth = this.elementRef.nativeElement.offsetWidth;
|
|
221
|
-
if (divHeight === 0 || divWidth === 0) {
|
|
222
|
-
const rect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
223
|
-
divHeight = rect.height;
|
|
224
|
-
divWidth = rect.width;
|
|
225
|
-
}
|
|
226
|
-
let backdropStyle = {
|
|
227
|
-
height: divHeight + "px",
|
|
228
|
-
width: divWidth + "px",
|
|
229
|
-
background: "rgba(0, 0, 0, 0.5)",
|
|
230
|
-
position: "fixed"
|
|
231
|
-
};
|
|
232
|
-
if (this.isMobileView) {
|
|
233
|
-
this.messagesConfiguration.detailsConfiguration.transferOwnershipConfiguration.transferOwnershipStyle.height = (divHeight - 30) + "px";
|
|
234
|
-
this.messagesConfiguration.detailsConfiguration.transferOwnershipConfiguration.transferOwnershipStyle.width = divWidth + "px";
|
|
235
|
-
this.messagesConfiguration.messageListConfiguration.messageInformationConfiguration.messageInformationStyle.height = divHeight + "px";
|
|
236
|
-
this.messagesConfiguration.messageListConfiguration.messageInformationConfiguration.messageInformationStyle.width = divWidth + "px";
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
this.messagesConfiguration.detailsConfiguration.transferOwnershipConfiguration.transferOwnershipStyle.height = "650px";
|
|
240
|
-
this.messagesConfiguration.detailsConfiguration.transferOwnershipConfiguration.transferOwnershipStyle.width = "360px";
|
|
241
|
-
}
|
|
242
|
-
this.messagesConfiguration.messageListConfiguration.backdropStyle = this.messagesConfiguration.messageListConfiguration.backdropStyle || backdropStyle;
|
|
243
|
-
this.conversationConfiguration.backdropStyle = this.conversationConfiguration.backdropStyle || backdropStyle;
|
|
244
|
-
this.messagesConfiguration.detailsConfiguration.backdropStyle = this.messagesConfiguration.detailsConfiguration.backdropStyle || backdropStyle;
|
|
245
|
-
this.messagesConfiguration.messageComposerConfiguration.backdropStyle = this.messagesConfiguration.messageComposerConfiguration.backdropStyle || backdropStyle;
|
|
246
|
-
this.messagesConfiguration.detailsConfiguration.backdropStyle = this.messagesConfiguration.detailsConfiguration.backdropStyle || backdropStyle;
|
|
247
|
-
this.messagesConfiguration.detailsConfiguration.groupMembersConfiguration.backdropStyle = this.messagesConfiguration.detailsConfiguration.groupMembersConfiguration.backdropStyle || backdropStyle;
|
|
248
|
-
this.ref.detectChanges();
|
|
249
|
-
}
|
|
250
|
-
setActiveChat() {
|
|
251
|
-
let type = this.user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group;
|
|
252
|
-
this.activeConversation = null;
|
|
253
|
-
let conversationWith = this.user?.getUid() || this.group?.getGuid();
|
|
254
|
-
CometChat.getConversation(conversationWith, type).then((conversation) => {
|
|
255
|
-
this.activeConversation = conversation;
|
|
256
|
-
this.ref.detectChanges();
|
|
257
|
-
})
|
|
258
|
-
.catch((error) => {
|
|
259
|
-
if (this.onError) {
|
|
260
|
-
this.onError(error);
|
|
261
|
-
}
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
ngOnInit() {
|
|
265
|
-
this.StartConversationConfiguration.usersConfiguration.usersStyle.border = "none";
|
|
266
|
-
this.StartConversationConfiguration.groupsConfiguration.groupsStyle.border = "none";
|
|
267
|
-
this.startConversationButtonStyle = {
|
|
268
|
-
height: "24px",
|
|
269
|
-
width: "24px",
|
|
270
|
-
border: "none",
|
|
271
|
-
borderRadius: '0',
|
|
272
|
-
background: "transparent",
|
|
273
|
-
buttonIconTint: this.themeService.theme.palette.getPrimary()
|
|
274
|
-
};
|
|
275
|
-
this.StartConversationConfiguration = { ...this.StartConversationConfiguration };
|
|
276
|
-
this.setWithMessagesStyle();
|
|
277
|
-
if (!this.messagesConfiguration.messageHeaderConfiguration.onBack) {
|
|
278
|
-
this.messagesConfiguration.messageHeaderConfiguration.onBack = this.onBack;
|
|
279
|
-
}
|
|
280
|
-
CometChat.getLoggedinUser()
|
|
281
|
-
.then((user) => {
|
|
282
|
-
this.loggedInUser = user;
|
|
283
|
-
this.attachGroupListeners();
|
|
284
|
-
this.subscribeToEvents();
|
|
285
|
-
})
|
|
286
|
-
.catch((error) => {
|
|
287
|
-
if (this.onError) {
|
|
288
|
-
this.onError(error);
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
ngOnDestroy() {
|
|
293
|
-
this.unsubscribeToEvents();
|
|
294
|
-
CometChat.removeGroupListener(this.groupListenerId);
|
|
295
|
-
}
|
|
296
|
-
// subscribe to global events
|
|
297
|
-
subscribeToEvents() {
|
|
298
|
-
this.ccConversationDeleted = CometChatConversationEvents.ccConversationDeleted.subscribe((conversation) => {
|
|
299
|
-
this.removeActiveChatList(conversation); //to make m messages section empty after deleting conversation from conversationlist
|
|
300
|
-
});
|
|
301
|
-
this.ccGroupDeleted = CometChatGroupEvents.ccGroupDeleted.subscribe((group) => {
|
|
302
|
-
if (this.group && group.getGuid() == this.group.getGuid()) {
|
|
303
|
-
this.group = null;
|
|
304
|
-
this.activeConversation = null;
|
|
305
|
-
this.ref.detectChanges();
|
|
306
|
-
}
|
|
307
|
-
});
|
|
308
|
-
this.ccGroupMemberAdded = CometChatGroupEvents.ccGroupMemberAdded.subscribe((item) => {
|
|
309
|
-
if (this.group && this.group.getGuid() == item?.userAddedIn.getGuid()) {
|
|
310
|
-
this.group = item?.userAddedIn;
|
|
311
|
-
this.ref.detectChanges();
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item) => {
|
|
315
|
-
if (this.group && this.group.getGuid() == item?.kickedFrom.getGuid()) {
|
|
316
|
-
this.group = item?.kickedFrom;
|
|
317
|
-
this.ref.detectChanges();
|
|
318
|
-
}
|
|
319
|
-
});
|
|
320
|
-
this.ccGroupMemberJoined = CometChatGroupEvents.ccGroupMemberJoined.subscribe((item) => {
|
|
321
|
-
if (this.group && this.group.getGuid() == item?.joinedGroup.getGuid()) {
|
|
322
|
-
this.group = item?.joinedGroup;
|
|
323
|
-
this.ref.detectChanges();
|
|
324
|
-
}
|
|
325
|
-
});
|
|
326
|
-
this.ccGroupMemberKicked = CometChatGroupEvents.ccGroupMemberKicked.subscribe((item) => {
|
|
327
|
-
if (this.group && this.group.getGuid() == item?.kickedFrom.getGuid()) {
|
|
328
|
-
this.group = item?.kickedFrom;
|
|
329
|
-
this.ref.detectChanges();
|
|
330
|
-
}
|
|
331
|
-
});
|
|
332
|
-
this.ccOwnershipChanged = CometChatGroupEvents.ccOwnershipChanged.subscribe((item) => {
|
|
333
|
-
if (this.group && this.group.getGuid() == item?.group.getGuid()) {
|
|
334
|
-
this.group = item?.group;
|
|
335
|
-
this.activeConversation?.setConversationWith(this.group);
|
|
336
|
-
this.ref.detectChanges();
|
|
337
|
-
}
|
|
338
|
-
});
|
|
339
|
-
this.ccGroupLeft = CometChatGroupEvents.ccGroupLeft.subscribe((item) => {
|
|
340
|
-
if (this.group && this.group.getGuid() == item?.leftGroup.getGuid() && this.loggedInUser?.getUid() == item?.userLeft?.getUid()) {
|
|
341
|
-
this.group = null;
|
|
342
|
-
this.activeConversation = null;
|
|
343
|
-
this.ref.detectChanges();
|
|
344
|
-
}
|
|
345
|
-
});
|
|
346
|
-
// open chat and mark as active conversation
|
|
347
|
-
this.ccOpenChat = CometChatUIEvents.ccOpenChat.subscribe((item) => {
|
|
348
|
-
this.user = item.user ? item.user : null;
|
|
349
|
-
this.group = item.group ? item.group : null;
|
|
350
|
-
this.setActiveChat();
|
|
351
|
-
});
|
|
352
|
-
}
|
|
353
|
-
// unsubscribe to subscribed events.
|
|
354
|
-
unsubscribeToEvents() {
|
|
355
|
-
this.ccConversationDeleted?.unsubscribe();
|
|
356
|
-
this.ccGroupDeleted?.unsubscribe();
|
|
357
|
-
this.ccGroupMemberAdded?.unsubscribe();
|
|
358
|
-
this.ccGroupMemberBanned?.unsubscribe();
|
|
359
|
-
this.ccGroupMemberJoined?.unsubscribe();
|
|
360
|
-
this.ccGroupMemberKicked?.unsubscribe();
|
|
361
|
-
this.ccOwnershipChanged?.unsubscribe();
|
|
362
|
-
this.ccGroupLeft?.unsubscribe();
|
|
363
|
-
this.ccOpenChat?.unsubscribe();
|
|
364
|
-
}
|
|
365
|
-
/**
|
|
366
|
-
* remove active chat screen after deleting the conversation.
|
|
367
|
-
* @param {CometChat.Conversation} conversation
|
|
368
|
-
*/
|
|
369
|
-
removeActiveChatList(conversation) {
|
|
370
|
-
const conversationType = conversation.getConversationType();
|
|
371
|
-
const conversationWith = conversation.getConversationWith();
|
|
372
|
-
if (conversationType === CometChatUIKitConstants.MessageReceiverType.user && this.user && this.user.getUid() === conversationWith.getUid()) {
|
|
373
|
-
this.user = null;
|
|
374
|
-
this.ref.detectChanges();
|
|
375
|
-
}
|
|
376
|
-
else if (conversationType === CometChatUIKitConstants.MessageReceiverType.group && this.group && this.group.getGuid() === conversationWith.getGuid()) {
|
|
377
|
-
this.group = null;
|
|
378
|
-
this.ref.detectChanges();
|
|
379
|
-
}
|
|
380
|
-
else {
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
CometChatConversationsWithMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatConversationsWithMessagesComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
386
|
-
CometChatConversationsWithMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatConversationsWithMessagesComponent, selector: "cometchat-conversations-with-messages", inputs: { user: "user", group: "group", isMobileView: "isMobileView", messageText: "messageText", conversationsWithMessagesStyle: "conversationsWithMessagesStyle", messagesConfiguration: "messagesConfiguration", conversationConfiguration: "conversationConfiguration", onError: "onError", startNewConversationIconURL: "startNewConversationIconURL", hideStartNewConversation: "hideStartNewConversation", StartConversationConfiguration: "StartConversationConfiguration" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-with-messages__wrapper\" [ngStyle]=\"chatsWrapperStyles()\">\n <div class=\"cc-with-messages__sidebar\" [ngClass]=\"{mobile : isMobileView}\"\n [ngStyle]=\"sideBarStyle\">\n <cometchat-conversations #conversationRef\n [activeConversation]=\"activeConversation\"\n [onItemClick]=\"conversationConfiguration.onItemClick || onItemClick\"\n [conversationsStyle]=\"conversationConfiguration.conversationsStyle\"\n [statusIndicatorStyle]=\"conversationConfiguration?.statusIndicatorStyle\"\n [avatarStyle]=\"conversationConfiguration?.avatarStyle!\"\n [subtitleView]=\"conversationConfiguration.subtitleView\"\n [options]=\"conversationConfiguration.options\"\n [disableUsersPresence]=\"conversationConfiguration.disableUsersPresence\"\n [disableReceipt]=\"conversationConfiguration.disableReceipt\"\n [hideReceipt]=\"conversationConfiguration.hideReceipt\"\n [disableTyping]=\"conversationConfiguration.disableTyping\"\n [deliveredIcon]=\"conversationConfiguration.deliveredIcon\"\n [readIcon]=\"conversationConfiguration.readIcon\"\n [waitIcon]=\"conversationConfiguration.waitIcon\"\n [errorIcon]=\"conversationConfiguration.errorIcon\"\n [datePattern]=\"conversationConfiguration.datePattern\"\n [receiptStyle]=\"conversationConfiguration.receiptStyle\"\n [sentIcon]=\"conversationConfiguration.sentIcon\"\n [privateGroupIcon]=\"conversationConfiguration.privateGroupIcon\"\n [protectedGroupIcon]=\"conversationConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"conversationConfiguration.passwordGroupIcon\"\n [customSoundForMessages]=\"conversationConfiguration.customSoundForMessages\"\n [conversationsRequestBuilder]=\"conversationConfiguration.conversationsRequestBuilder\"\n [emptyStateView]=\"conversationConfiguration.emptyStateView\"\n [onSelect]=\"conversationConfiguration.onSelect\"\n [loadingIconURL]=\"conversationConfiguration.loadingIconURL\"\n [errorStateView]=\"conversationConfiguration.errorStateView\"\n [loadingStateView]=\"conversationConfiguration.loadingStateView\"\n [titleAlignment]=\"conversationConfiguration.titleAlignment\"\n [listItemView]=\"conversationConfiguration.listItemView\"\n [menu]=\"conversationConfiguration.menu || startConversationButton\"\n [hideSeparator]=\"conversationConfiguration.hideSeparator\"\n [hideError]=\"conversationConfiguration.hideError\"\n [selectionMode]=\"conversationConfiguration.selectionMode\"\n [disableSoundForMessages]=\"conversationConfiguration.disableSoundForMessages\"\n [deleteConversationDialogStyle]=\"conversationConfiguration.deleteConversationDialogStyle\"\n [badgeStyle]=\"conversationConfiguration.badgeStyle\"\n [dateStyle]=\"conversationConfiguration.dateStyle\"\n [listItemStyle]=\"conversationConfiguration.listItemStyle\"\n [backdropStyle]=\"conversationConfiguration.backdropStyle\"\n [textFormatters]=\"conversationConfiguration?.textFormatters\"\n [disableMentions]=\"conversationConfiguration.disableMentions\"></cometchat-conversations>\n </div>\n <div class=\"cc-with-messages__main\" [ngClass]=\"{mobile : isMobileView}\"\n *ngIf=\"!showStartConversation && (user || group)\">\n <!--Message List Screen-->\n <cometchat-messages #messagesRef [user]=\"user!\" [group]=\"group!\"\n [messageHeaderConfiguration]=\"messagesConfiguration.messageHeaderConfiguration\"\n [messageListConfiguration]=\"messagesConfiguration.messageListConfiguration\"\n [messageComposerConfiguration]=\"messagesConfiguration.messageComposerConfiguration\"\n [messagesStyle]=\"messagesConfiguration.messagesStyle\"\n [customSoundForIncomingMessages]=\"messagesConfiguration.customSoundForIncomingMessages\"\n [customSoundForOutgoingMessages]=\"messagesConfiguration.customSoundForOutgoingMessages\"\n [detailsConfiguration]=\"messagesConfiguration.detailsConfiguration\"\n [disableSoundForMessages]=\"messagesConfiguration.disableSoundForMessages\"\n [disableTyping]=\"messagesConfiguration.disableTyping\"\n [hideMessageComposer]=\"messagesConfiguration.hideMessageComposer\"\n [hideMessageHeader]=\"messagesConfiguration.hideMessageHeader\"\n [messageComposerView]=\"messagesConfiguration.messageComposerView\"\n [messageHeaderView]=\"messagesConfiguration.messageHeaderView\"\n [messageListView]=\"messagesConfiguration.messageListView\"\n [hideDetails]=\"messagesConfiguration.hideDetails!\"\n [threadedMessageConfiguration]=\"messagesConfiguration.threadedMessageConfiguration\">\n </cometchat-messages>\n <!--Message List Screen ENDS-->\n </div>\n <div class=\"cc-with-messages__start-conversation\"\n [ngStyle]=\"contactsWrapperStyles()\"\n [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"showStartConversation\">\n\n <cometchat-contacts [onItemClick]=\"onContactClicked\"\n [usersConfiguration]=\"StartConversationConfiguration?.usersConfiguration!\"\n [groupsConfiguration]=\"StartConversationConfiguration?.groupsConfiguration!\"\n [closeIconURL]=\"StartConversationConfiguration?.closeIconURL!\"\n [contactsStyle]=\"StartConversationConfiguration?.contactsStyle!\"\n [selectionMode]=\"StartConversationConfiguration?.selectionMode!\"\n [onClose]=\"closeStartConversation\"\n [tabVisibility]=\"StartConversationConfiguration?.tabVisibility!\"\n [selectionLimit]=\"StartConversationConfiguration?.selectionLimit!\"\n [tabs]=\"StartConversationConfiguration?.tabs!\"\n [onSubmitButtonClick]=\"StartConversationConfiguration?.onSubmitButtonClick!\"\n [hideSubmitButton]=\"StartConversationConfiguration?.hideSubmitButton!\"></cometchat-contacts>\n </div>\n <div class=\"cc-decorator__message--empty\"\n *ngIf=\"!user && !group && !showStartConversation\"\n [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n <ng-template #startConversationButton>\n <cometchat-button *ngIf=\"!hideStartNewConversation\"\n [iconURL]=\"startNewConversationIconURL\"\n [buttonStyle]=\"startConversationButtonStyle\"\n (cc-button-clicked)=\"triggerStartConversation()\"></cometchat-button>\n\n </ng-template>\n", styles: [".cc-with-messages__wrapper{display:flex;height:100%;width:100%;box-sizing:border-box;overflow:hidden}.cc-with-messages__sidebar{width:280px;height:100%;position:relative}.cc-with-messages__main,.cc-with-messages__start-conversation{width:calc(100% - 280px);height:100%}.mobile{width:100%!important;height:100%;position:absolute}.cc-decorator__message--empty{display:flex;justify-content:center;align-items:center}\n"], components: [{ type: i2.CometChatConversationsComponent, selector: "cometchat-conversations", inputs: ["subtitleView", "title", "options", "searchPlaceHolder", "disableUsersPresence", "disableReceipt", "hideReceipt", "disableTyping", "deliveredIcon", "readIcon", "errorIcon", "datePattern", "onError", "sentIcon", "privateGroupIcon", "protectedGroupIcon", "passwordGroupIcon", "customSoundForMessages", "activeConversation", "searchIconURL", "hideSearch", "conversationsRequestBuilder", "emptyStateView", "onSelect", "loadingIconURL", "errorStateView", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "listItemView", "menu", "hideSeparator", "searchPlaceholder", "hideError", "selectionMode", "disableSoundForMessages", "confirmDialogTitle", "confirmButtonText", "cancelButtonText", "confirmDialogMessage", "onItemClick", "deleteConversationDialogStyle", "backdropStyle", "badgeStyle", "dateStyle", "conversationsStyle", "listItemStyle", "statusIndicatorStyle", "typingIndicatorText", "threadIndicatorText", "avatarStyle", "receiptStyle", "loggedInUser", "disableMentions", "textFormatters"] }, { type: i3.CometChatMessagesComponent, selector: "cometchat-messages", inputs: ["user", "group", "currentAskAIBot", "hideMessageComposer", "disableTyping", "messageHeaderConfiguration", "messageListConfiguration", "messageComposerConfiguration", "threadedMessageConfiguration", "detailsConfiguration", "customSoundForIncomingMessages", "customSoundForOutgoingMessages", "disableSoundForMessages", "messagesStyle", "messageHeaderView", "messageComposerView", "messageListView", "hideMessageHeader", "hideDetails", "auxiliaryMenu"] }, { type: i4.CometChatContactsComponent, selector: "cometchat-contacts", inputs: ["title", "usersTabTitle", "groupsTabTitle", "usersConfiguration", "groupsConfiguration", "onSubmitButtonClick", "closeIconURL", "contactsStyle", "selectionMode", "onClose", "onItemClick", "tabVisibility", "selectionLimit", "tabs", "hideSubmitButton", "submitButtonText"] }], directives: [{ type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
387
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatConversationsWithMessagesComponent, decorators: [{
|
|
388
|
-
type: Component,
|
|
389
|
-
args: [{ selector: "cometchat-conversations-with-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-with-messages__wrapper\" [ngStyle]=\"chatsWrapperStyles()\">\n <div class=\"cc-with-messages__sidebar\" [ngClass]=\"{mobile : isMobileView}\"\n [ngStyle]=\"sideBarStyle\">\n <cometchat-conversations #conversationRef\n [activeConversation]=\"activeConversation\"\n [onItemClick]=\"conversationConfiguration.onItemClick || onItemClick\"\n [conversationsStyle]=\"conversationConfiguration.conversationsStyle\"\n [statusIndicatorStyle]=\"conversationConfiguration?.statusIndicatorStyle\"\n [avatarStyle]=\"conversationConfiguration?.avatarStyle!\"\n [subtitleView]=\"conversationConfiguration.subtitleView\"\n [options]=\"conversationConfiguration.options\"\n [disableUsersPresence]=\"conversationConfiguration.disableUsersPresence\"\n [disableReceipt]=\"conversationConfiguration.disableReceipt\"\n [hideReceipt]=\"conversationConfiguration.hideReceipt\"\n [disableTyping]=\"conversationConfiguration.disableTyping\"\n [deliveredIcon]=\"conversationConfiguration.deliveredIcon\"\n [readIcon]=\"conversationConfiguration.readIcon\"\n [waitIcon]=\"conversationConfiguration.waitIcon\"\n [errorIcon]=\"conversationConfiguration.errorIcon\"\n [datePattern]=\"conversationConfiguration.datePattern\"\n [receiptStyle]=\"conversationConfiguration.receiptStyle\"\n [sentIcon]=\"conversationConfiguration.sentIcon\"\n [privateGroupIcon]=\"conversationConfiguration.privateGroupIcon\"\n [protectedGroupIcon]=\"conversationConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"conversationConfiguration.passwordGroupIcon\"\n [customSoundForMessages]=\"conversationConfiguration.customSoundForMessages\"\n [conversationsRequestBuilder]=\"conversationConfiguration.conversationsRequestBuilder\"\n [emptyStateView]=\"conversationConfiguration.emptyStateView\"\n [onSelect]=\"conversationConfiguration.onSelect\"\n [loadingIconURL]=\"conversationConfiguration.loadingIconURL\"\n [errorStateView]=\"conversationConfiguration.errorStateView\"\n [loadingStateView]=\"conversationConfiguration.loadingStateView\"\n [titleAlignment]=\"conversationConfiguration.titleAlignment\"\n [listItemView]=\"conversationConfiguration.listItemView\"\n [menu]=\"conversationConfiguration.menu || startConversationButton\"\n [hideSeparator]=\"conversationConfiguration.hideSeparator\"\n [hideError]=\"conversationConfiguration.hideError\"\n [selectionMode]=\"conversationConfiguration.selectionMode\"\n [disableSoundForMessages]=\"conversationConfiguration.disableSoundForMessages\"\n [deleteConversationDialogStyle]=\"conversationConfiguration.deleteConversationDialogStyle\"\n [badgeStyle]=\"conversationConfiguration.badgeStyle\"\n [dateStyle]=\"conversationConfiguration.dateStyle\"\n [listItemStyle]=\"conversationConfiguration.listItemStyle\"\n [backdropStyle]=\"conversationConfiguration.backdropStyle\"\n [textFormatters]=\"conversationConfiguration?.textFormatters\"\n [disableMentions]=\"conversationConfiguration.disableMentions\"></cometchat-conversations>\n </div>\n <div class=\"cc-with-messages__main\" [ngClass]=\"{mobile : isMobileView}\"\n *ngIf=\"!showStartConversation && (user || group)\">\n <!--Message List Screen-->\n <cometchat-messages #messagesRef [user]=\"user!\" [group]=\"group!\"\n [messageHeaderConfiguration]=\"messagesConfiguration.messageHeaderConfiguration\"\n [messageListConfiguration]=\"messagesConfiguration.messageListConfiguration\"\n [messageComposerConfiguration]=\"messagesConfiguration.messageComposerConfiguration\"\n [messagesStyle]=\"messagesConfiguration.messagesStyle\"\n [customSoundForIncomingMessages]=\"messagesConfiguration.customSoundForIncomingMessages\"\n [customSoundForOutgoingMessages]=\"messagesConfiguration.customSoundForOutgoingMessages\"\n [detailsConfiguration]=\"messagesConfiguration.detailsConfiguration\"\n [disableSoundForMessages]=\"messagesConfiguration.disableSoundForMessages\"\n [disableTyping]=\"messagesConfiguration.disableTyping\"\n [hideMessageComposer]=\"messagesConfiguration.hideMessageComposer\"\n [hideMessageHeader]=\"messagesConfiguration.hideMessageHeader\"\n [messageComposerView]=\"messagesConfiguration.messageComposerView\"\n [messageHeaderView]=\"messagesConfiguration.messageHeaderView\"\n [messageListView]=\"messagesConfiguration.messageListView\"\n [hideDetails]=\"messagesConfiguration.hideDetails!\"\n [threadedMessageConfiguration]=\"messagesConfiguration.threadedMessageConfiguration\">\n </cometchat-messages>\n <!--Message List Screen ENDS-->\n </div>\n <div class=\"cc-with-messages__start-conversation\"\n [ngStyle]=\"contactsWrapperStyles()\"\n [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"showStartConversation\">\n\n <cometchat-contacts [onItemClick]=\"onContactClicked\"\n [usersConfiguration]=\"StartConversationConfiguration?.usersConfiguration!\"\n [groupsConfiguration]=\"StartConversationConfiguration?.groupsConfiguration!\"\n [closeIconURL]=\"StartConversationConfiguration?.closeIconURL!\"\n [contactsStyle]=\"StartConversationConfiguration?.contactsStyle!\"\n [selectionMode]=\"StartConversationConfiguration?.selectionMode!\"\n [onClose]=\"closeStartConversation\"\n [tabVisibility]=\"StartConversationConfiguration?.tabVisibility!\"\n [selectionLimit]=\"StartConversationConfiguration?.selectionLimit!\"\n [tabs]=\"StartConversationConfiguration?.tabs!\"\n [onSubmitButtonClick]=\"StartConversationConfiguration?.onSubmitButtonClick!\"\n [hideSubmitButton]=\"StartConversationConfiguration?.hideSubmitButton!\"></cometchat-contacts>\n </div>\n <div class=\"cc-decorator__message--empty\"\n *ngIf=\"!user && !group && !showStartConversation\"\n [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n <ng-template #startConversationButton>\n <cometchat-button *ngIf=\"!hideStartNewConversation\"\n [iconURL]=\"startNewConversationIconURL\"\n [buttonStyle]=\"startConversationButtonStyle\"\n (cc-button-clicked)=\"triggerStartConversation()\"></cometchat-button>\n\n </ng-template>\n", styles: [".cc-with-messages__wrapper{display:flex;height:100%;width:100%;box-sizing:border-box;overflow:hidden}.cc-with-messages__sidebar{width:280px;height:100%;position:relative}.cc-with-messages__main,.cc-with-messages__start-conversation{width:calc(100% - 280px);height:100%}.mobile{width:100%!important;height:100%;position:absolute}.cc-decorator__message--empty{display:flex;justify-content:center;align-items:center}\n"] }]
|
|
390
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.CometChatThemeService }]; }, propDecorators: { user: [{
|
|
391
|
-
type: Input
|
|
392
|
-
}], group: [{
|
|
393
|
-
type: Input
|
|
394
|
-
}], isMobileView: [{
|
|
395
|
-
type: Input
|
|
396
|
-
}], messageText: [{
|
|
397
|
-
type: Input
|
|
398
|
-
}], conversationsWithMessagesStyle: [{
|
|
399
|
-
type: Input
|
|
400
|
-
}], messagesConfiguration: [{
|
|
401
|
-
type: Input
|
|
402
|
-
}], conversationConfiguration: [{
|
|
403
|
-
type: Input
|
|
404
|
-
}], onError: [{
|
|
405
|
-
type: Input
|
|
406
|
-
}], startNewConversationIconURL: [{
|
|
407
|
-
type: Input
|
|
408
|
-
}], hideStartNewConversation: [{
|
|
409
|
-
type: Input
|
|
410
|
-
}], StartConversationConfiguration: [{
|
|
411
|
-
type: Input
|
|
412
|
-
}] } });
|
|
413
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXRjaGF0LWNvbnZlcnNhdGlvbnMtd2l0aC1tZXNzYWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0NvbWV0Q2hhdENvbnZlcnNhdGlvbnNXaXRoTWVzc2FnZXMvY29tZXRjaGF0LWNvbnZlcnNhdGlvbnMtd2l0aC1tZXNzYWdlcy9jb21ldGNoYXQtY29udmVyc2F0aW9ucy13aXRoLW1lc3NhZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvQ29tZXRDaGF0Q29udmVyc2F0aW9uc1dpdGhNZXNzYWdlcy9jb21ldGNoYXQtY29udmVyc2F0aW9ucy13aXRoLW1lc3NhZ2VzL2NvbWV0Y2hhdC1jb252ZXJzYXRpb25zLXdpdGgtbWVzc2FnZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsS0FBSyxFQUFFLHVCQUF1QixFQUEyRCxNQUFNLGVBQWUsQ0FBQztBQUN0SixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDckksT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFtQixvQkFBb0IsRUFBRSx1QkFBdUIsRUFBNkksMkJBQTJCLEVBQXlDLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFblgsT0FBTywyQkFBMkIsQ0FBQTs7Ozs7OztBQUdsQzs7Ozs7Ozs7RUFRRTtBQU9GLE1BQU0sT0FBTywyQ0FBMkM7SUFrRHRELFlBQW9CLFVBQXNCLEVBQVUsR0FBc0IsRUFBVSxZQUFtQztRQUFuRyxlQUFVLEdBQVYs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LEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLDhCQUE4QjtzQkFBdEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21ldENoYXQgfSBmcm9tIFwiQGNvbWV0Y2hhdC9jaGF0LXNkay1qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBXaXRoTWVzc2FnZXNTdHlsZSwgTWVzc2FnZXNDb25maWd1cmF0aW9uLCBDb252ZXJzYXRpb25zQ29uZmlndXJhdGlvbiwgQ29udGFjdHNDb25maWd1cmF0aW9uIH0gZnJvbSAnQGNvbWV0Y2hhdC91aWtpdC1zaGFyZWQnXG5pbXBvcnQgeyBDb21ldENoYXRUaGVtZSwgZm9udEhlbHBlciwgbG9jYWxpemUsIENvbWV0Q2hhdE9wdGlvbiwgQ29tZXRDaGF0R3JvdXBFdmVudHMsIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLCBJR3JvdXBMZWZ0LCBJR3JvdXBNZW1iZXJBZGRlZCwgSUdyb3VwTWVtYmVyS2lja2VkQmFubmVkLCBJR3JvdXBNZW1iZXJTY29wZUNoYW5nZWQsIElNZXNzYWdlcywgQ29tZXRDaGF0VXNlckV2ZW50cywgQ29tZXRDaGF0TWVzc2FnZUV2ZW50cywgQ29tZXRDaGF0Q29udmVyc2F0aW9uRXZlbnRzLCBJR3JvdXBNZW1iZXJKb2luZWQsIElPd25lcnNoaXBDaGFuZ2VkLCBDb21ldENoYXRVSUV2ZW50cyB9IGZyb20gJ0Bjb21ldGNoYXQvdWlraXQtcmVzb3VyY2VzJ1xuXG5pbXBvcnQgJ0Bjb21ldGNoYXQvdWlraXQtZWxlbWVudHMnXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQ29tZXRDaGF0VGhlbWVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL0NvbWV0Q2hhdFRoZW1lLnNlcnZpY2VcIjtcbi8qKlxuKlxuKiBDb21ldENoYXRDb252ZXJzYXRpb25zV2l0aE1lc3NhZ2VzQ29tcG9uZW50IGlzIGEgd3JhcHBlciBjb21wb25lbnQgZm9yIENvbWV0Q2hhdE1lc3NhZ2VzQ29tcG9uZW50IGFuZCBDb21ldENoYXRDb252ZXJzYXRpb25zIGNvbXBvbmVudCB0byBzaG93IGNoYXRzIGFuZCBtZXNzYWdlcyBpbiBvbmUgc2NyZWVuXG4qXG4qIEB2ZXJzaW9uIDEuMC4wXG4qIEBhdXRob3IgQ29tZXRDaGF0VGVhbVxuKiBAY29weXJpZ2h0IMKpIDIwMjIgQ29tZXRDaGF0IEluYy5cbipcbiovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY29tZXRjaGF0LWNvbnZlcnNhdGlvbnMtd2l0aC1tZXNzYWdlc1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2NvbWV0Y2hhdC1jb252ZXJzYXRpb25zLXdpdGgtbWVzc2FnZXMuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2NvbWV0Y2hhdC1jb252ZXJzYXRpb25zLXdpdGgtbWVzc2FnZXMuY29tcG9uZW50LnNjc3NcIl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb21ldENoYXRDb252ZXJzYXRpb25zV2l0aE1lc3NhZ2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAvLyB0YWtpbmcgcmVmZXJlbmNlIG9mIGNvbnZlcnNhdGlvbkNvbXBvbmVudCBhbmQgTWVzc2FnZXNDb21wb25lbnRcbiAgQElucHV0KCkgdXNlciE6IENvbWV0Q2hhdC5Vc2VyIHwgbnVsbDtcbiAgQElucHV0KCkgZ3JvdXAhOiBDb21ldENoYXQuR3JvdXAgfCBudWxsO1xuICBASW5wdXQoKSBpc01vYmlsZVZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWVzc2FnZVRleHQ6IHN0cmluZyA9IGxvY2FsaXplKFwiTk9fQ0hBVFNfU0VMRUNURURcIik7XG4gIEBJbnB1dCgpIGNvbnZlcnNhdGlvbnNXaXRoTWVzc2FnZXNTdHlsZTogV2l0aE1lc3NhZ2VzU3R5bGUgPSB7fTtcbiAgQElucHV0KCkgbWVzc2FnZXNDb25maWd1cmF0aW9uOiBNZXNzYWdlc0NvbmZpZ3VyYXRpb24gPSBuZXcgTWVzc2FnZXNDb25maWd1cmF0aW9uKHt9KTtcbiAgQElucHV0KCkgY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbjogQ29udmVyc2F0aW9uc0NvbmZpZ3VyYXRpb24gPSBuZXcgQ29udmVyc2F0aW9uc0NvbmZpZ3VyYXRpb24oe30pO1xuICBASW5wdXQoKSBvbkVycm9yOiAoKGVycm9yOiBDb21ldENoYXQuQ29tZXRDaGF0RXhjZXB0aW9uKSA9PiB2b2lkKSB8IG51bGwgPSAoZXJyb3I6IENvbWV0Q2hhdC5Db21ldENoYXRFeGNlcHRpb24pID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgfVxuICBASW5wdXQoKSBzdGFydE5ld0NvbnZlcnNhdGlvbkljb25VUkw6IHN0cmluZyA9IFwiYXNzZXRzL25ldy1jaGF0LnN2Z1wiXG4gIEBJbnB1dCgpIGhpZGVTdGFydE5ld0NvbnZlcnNhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBTdGFydENvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb246IENvbnRhY3RzQ29uZmlndXJhdGlvbiA9IG5ldyBDb250YWN0c0NvbmZpZ3VyYXRpb24oe30pXG4gIHRoZW1lOiBDb21ldENoYXRUaGVtZSA9IG5ldyBDb21ldENoYXRUaGVtZSh7fSk7XG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIGZvciBpbnRlcm5hbCB1c2VcbiAgICovXG4gIHB1YmxpYyBzaG93U3RhcnRDb252ZXJzYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGxvZ2dlZEluVXNlciE6IENvbWV0Q2hhdC5Vc2VyIHwgbnVsbDtcbiAgcHVibGljIGFjdGl2ZUNvbnZlcnNhdGlvbiE6IENvbWV0Q2hhdC5Db252ZXJzYXRpb24gfCBudWxsO1xuICBsYWJlbFN0eWxlOiBhbnkgPSB7XG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgIHRleHRGb250OiBcIjcwMCAyMnB4IEludGVyXCIsXG4gICAgdGV4dENvbG9yOiBcInJnYmEoMjAsIDIwLCAyMCwgMC4zMylcIlxuICB9XG5cbiAgcHVibGljIGhpZGVTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xuICBzdGFydENvbnZlcnNhdGlvbkJ1dHRvblN0eWxlOiBhbnkgPSB7XG5cbiAgfVxuICAvKipcbiAgKiBFdmVudHNcbiAgKi9cbiAgY2NHcm91cE1lbWJlckFkZGVkITogU3Vic2NyaXB0aW9uO1xuICBjY0dyb3VwTGVmdCE6IFN1YnNjcmlwdGlvbjtcbiAgY2NPcGVuQ2hhdCE6IFN1YnNjcmlwdGlvbjtcbiAgY2NHcm91cE1lbWJlckpvaW5lZCE6IFN1YnNjcmlwdGlvbjtcbiAgY2NHcm91cE1lbWJlcktpY2tlZCE6IFN1YnNjcmlwdGlvbjtcbiAgY2NHcm91cE1lbWJlckJhbm5lZCE6IFN1YnNjcmlwdGlvbjtcbiAgY2NPd25lcnNoaXBDaGFuZ2VkITogU3Vic2NyaXB0aW9uO1xuICBjY0dyb3VwRGVsZXRlZCE6IFN1YnNjcmlwdGlvbjtcbiAgc2lkZUJhclN0eWxlOiBhbnkgPSB7XG5cbiAgfVxuICBwdWJsaWMgZ3JvdXBMaXN0ZW5lcklkOiBzdHJpbmcgPSBcIndpdGhtZXNzYWdlc19ncm91cF9cIiArIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gIHB1YmxpYyBjY0NvbnZlcnNhdGlvbkRlbGV0ZWQhOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgdGhlbWVTZXJ2aWNlOiBDb21ldENoYXRUaGVtZVNlcnZpY2UpIHtcbiAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cbiAgICBpZiAoY2hhbmdlc1tcImlzTW9iaWxlVmlld1wiXSkge1xuICAgICAgaWYgKHRoaXMuaXNNb2JpbGVWaWV3KSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VIZWFkZXJDb25maWd1cmF0aW9uLmhpZGVCYWNrQnV0dG9uID0gZmFsc2U7XG4gICAgICAgIGlmICghdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uZGV0YWlsc1N0eWxlLnBhZGRpbmcpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvbi5kZXRhaWxzU3R5bGUucGFkZGluZyA9IFwiMCA4cHhcIlxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uYWRkTWVtYmVyc0NvbmZpZ3VyYXRpb24uYWRkTWVtYmVyc1N0eWxlLnBhZGRpbmcpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvbi5hZGRNZW1iZXJzQ29uZmlndXJhdGlvbi5hZGRNZW1iZXJzU3R5bGUucGFkZGluZyA9IFwiMCA4cHhcIlxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uYmFubmVkTWVtYmVyc0NvbmZpZ3VyYXRpb24uYmFubmVkTWVtYmVyc1N0eWxlLnBhZGRpbmcpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvbi5iYW5uZWRNZW1iZXJzQ29uZmlndXJhdGlvbi5iYW5uZWRNZW1iZXJzU3R5bGUucGFkZGluZyA9IFwiMCA4cHhcIlxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uYmFubmVkTWVtYmVyc0NvbmZpZ3VyYXRpb24uYmFubmVkTWVtYmVyc1N0eWxlLnBhZGRpbmcpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvbi5iYW5uZWRNZW1iZXJzQ29uZmlndXJhdGlvbi5iYW5uZWRNZW1iZXJzU3R5bGUucGFkZGluZyA9IFwiMCA4cHhcIlxuICAgICAgICB9XG4gICAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VIZWFkZXJDb25maWd1cmF0aW9uID0geyAuLi50aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvbiB9XG4gICAgICAgIHRoaXMuU3RhcnRDb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmNvbnRhY3RzU3R5bGUucGFkZGluZyA9IFwiMCA4cHhcIjtcbiAgICAgICAgdGhpcy5TdGFydENvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24gPSB7IC4uLnRoaXMuU3RhcnRDb252ZXJzYXRpb25Db25maWd1cmF0aW9uIH1cblxuICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbiA9IHsgLi4udGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24gfVxuICAgICAgfVxuICAgICAgZWxzZSBpZiAoIXRoaXMuaXNNb2JpbGVWaWV3KSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VMaXN0Q29uZmlndXJhdGlvbi5tZXNzYWdlSW5mb3JtYXRpb25Db25maWd1cmF0aW9uLm1lc3NhZ2VJbmZvcm1hdGlvblN0eWxlLmhlaWdodCA9IFwiNTAwcHhcIlxuICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlTGlzdENvbmZpZ3VyYXRpb24ubWVzc2FnZUluZm9ybWF0aW9uQ29uZmlndXJhdGlvbi5tZXNzYWdlSW5mb3JtYXRpb25TdHlsZS53aWR0aCA9IFwiNTAwcHhcIlxuICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvbi5oaWRlQmFja0J1dHRvbiA9IHRydWU7XG4gICAgICAgIGlmICghdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uZGV0YWlsc1N0eWxlLnBhZGRpbmcpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvbi5kZXRhaWxzU3R5bGUucGFkZGluZyA9IFwiMCAxMDBweFwiXG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvbi5hZGRNZW1iZXJzQ29uZmlndXJhdGlvbi5hZGRNZW1iZXJzU3R5bGUucGFkZGluZykge1xuICAgICAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLmRldGFpbHNDb25maWd1cmF0aW9uLmFkZE1lbWJlcnNDb25maWd1cmF0aW9uLmFkZE1lbWJlcnNTdHlsZS5wYWRkaW5nID0gXCIwIDEwMHB4XCJcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLmRldGFpbHNDb25maWd1cmF0aW9uLmJhbm5lZE1lbWJlcnNDb25maWd1cmF0aW9uLmJhbm5lZE1lbWJlcnNTdHlsZS5wYWRkaW5nKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uYmFubmVkTWVtYmVyc0NvbmZpZ3VyYXRpb24uYmFubmVkTWVtYmVyc1N0eWxlLnBhZGRpbmcgPSBcIjAgMTAwcHhcIlxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uYmFubmVkTWVtYmVyc0NvbmZpZ3VyYXRpb24uYmFubmVkTWVtYmVyc1N0eWxlLnBhZGRpbmcpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvbi5iYW5uZWRNZW1iZXJzQ29uZmlndXJhdGlvbi5iYW5uZWRNZW1iZXJzU3R5bGUucGFkZGluZyA9IFwiMCAxMDBweFwiXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5TdGFydENvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24uY29udGFjdHNTdHlsZS5wYWRkaW5nID0gXCIwIDEwMHB4XCI7XG4gICAgICAgIHRoaXMuU3RhcnRDb252ZXJzYXRpb25Db25maWd1cmF0aW9uID0geyAuLi50aGlzLlN0YXJ0Q29udmVyc2F0aW9uQ29uZmlndXJhdGlvbiB9XG4gICAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VIZWFkZXJDb25maWd1cmF0aW9uID0geyAuLi50aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvbiB9XG4gICAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uID0geyAuLi50aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbiB9XG5cbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUJhY2tkcm9wSGVpZ2h0KClcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICAgIGlmICgoY2hhbmdlc1tcInVzZXJcIl0gJiYgY2hhbmdlc1tcInVzZXJcIl0/LmN1cnJlbnRWYWx1ZSkgfHwgKGNoYW5nZXNbXCJncm91cFwiXSAmJiBjaGFuZ2VzW1wiZ3JvdXBcIl0/LmN1cnJlbnRWYWx1ZSkpIHtcbiAgICAgIHRoaXMuc2V0QWN0aXZlQ2hhdCgpO1xuICAgIH1cbiAgfVxuICB0cmlnZ2VyU3RhcnRDb252ZXJzYXRpb24oKSB7XG4gICAgdGhpcy5zaG93U3RhcnRDb252ZXJzYXRpb24gPSB0cnVlO1xuICB9XG4gIHJlbW92ZUNoYXRPbkdyb3VwQWN0aW9uKGxlZnRVc2VyOiBDb21ldENoYXQuVXNlciwgbWVzc2FnZTogQ29tZXRDaGF0LkFjdGlvbikge1xuICAgIGNvbnN0IGlzU2FtZVVzZXIgPSB0aGlzLmxvZ2dlZEluVXNlcj8uZ2V0VWlkKCkgPT09IGxlZnRVc2VyLmdldFVpZCgpO1xuICAgIGNvbnN0IGFjdGlvbkZvckdyb3VwID0gbWVzc2FnZS5nZXRBY3Rpb25Gb3IoKSBpbnN0YW5jZW9mIENvbWV0Q2hhdC5Hcm91cDtcblxuICAgIGlmIChpc1NhbWVVc2VyICYmIHRoaXMuYWN0aXZlQ29udmVyc2F0aW9uICYmIHRoaXMuYWN0aXZlQ29udmVyc2F0aW9uLmdldENvbnZlcnNhdGlvbldpdGgoKSBpbnN0YW5jZW9mIENvbWV0Q2hhdC5Hcm91cCkge1xuICAgICAgbGV0IGdyb3VwID0gdGhpcy5hY3RpdmVDb252ZXJzYXRpb24uZ2V0Q29udmVyc2F0aW9uV2l0aCgpIGFzIENvbWV0Q2hhdC5Hcm91cDtcblxuICAgICAgaWYgKGFjdGlvbkZvckdyb3VwKSB7XG4gICAgICAgIGxldCBhY3Rpb25Pbkdyb3VwID0gbWVzc2FnZS5nZXRBY3Rpb25Gb3IoKSBhcyBDb21ldENoYXQuR3JvdXA7XG5cbiAgICAgICAgaWYgKGFjdGlvbk9uR3JvdXAuZ2V0R3VpZCgpID09PSBncm91cC5nZXRHdWlkKCkpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZUNvbnZlcnNhdGlvbiA9IG51bGw7XG4gICAgICAgICAgdGhpcy51c2VyID0gbnVsbDtcbiAgICAgICAgICB0aGlzLmdyb3VwID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYXR0YWNoR3JvdXBMaXN0ZW5lcnMoKSB7XG4gICAgQ29tZXRDaGF0LmFkZEdyb3VwTGlzdGVuZXIoXG4gICAgICB0aGlzLmdyb3VwTGlzdGVuZXJJZCxcbiAgICAgIG5ldyBDb21ldENoYXQuR3JvdXBMaXN0ZW5lcih7XG4gICAgICAgIG9uR3JvdXBNZW1iZXJLaWNrZWQ6IChcbiAgICAgICAgICBtZXNzYWdlOiBhbnksXG4gICAgICAgICAga2lja2VkVXNlcjogYW55LFxuICAgICAgICAgIGtpY2tlZEJ5OiBhbnksXG4gICAgICAgICAga2lja2VkRnJvbTogYW55XG4gICAgICAgICkgPT4ge1xuICAgICAgICAgIHRoaXMucmVtb3ZlQ2hhdE9uR3JvdXBBY3Rpb24oa2lja2VkVXNlciwgbWVzc2FnZSlcblxuICAgICAgICB9LFxuICAgICAgICBvbkdyb3VwTWVtYmVyQmFubmVkOiAoXG4gICAgICAgICAgbWVzc2FnZTogYW55LFxuICAgICAgICAgIGJhbm5lZFVzZXI6IGFueSxcbiAgICAgICAgICBiYW5uZWRCeTogYW55LFxuICAgICAgICAgIGJhbm5lZEZyb206IGFueVxuICAgICAgICApID0+IHtcbiAgICAgICAgICB0aGlzLnJlbW92ZUNoYXRPbkdyb3VwQWN0aW9uKGJhbm5lZFVzZXIsIG1lc3NhZ2UpXG5cbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuICBvbkJhY2sgPSAoKSA9PiB7XG4gICAgdGhpcy51c2VyID0gbnVsbFxuICAgIHRoaXMuZ3JvdXAgPSBudWxsXG4gICAgdGhpcy5hY3RpdmVDb252ZXJzYXRpb24gPSBudWxsXG4gIH1cbiAgc2V0V2l0aE1lc3NhZ2VzU3R5bGUoKSB7XG4gICAgbGV0IGRlZmF1bHRTdHlsZTogV2l0aE1lc3NhZ2VzU3R5bGUgPSBuZXcgV2l0aE1lc3NhZ2VzU3R5bGUoe1xuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgIGJhY2tncm91bmQ6IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QmFja2dyb3VuZCgpLFxuICAgICAgYm9yZGVyUmFkaXVzOiBcIm5vbmVcIixcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke3RoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50MjAwKCl9YCxcbiAgICAgIG1lc3NhZ2VUZXh0Q29sb3I6IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50NjAwKCksXG4gICAgICBtZXNzYWdlVGV4dEZvbnQ6IGZvbnRIZWxwZXIodGhpcy50aGVtZVNlcnZpY2UudGhlbWUudHlwb2dyYXBoeS50aXRsZTEpLFxuICAgIH0pXG4gICAgdGhpcy5jb252ZXJzYXRpb25zV2l0aE1lc3NhZ2VzU3R5bGUgPSB7XG4gICAgICAuLi5kZWZhdWx0U3R5bGUsXG4gICAgICAuLi50aGlzLmNvbnZlcnNhdGlvbnNXaXRoTWVzc2FnZXNTdHlsZVxuICAgIH1cbiAgICB0aGlzLmxhYmVsU3R5bGUudGV4dEZvbnQgPSB0aGlzLmNvbnZlcnNhdGlvbnNXaXRoTWVzc2FnZXNTdHlsZS5tZXNzYWdlVGV4dEZvbnRcbiAgICB0aGlzLmxhYmVsU3R5bGUudGV4dENvbG9yID0gdGhpcy5jb252ZXJzYXRpb25zV2l0aE1lc3NhZ2VzU3R5bGUubWVzc2FnZVRleHRDb2xvclxuICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VzU3R5bGUuYm9yZGVyID0gdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZXNTdHlsZS5ib3JkZXIgPz8gXCJub25lXCJcbiAgICB0aGlzLmNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24uY29udmVyc2F0aW9uc1N0eWxlLmJvcmRlciA9IHRoaXMuY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5jb252ZXJzYXRpb25zU3R5bGUuYm9yZGVyID8/IFwibm9uZVwiXG4gICAgaWYgKCF0aGlzLmNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24/LmNvbnZlcnNhdGlvbnNTdHlsZT8uYm9yZGVyIHx8IHRoaXMuY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbj8uY29udmVyc2F0aW9uc1N0eWxlPy5ib3JkZXIgPT0gXCJub25lXCIpIHtcbiAgICAgIHRoaXMuc2lkZUJhclN0eWxlID0geyBib3JkZXJSaWdodDogdGhpcy5jb252ZXJzYXRpb25zV2l0aE1lc3NhZ2VzU3R5bGUuYm9yZGVyIH1cblxuICAgIH1cbiAgfVxuICBvbkNvbnRhY3RDbGlja2VkID0gKHVzZXI/OiBDb21ldENoYXQuVXNlciwgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXApID0+IHtcbiAgICB0aGlzLnNob3dTdGFydENvbnZlcnNhdGlvbiA9IGZhbHNlO1xuICAgIGlmICh1c2VyKSB7XG4gICAgICB0aGlzLmdyb3VwID0gbnVsbFxuICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgaWYgKGdyb3VwKSB7XG4gICAgICB0aGlzLnVzZXIgPSBudWxsXG4gICAgICB0aGlzLmdyb3VwID0gZ3JvdXA7XG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBvbkl0ZW1DbGljazogKChjb252ZXJzYXRpb246IENvbWV0Q2hhdC5Db252ZXJzYXRpb24pID0+IHZvaWQpID0gKGNvbnZlcnNhdGlvbjogQ29tZXRDaGF0LkNvbnZlcnNhdGlvbikgPT4ge1xuICAgIHRoaXMuYWN0aXZlQ29udmVyc2F0aW9uID0gY29udmVyc2F0aW9uXG4gICAgdGhpcy5zaG93U3RhcnRDb252ZXJzYXRpb24gPSBmYWxzZTtcbiAgICBpZiAoY29udmVyc2F0aW9uLmdldENvbnZlcnNhdGlvblR5cGUoKSAmJiBjb252ZXJzYXRpb24uZ2V0Q29udmVyc2F0aW9uVHlwZSgpID09IENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VSZWNlaXZlclR5cGUudXNlcikge1xuICAgICAgdGhpcy5ncm91cCA9IG51bGxcbiAgICAgIHRoaXMudXNlciA9IGNvbnZlcnNhdGlvbi5nZXRDb252ZXJzYXRpb25XaXRoKCkgYXMgQ29tZXRDaGF0LlVzZXI7XG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gICAgZWxzZSBpZiAoY29udmVyc2F0aW9uLmdldENvbnZlcnNhdGlvblR5cGUoKSAmJiBjb252ZXJzYXRpb24uZ2V0Q29udmVyc2F0aW9uVHlwZSgpID09IENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VSZWNlaXZlclR5cGUuZ3JvdXApIHtcbiAgICAgIHRoaXMudXNlciA9IG51bGxcbiAgICAgIHRoaXMuZ3JvdXAgPSBjb252ZXJzYXRpb24uZ2V0Q29udmVyc2F0aW9uV2l0aCgpIGFzIENvbWV0Q2hhdC5Hcm91cFxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICB9O1xuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy51cGRhdGVCYWNrZHJvcEhlaWdodCgpXG4gIH1cbiAgdXBkYXRlQmFja2Ryb3BIZWlnaHQoKSB7XG4gICAgbGV0IGRpdkhlaWdodCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICBsZXQgZGl2V2lkdGggPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICBpZiAoZGl2SGVpZ2h0ID09PSAwIHx8IGRpdldpZHRoID09PSAwKSB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBkaXZIZWlnaHQgPSByZWN0LmhlaWdodDtcbiAgICAgIGRpdldpZHRoID0gcmVjdC53aWR0aDtcbiAgICB9XG4gICAgbGV0IGJhY2tkcm9wU3R5bGUgPSB7XG4gICAgICBoZWlnaHQ6IGRpdkhlaWdodCArIFwicHhcIixcbiAgICAgIHdpZHRoOiBkaXZXaWR0aCArIFwicHhcIixcbiAgICAgIGJhY2tncm91bmQ6IFwicmdiYSgwLCAwLCAwLCAwLjUpXCIsXG4gICAgICBwb3NpdGlvbjogXCJmaXhlZFwiXG4gICAgfVxuICAgIGlmICh0aGlzLmlzTW9iaWxlVmlldykge1xuICAgICAgdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24udHJhbnNmZXJPd25lcnNoaXBDb25maWd1cmF0aW9uLnRyYW5zZmVyT3duZXJzaGlwU3R5bGUuaGVpZ2h0ID0gKGRpdkhlaWdodCAtIDMwKSArIFwicHhcIjtcbiAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLmRldGFpbHNDb25maWd1cmF0aW9uLnRyYW5zZmVyT3duZXJzaGlwQ29uZmlndXJhdGlvbi50cmFuc2Zlck93bmVyc2hpcFN0eWxlLndpZHRoID0gZGl2V2lkdGggKyBcInB4XCI7XG4gICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlTGlzdENvbmZpZ3VyYXRpb24ubWVzc2FnZUluZm9ybWF0aW9uQ29uZmlndXJhdGlvbi5tZXNzYWdlSW5mb3JtYXRpb25TdHlsZS5oZWlnaHQgPSBkaXZIZWlnaHQgKyBcInB4XCI7XG4gICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlTGlzdENvbmZpZ3VyYXRpb24ubWVzc2FnZUluZm9ybWF0aW9uQ29uZmlndXJhdGlvbi5tZXNzYWdlSW5mb3JtYXRpb25TdHlsZS53aWR0aCA9IGRpdldpZHRoICsgXCJweFwiO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLmRldGFpbHNDb25maWd1cmF0aW9uLnRyYW5zZmVyT3duZXJzaGlwQ29uZmlndXJhdGlvbi50cmFuc2Zlck93bmVyc2hpcFN0eWxlLmhlaWdodCA9IFwiNjUwcHhcIjtcbiAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLmRldGFpbHNDb25maWd1cmF0aW9uLnRyYW5zZmVyT3duZXJzaGlwQ29uZmlndXJhdGlvbi50cmFuc2Zlck93bmVyc2hpcFN0eWxlLndpZHRoID0gXCIzNjBweFwiO1xuICAgIH1cbiAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlTGlzdENvbmZpZ3VyYXRpb24uYmFja2Ryb3BTdHlsZSA9IHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VMaXN0Q29uZmlndXJhdGlvbi5iYWNrZHJvcFN0eWxlIHx8IGJhY2tkcm9wU3R5bGU7XG4gICAgdGhpcy5jb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmJhY2tkcm9wU3R5bGUgPSB0aGlzLmNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24uYmFja2Ryb3BTdHlsZSB8fCBiYWNrZHJvcFN0eWxlO1xuICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLmRldGFpbHNDb25maWd1cmF0aW9uLmJhY2tkcm9wU3R5bGUgPSB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvbi5iYWNrZHJvcFN0eWxlIHx8IGJhY2tkcm9wU3R5bGU7XG4gICAgdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUNvbXBvc2VyQ29uZmlndXJhdGlvbi5iYWNrZHJvcFN0eWxlID0gdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUNvbXBvc2VyQ29uZmlndXJhdGlvbi5iYWNrZHJvcFN0eWxlIHx8IGJhY2tkcm9wU3R5bGU7XG4gICAgdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uYmFja2Ryb3BTdHlsZSA9dGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uYmFja2Ryb3BTdHlsZSB8fCBiYWNrZHJvcFN0eWxlO1xuICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLmRldGFpbHNDb25maWd1cmF0aW9uLmdyb3VwTWVtYmVyc0NvbmZpZ3VyYXRpb24uYmFja2Ryb3BTdHlsZSA9IHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLmRldGFpbHNDb25maWd1cmF0aW9uLmdyb3VwTWVtYmVyc0NvbmZpZ3VyYXRpb24uYmFja2Ryb3BTdHlsZSB8fCBiYWNrZHJvcFN0eWxlO1xuXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cbiAgc2V0QWN0aXZlQ2hhdCgpIHtcbiAgICBsZXQgdHlwZTogc3RyaW5nID0gdGhpcy51c2VyID8gQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZVJlY2VpdmVyVHlwZS51c2VyIDogQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZVJlY2VpdmVyVHlwZS5ncm91cFxuICAgIHRoaXMuYWN0aXZlQ29udmVyc2F0aW9uID0gbnVsbFxuICAgIGxldCBjb252ZXJzYXRpb25XaXRoOiBzdHJpbmcgPSB0aGlzLnVzZXI/LmdldFVpZCgpISB8fCB0aGlzLmdyb3VwPy5nZXRHdWlkKCkhXG4gICAgQ29tZXRDaGF0LmdldENvbnZlcnNhdGlvbihjb252ZXJzYXRpb25XaXRoLCB0eXBlKS50aGVuKChjb252ZXJzYXRpb246IENvbWV0Q2hhdC5Db252ZXJzYXRpb24pID0+IHtcbiAgICAgIHRoaXMuYWN0aXZlQ29udmVyc2F0aW9uID0gY29udmVyc2F0aW9uXG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcjogQ29tZXRDaGF0LkNvbWV0Q2hhdEV4Y2VwdGlvbikgPT4ge1xuICAgICAgICBpZiAodGhpcy5vbkVycm9yKSB7XG4gICAgICAgICAgdGhpcy5vbkVycm9yKGVycm9yKVxuICAgICAgICB9XG4gICAgICB9KVxuICB9XG4gIGNsb3NlU3RhcnRDb252ZXJzYXRpb24gPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuU3RhcnRDb252ZXJzYXRpb25Db25maWd1cmF0aW9uLm9uQ2xvc2UpIHtcbiAgICAgIHRoaXMuU3RhcnRDb252ZXJzYXRpb25Db25maWd1cmF0aW9uLm9uQ2xvc2UoKVxuICAgIH1cbiAgICB0aGlzLnNob3dTdGFydENvbnZlcnNhdGlvbiA9IGZhbHNlO1xuICB9XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuU3RhcnRDb252ZXJzYXRpb25Db25maWd1cmF0aW9uLnVzZXJzQ29uZmlndXJhdGlvbi51c2Vyc1N0eWxlLmJvcmRlciA9IFwibm9uZVwiXG4gICAgdGhpcy5TdGFydENvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24uZ3JvdXBzQ29uZmlndXJhdGlvbi5ncm91cHNTdHlsZS5ib3JkZXIgPSBcIm5vbmVcIlxuXG4gICAgdGhpcy5zdGFydENvbnZlcnNhdGlvbkJ1dHRvblN0eWxlID0ge1xuICAgICAgaGVpZ2h0OiBcIjI0cHhcIixcbiAgICAgIHdpZHRoOiBcIjI0cHhcIixcbiAgICAgIGJvcmRlcjogXCJub25lXCIsXG4gICAgICBib3JkZXJSYWRpdXM6ICcwJyxcbiAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgIGJ1dHRvbkljb25UaW50OiB0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldFByaW1hcnkoKVxuICAgIH1cbiAgICB0aGlzLlN0YXJ0Q29udmVyc2F0aW9uQ29uZmlndXJhdGlvbiA9IHsgLi4udGhpcy5TdGFydENvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24gfVxuICAgIHRoaXMuc2V0V2l0aE1lc3NhZ2VzU3R5bGUoKVxuICAgIGlmICghdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUhlYWRlckNvbmZpZ3VyYXRpb24ub25CYWNrKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvbi5vbkJhY2sgPSB0aGlzLm9uQmFja1xuICAgIH1cbiAgICBDb21ldENoYXQuZ2V0TG9nZ2VkaW5Vc2VyKClcbiAgICAgIC50aGVuKCh1c2VyOiBDb21ldENoYXQuVXNlciB8IG51bGwpID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZWRJblVzZXIgPSB1c2VyO1xuICAgICAgICB0aGlzLmF0dGFjaEdyb3VwTGlzdGVuZXJzKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9FdmVudHMoKTtcblxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IENvbWV0Q2hhdC5Db21ldENoYXRFeGNlcHRpb24pID0+IHtcbiAgICAgICAgaWYgKHRoaXMub25FcnJvcikge1xuICAgICAgICAgIHRoaXMub25FcnJvcihlcnJvcilcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlVG9FdmVudHMoKTtcbiAgICBDb21ldENoYXQucmVtb3ZlR3JvdXBMaXN0ZW5lcih0aGlzLmdyb3VwTGlzdGVuZXJJZCk7XG4gIH1cbiAgLy8gc3Vic2NyaWJlIHRvIGdsb2JhbCBldmVudHNcbiAgc3Vic2NyaWJlVG9FdmVudHMoKSB7XG4gICAgdGhpcy5jY0NvbnZlcnNhdGlvbkRlbGV0ZWQgPSBDb21ldENoYXRDb252ZXJzYXRpb25FdmVudHMuY2NDb252ZXJzYXRpb25EZWxldGVkLnN1YnNjcmliZSgoY29udmVyc2F0aW9uOiBDb21ldENoYXQuQ29udmVyc2F0aW9uKSA9PiB7XG4gICAgICB0aGlzLnJlbW92ZUFjdGl2ZUNoYXRMaXN0KGNvbnZlcnNhdGlvbikgLy90byBtYWtlIG0gbWVzc2FnZXMgc2VjdGlvbiBlbXB0eSBhZnRlciBkZWxldGluZyBjb252ZXJzYXRpb24gZnJvbSBjb252ZXJzYXRpb25saXN0XG4gICAgfSlcbiAgICB0aGlzLmNjR3JvdXBEZWxldGVkID0gQ29tZXRDaGF0R3JvdXBFdmVudHMuY2NHcm91cERlbGV0ZWQuc3Vic2NyaWJlKChncm91cDogQ29tZXRDaGF0Lkdyb3VwKSA9PiB7XG4gICAgICBpZiAodGhpcy5ncm91cCAmJiBncm91cC5nZXRHdWlkKCkgPT0gdGhpcy5ncm91cC5nZXRHdWlkKCkpIHtcbiAgICAgICAgdGhpcy5ncm91cCA9IG51bGw7XG4gICAgICAgIHRoaXMuYWN0aXZlQ29udmVyc2F0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICB9XG4gICAgfSlcbiAgICB0aGlzLmNjR3JvdXBNZW1iZXJBZGRlZCA9IENvbWV0Q2hhdEdyb3VwRXZlbnRzLmNjR3JvdXBNZW1iZXJBZGRlZC5zdWJzY3JpYmUoKGl0ZW06IElHcm91cE1lbWJlckFkZGVkKSA9PiB7XG4gICAgICBpZiAodGhpcy5ncm91cCAmJiB0aGlzLmdyb3VwLmdldEd1aWQoKSA9PSBpdGVtPy51c2VyQWRkZWRJbiEuZ2V0R3VpZCgpKSB7XG4gICAgICAgIHRoaXMuZ3JvdXAgPSBpdGVtPy51c2VyQWRkZWRJbjtcbiAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICB9XG4gICAgfSlcbiAgICB0aGlzLmNjR3JvdXBNZW1iZXJCYW5uZWQgPSBDb21ldENoYXRHcm91cEV2ZW50cy5jY0dyb3VwTWVtYmVyQmFubmVkLnN1YnNjcmliZSgoaXRlbTogSUdyb3VwTWVtYmVyS2lja2VkQmFubmVkKSA9PiB7XG4gICAgICBpZiAodGhpcy5ncm91cCAmJiB0aGlzLmdyb3VwLmdldEd1aWQoKSA9PSBpdGVtPy5raWNrZWRGcm9tIS5nZXRHdWlkKCkpIHtcbiAgICAgICAgdGhpcy5ncm91cCA9IGl0ZW0/LmtpY2tlZEZyb207XG4gICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy5jY0dyb3VwTWVtYmVySm9pbmVkID0gQ29tZXRDaGF0R3JvdXBFdmVudHMuY2NHcm91cE1lbWJlckpvaW5lZC5zdWJzY3JpYmUoKGl0ZW06IElHcm91cE1lbWJlckpvaW5lZCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZ3JvdXAgJiYgdGhpcy5ncm91cC5nZXRHdWlkKCkgPT0gaXRlbT8uam9pbmVkR3JvdXAhLmdldEd1aWQoKSkge1xuICAgICAgICB0aGlzLmdyb3VwID0gaXRlbT8uam9pbmVkR3JvdXA7XG4gICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy5jY0dyb3VwTWVtYmVyS2lja2VkID0gQ29tZXRDaGF0R3JvdXBFdmVudHMuY2NHcm91cE1lbWJlcktpY2tlZC5zdWJzY3JpYmUoKGl0ZW06IElHcm91cE1lbWJlcktpY2tlZEJhbm5lZCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZ3JvdXAgJiYgdGhpcy5ncm91cC5nZXRHdWlkKCkgPT0gaXRlbT8ua2lja2VkRnJvbSEuZ2V0R3VpZCgpKSB7XG4gICAgICAgIHRoaXMuZ3JvdXAgPSBpdGVtPy5raWNrZWRGcm9tO1xuICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICAgIH1cbiAgICB9KVxuICAgIHRoaXMuY2NPd25lcnNoaXBDaGFuZ2VkID0gQ29tZXRDaGF0R3JvdXBFdmVudHMuY2NPd25lcnNoaXBDaGFuZ2VkLnN1YnNjcmliZSgoaXRlbTogSU93bmVyc2hpcENoYW5nZWQpID0+IHtcbiAgICAgIGlmICh0aGlzLmdyb3VwICYmIHRoaXMuZ3JvdXAuZ2V0R3VpZCgpID09IGl0ZW0/Lmdyb3VwIS5nZXRHdWlkKCkpIHtcbiAgICAgICAgdGhpcy5ncm91cCA9IGl0ZW0/Lmdyb3VwO1xuICAgICAgICB0aGlzLmFjdGl2ZUNvbnZlcnNhdGlvbj8uc2V0Q29udmVyc2F0aW9uV2l0aCh0aGlzLmdyb3VwKVxuICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSlcbiAgICB0aGlzLmNjR3JvdXBMZWZ0ID0gQ29tZXRDaGF0R3JvdXBFdmVudHMuY2NHcm91cExlZnQuc3Vic2NyaWJlKChpdGVtOiBJR3JvdXBMZWZ0KSA9PiB7XG4gICAgICBpZiAodGhpcy5ncm91cCAmJiB0aGlzLmdyb3VwLmdldEd1aWQoKSA9PSBpdGVtPy5sZWZ0R3JvdXAhLmdldEd1aWQoKSAmJiB0aGlzLmxvZ2dlZEluVXNlcj8uZ2V0VWlkKCkgPT0gaXRlbT8udXNlckxlZnQ/LmdldFVpZCgpKSB7XG4gICAgICAgIHRoaXMuZ3JvdXAgPSBudWxsO1xuICAgICAgICB0aGlzLmFjdGl2ZUNvbnZlcnNhdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgfVxuICAgIH0pXG4gICAgLy8gb3BlbiBjaGF0IGFuZCBtYXJrIGFzIGFjdGl2ZSBjb252ZXJzYXRpb25cbiAgICB0aGlzLmNjT3BlbkNoYXQgPSBDb21ldENoYXRVSUV2ZW50cy5jY09wZW5DaGF0LnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy51c2VyID0gaXRlbS51c2VyID8gaXRlbS51c2VyIDogbnVsbDtcbiAgICAgIHRoaXMuZ3JvdXAgPSBpdGVtLmdyb3VwID8gaXRlbS5ncm91cCA6IG51bGw7XG4gICAgICB0aGlzLnNldEFjdGl2ZUNoYXQoKVxuICAgIH0pXG4gIH1cbiAgLy8gdW5zdWJzY3JpYmUgdG8gc3Vic2NyaWJlZCBldmVudHMuXG4gIHVuc3Vic2NyaWJlVG9FdmVudHMoKSB7XG4gICAgdGhpcy5jY0NvbnZlcnNhdGlvbkRlbGV0ZWQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jY0dyb3VwRGVsZXRlZD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNjR3JvdXBNZW1iZXJBZGRlZD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNjR3JvdXBNZW1iZXJCYW5uZWQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jY0dyb3VwTWVtYmVySm9pbmVkPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY2NHcm91cE1lbWJlcktpY2tlZD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNjT3duZXJzaGlwQ2hhbmdlZD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNjR3JvdXBMZWZ0Py51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY2NPcGVuQ2hhdD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuICAvKipcbiAgICogcmVtb3ZlIGFjdGl2ZSBjaGF0IHNjcmVlbiBhZnRlciBkZWxldGluZyB0aGUgY29udmVyc2F0aW9uLlxuICAgKiBAcGFyYW0gIHtDb21ldENoYXQuQ29udmVyc2F0aW9ufSBjb252ZXJzYXRpb25cbiAgICovXG4gIHJlbW92ZUFjdGl2ZUNoYXRMaXN0KGNvbnZlcnNhdGlvbjogQ29tZXRDaGF0LkNvbnZlcnNhdGlvbikge1xuICAgIGNvbnN0IGNvbnZlcnNhdGlvblR5cGUgPSBjb252ZXJzYXRpb24uZ2V0Q29udmVyc2F0aW9uVHlwZSgpO1xuICAgIGNvbnN0IGNvbnZlcnNhdGlvbldpdGggPSBjb252ZXJzYXRpb24uZ2V0Q29udmVyc2F0aW9uV2l0aCgpO1xuICAgIGlmIChjb252ZXJzYXRpb25UeXBlID09PSBDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlUmVjZWl2ZXJUeXBlLnVzZXIgJiYgdGhpcy51c2VyICYmIHRoaXMudXNlci5nZXRVaWQoKSA9PT0gKGNvbnZlcnNhdGlvbldpdGggYXMgQ29tZXRDaGF0LlVzZXIpLmdldFVpZCgpKSB7XG4gICAgICB0aGlzLnVzZXIgPSBudWxsO1xuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSBpZiAoY29udmVyc2F0aW9uVHlwZSA9PT0gQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZVJlY2VpdmVyVHlwZS5ncm91cCAmJiB0aGlzLmdyb3VwICYmIHRoaXMuZ3JvdXAuZ2V0R3VpZCgpID09PSAoY29udmVyc2F0aW9uV2l0aCBhcyBDb21ldENoYXQuR3JvdXApLmdldEd1aWQoKSkge1xuICAgICAgdGhpcy5ncm91cCA9IG51bGw7XG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbiAgZW1wdHlNZXNzYWdlU3R5bGUgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJhY2tncm91bmQ6IHRoaXMuY29udmVyc2F0aW9uc1dpdGhNZXNzYWdlc1N0eWxlLmJhY2tncm91bmQgfHwgdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRCYWNrZ3JvdW5kKCksXG4gICAgICBoZWlnaHQ6IHRoaXMuY29udmVyc2F0aW9uc1dpdGhNZXNzYWdlc1N0eWxlLmhlaWdodCxcbiAgICAgIHdpZHRoOiBgY2FsYygke3RoaXMuY29udmVyc2F0aW9uc1dpdGhNZXNzYWdlc1N0eWxlLndpZHRofSAtIDI4MHB4KWAsXG4gICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGlzLmNvbnZlcnNhdGlvbnNXaXRoTWVzc2FnZXNTdHlsZS5ib3JkZXJSYWRpdXMsXG4gICAgfVxuICB9XG4gIGNoYXRzV3JhcHBlclN0eWxlcyA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVpZ2h0OiB0aGlzLmNvbnZlcnNhdGlvbnNXaXRoTWVzc2FnZXNTdHlsZS5oZWlnaHQsXG4gICAgICB3aWR0aDogdGhpcy5jb252ZXJzYXRpb25zV2l0aE1lc3NhZ2VzU3R5bGUud2lkdGgsXG4gICAgICBib3JkZXI6IHRoaXMuY29udmVyc2F0aW9uc1dpdGhNZXNzYWdlc1N0eWxlLmJvcmRlcixcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5jb252ZXJzYXRpb25zV2l0aE1lc3NhZ2VzU3R5bGUuYm9yZGVyUmFkaXVzLFxuICAgICAgYmFja2dyb3VuZDogdGhpcy5jb252ZXJzYXRpb25zV2l0aE1lc3NhZ2VzU3R5bGUuYmFja2dyb3VuZCB8fCB0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldEJhY2tncm91bmQoKSxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gICAgfVxuICB9XG4gIGNvbnRhY3RzV3JhcHBlclN0eWxlcyA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFja2dyb3VuZDogdGhpcy5TdGFydENvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24uY29udGFjdHNTdHlsZS5iYWNrZ3JvdW5kIHx8IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QmFja2dyb3VuZCgpLFxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNjLXdpdGgtbWVzc2FnZXNfX3dyYXBwZXJcIiBbbmdTdHlsZV09XCJjaGF0c1dyYXBwZXJTdHlsZXMoKVwiPlxuICA8ZGl2IGNsYXNzPVwiY2Mtd2l0aC1tZXNzYWdlc19fc2lkZWJhclwiIFtuZ0NsYXNzXT1cInttb2JpbGUgOiBpc01vYmlsZVZpZXd9XCJcbiAgICBbbmdTdHlsZV09XCJzaWRlQmFyU3R5bGVcIj5cbiAgICA8Y29tZXRjaGF0LWNvbnZlcnNhdGlvbnMgI2NvbnZlcnNhdGlvblJlZlxuICAgICAgW2FjdGl2ZUNvbnZlcnNhdGlvbl09XCJhY3RpdmVDb252ZXJzYXRpb25cIlxuICAgICAgW29uSXRlbUNsaWNrXT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24ub25JdGVtQ2xpY2sgfHwgb25JdGVtQ2xpY2tcIlxuICAgICAgW2NvbnZlcnNhdGlvbnNTdHlsZV09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmNvbnZlcnNhdGlvbnNTdHlsZVwiXG4gICAgICBbc3RhdHVzSW5kaWNhdG9yU3R5bGVdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbj8uc3RhdHVzSW5kaWNhdG9yU3R5bGVcIlxuICAgICAgW2F2YXRhclN0eWxlXT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24/LmF2YXRhclN0eWxlIVwiXG4gICAgICBbc3VidGl0bGVWaWV3XT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24uc3VidGl0bGVWaWV3XCJcbiAgICAgIFtvcHRpb25zXT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24ub3B0aW9uc1wiXG4gICAgICBbZGlzYWJsZVVzZXJzUHJlc2VuY2VdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5kaXNhYmxlVXNlcnNQcmVzZW5jZVwiXG4gICAgICBbZGlzYWJsZVJlY2VpcHRdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5kaXNhYmxlUmVjZWlwdFwiXG4gICAgICBbaGlkZVJlY2VpcHRdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5oaWRlUmVjZWlwdFwiXG4gICAgICBbZGlzYWJsZVR5cGluZ109XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmRpc2FibGVUeXBpbmdcIlxuICAgICAgW2RlbGl2ZXJlZEljb25dPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5kZWxpdmVyZWRJY29uXCJcbiAgICAgIFtyZWFkSWNvbl09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLnJlYWRJY29uXCJcbiAgICAgIFt3YWl0SWNvbl09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLndhaXRJY29uXCJcbiAgICAgIFtlcnJvckljb25dPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5lcnJvckljb25cIlxuICAgICAgW2RhdGVQYXR0ZXJuXT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24uZGF0ZVBhdHRlcm5cIlxuICAgICAgW3JlY2VpcHRTdHlsZV09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLnJlY2VpcHRTdHlsZVwiXG4gICAgICBbc2VudEljb25dPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5zZW50SWNvblwiXG4gICAgICBbcHJpdmF0ZUdyb3VwSWNvbl09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLnByaXZhdGVHcm91cEljb25cIlxuICAgICAgW3Byb3RlY3RlZEdyb3VwSWNvbl09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLnByb3RlY3RlZEdyb3VwSWNvblwiXG4gICAgICBbcGFzc3dvcmRHcm91cEljb25dPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5wYXNzd29yZEdyb3VwSWNvblwiXG4gICAgICBbY3VzdG9tU291bmRGb3JNZXNzYWdlc109XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmN1c3RvbVNvdW5kRm9yTWVzc2FnZXNcIlxuICAgICAgW2NvbnZlcnNhdGlvbnNSZXF1ZXN0QnVpbGRlcl09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmNvbnZlcnNhdGlvbnNSZXF1ZXN0QnVpbGRlclwiXG4gICAgICBbZW1wdHlTdGF0ZVZpZXddPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5lbXB0eVN0YXRlVmlld1wiXG4gICAgICBbb25TZWxlY3RdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5vblNlbGVjdFwiXG4gICAgICBbbG9hZGluZ0ljb25VUkxdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5sb2FkaW5nSWNvblVSTFwiXG4gICAgICBbZXJyb3JTdGF0ZVZpZXddPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5lcnJvclN0YXRlVmlld1wiXG4gICAgICBbbG9hZGluZ1N0YXRlVmlld109XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmxvYWRpbmdTdGF0ZVZpZXdcIlxuICAgICAgW3RpdGxlQWxpZ25tZW50XT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24udGl0bGVBbGlnbm1lbnRcIlxuICAgICAgW2xpc3RJdGVtVmlld109XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmxpc3RJdGVtVmlld1wiXG4gICAgICBbbWVudV09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLm1lbnUgfHwgc3RhcnRDb252ZXJzYXRpb25CdXR0b25cIlxuICAgICAgW2hpZGVTZXBhcmF0b3JdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5oaWRlU2VwYXJhdG9yXCJcbiAgICAgIFtoaWRlRXJyb3JdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5oaWRlRXJyb3JcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5zZWxlY3Rpb25Nb2RlXCJcbiAgICAgIFtkaXNhYmxlU291bmRGb3JNZXNzYWdlc109XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmRpc2FibGVTb3VuZEZvck1lc3NhZ2VzXCJcbiAgICAgIFtkZWxldGVDb252ZXJzYXRpb25EaWFsb2dTdHlsZV09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmRlbGV0ZUNvbnZlcnNhdGlvbkRpYWxvZ1N0eWxlXCJcbiAgICAgIFtiYWRnZVN0eWxlXT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24uYmFkZ2VTdHlsZVwiXG4gICAgICBbZGF0ZVN0eWxlXT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24uZGF0ZVN0eWxlXCJcbiAgICAgIFtsaXN0SXRlbVN0eWxlXT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24ubGlzdEl0ZW1TdHlsZVwiXG4gICAgICBbYmFja2Ryb3BTdHlsZV09XCJjb252ZXJzYXRpb25Db25maWd1cmF0aW9uLmJhY2tkcm9wU3R5bGVcIlxuICAgICAgW3RleHRGb3JtYXR0ZXJzXT1cImNvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24/LnRleHRGb3JtYXR0ZXJzXCJcbiAgICAgIFtkaXNhYmxlTWVudGlvbnNdPVwiY29udmVyc2F0aW9uQ29uZmlndXJhdGlvbi5kaXNhYmxlTWVudGlvbnNcIj48L2NvbWV0Y2hhdC1jb252ZXJzYXRpb25zPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNjLXdpdGgtbWVzc2FnZXNfX21haW5cIiBbbmdDbGFzc109XCJ7bW9iaWxlIDogaXNNb2JpbGVWaWV3fVwiXG4gICAgKm5nSWY9XCIhc2hvd1N0YXJ0Q29udmVyc2F0aW9uICYmICh1c2VyIHx8IGdyb3VwKVwiPlxuICAgIDwhLS1NZXNzYWdlIExpc3QgU2NyZWVuLS0+XG4gICAgPGNvbWV0Y2hhdC1tZXNzYWdlcyAjbWVzc2FnZXNSZWYgW3VzZXJdPVwidXNlciFcIiBbZ3JvdXBdPVwiZ3JvdXAhXCJcbiAgICAgIFttZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvbl09XCJtZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUhlYWRlckNvbmZpZ3VyYXRpb25cIlxuICAgICAgW21lc3NhZ2VMaXN0Q29uZmlndXJhdGlvbl09XCJtZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUxpc3RDb25maWd1cmF0aW9uXCJcbiAgICAgIFttZXNzYWdlQ29tcG9zZXJDb25maWd1cmF0aW9uXT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlQ29tcG9zZXJDb25maWd1cmF0aW9uXCJcbiAgICAgIFttZXNzYWdlc1N0eWxlXT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlc1N0eWxlXCJcbiAgICAgIFtjdXN0b21Tb3VuZEZvckluY29taW5nTWVzc2FnZXNdPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLmN1c3RvbVNvdW5kRm9ySW5jb21pbmdNZXNzYWdlc1wiXG4gICAgICBbY3VzdG9tU291bmRGb3JPdXRnb2luZ01lc3NhZ2VzXT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5jdXN0b21Tb3VuZEZvck91dGdvaW5nTWVzc2FnZXNcIlxuICAgICAgW2RldGFpbHNDb25maWd1cmF0aW9uXT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvblwiXG4gICAgICBbZGlzYWJsZVNvdW5kRm9yTWVzc2FnZXNdPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLmRpc2FibGVTb3VuZEZvck1lc3NhZ2VzXCJcbiAgICAgIFtkaXNhYmxlVHlwaW5nXT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kaXNhYmxlVHlwaW5nXCJcbiAgICAgIFtoaWRlTWVzc2FnZUNvbXBvc2VyXT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5oaWRlTWVzc2FnZUNvbXBvc2VyXCJcbiAgICAgIFtoaWRlTWVzc2FnZUhlYWRlcl09XCJtZXNzYWdlc0NvbmZpZ3VyYXRpb24uaGlkZU1lc3NhZ2VIZWFkZXJcIlxuICAgICAgW21lc3NhZ2VDb21wb3NlclZpZXddPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VDb21wb3NlclZpZXdcIlxuICAgICAgW21lc3NhZ2VIZWFkZXJWaWV3XT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyVmlld1wiXG4gICAgICBbbWVzc2FnZUxpc3RWaWV3XT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlTGlzdFZpZXdcIlxuICAgICAgW2hpZGVEZXRhaWxzXT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5oaWRlRGV0YWlscyFcIlxuICAgICAgW3RocmVhZGVkTWVzc2FnZUNvbmZpZ3VyYXRpb25dPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLnRocmVhZGVkTWVzc2FnZUNvbmZpZ3VyYXRpb25cIj5cbiAgICA8L2NvbWV0Y2hhdC1tZXNzYWdlcz5cbiAgICA8IS0tTWVzc2FnZSBMaXN0IFNjcmVlbiBFTkRTLS0+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY2Mtd2l0aC1tZXNzYWdlc19fc3RhcnQtY29udmVyc2F0aW9uXCJcbiAgICBbbmdTdHlsZV09XCJjb250YWN0c1dyYXBwZXJTdHlsZXMoKVwiXG4gICAgW25nQ2xhc3NdPVwie21vYmlsZSA6IGlzTW9iaWxlVmlld31cIiAqbmdJZj1cInNob3dTdGFydENvbnZlcnNhdGlvblwiPlxuXG4gICAgPGNvbWV0Y2hhdC1jb250YWN0cyBbb25JdGVtQ2xpY2tdPVwib25Db250YWN0Q2xpY2tlZFwiXG4gICAgICBbdXNlcnNDb25maWd1cmF0aW9uXT1cIlN0YXJ0Q29udmVyc2F0aW9uQ29uZmlndXJhdGlvbj8udXNlcnNDb25maWd1cmF0aW9uIVwiXG4gICAgICBbZ3JvdXBzQ29uZmlndXJhdGlvbl09XCJTdGFydENvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24/Lmdyb3Vwc0NvbmZpZ3VyYXRpb24hXCJcbiAgICAgIFtjbG9zZUljb25VUkxdPVwiU3RhcnRDb252ZXJzYXRpb25Db25maWd1cmF0aW9uPy5jbG9zZUljb25VUkwhXCJcbiAgICAgIFtjb250YWN0c1N0eWxlXT1cIlN0YXJ0Q29udmVyc2F0aW9uQ29uZmlndXJhdGlvbj8uY29udGFjdHNTdHlsZSFcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiU3RhcnRDb252ZXJzYXRpb25Db25maWd1cmF0aW9uPy5zZWxlY3Rpb25Nb2RlIVwiXG4gICAgICBbb25DbG9zZV09XCJjbG9zZVN0YXJ0Q29udmVyc2F0aW9uXCJcbiAgICAgIFt0YWJWaXNpYmlsaXR5XT1cIlN0YXJ0Q29udmVyc2F0aW9uQ29uZmlndXJhdGlvbj8udGFiVmlzaWJpbGl0eSFcIlxuICAgICAgW3NlbGVjdGlvbkxpbWl0XT1cIlN0YXJ0Q29udmVyc2F0aW9uQ29uZmlndXJhdGlvbj8uc2VsZWN0aW9uTGltaXQhXCJcbiAgICAgIFt0YWJzXT1cIlN0YXJ0Q29udmVyc2F0aW9uQ29uZmlndXJhdGlvbj8udGFicyFcIlxuICAgICAgW29uU3VibWl0QnV0dG9uQ2xpY2tdPVwiU3RhcnRDb252ZXJzYXRpb25Db25maWd1cmF0aW9uPy5vblN1Ym1pdEJ1dHRvbkNsaWNrIVwiXG4gICAgICBbaGlkZVN1Ym1pdEJ1dHRvbl09XCJTdGFydENvbnZlcnNhdGlvbkNvbmZpZ3VyYXRpb24/LmhpZGVTdWJtaXRCdXR0b24hXCI+PC9jb21ldGNoYXQtY29udGFjdHM+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY2MtZGVjb3JhdG9yX19tZXNzYWdlLS1lbXB0eVwiXG4gICAgKm5nSWY9XCIhdXNlciAmJiAhZ3JvdXAgJiYgIXNob3dTdGFydENvbnZlcnNhdGlvblwiXG4gICAgW25nU3R5bGVdPVwiZW1wdHlNZXNzYWdlU3R5bGUoKVwiPlxuICAgIDxjb21ldGNoYXQtbGFiZWwgW3RleHRdPVwibWVzc2FnZVRleHRcIlxuICAgICAgW2xhYmVsU3R5bGVdPVwibGFiZWxTdHlsZVwiPjwvY29tZXRjaGF0LWxhYmVsPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNzdGFydENvbnZlcnNhdGlvbkJ1dHRvbj5cbiAgICA8Y29tZXRjaGF0LWJ1dHRvbiAqbmdJZj1cIiFoaWRlU3RhcnROZXdDb252ZXJzYXRpb25cIlxuICAgICAgW2ljb25VUkxdPVwic3RhcnROZXdDb252ZXJzYXRpb25JY29uVVJMXCJcbiAgICAgIFtidXR0b25TdHlsZV09XCJzdGFydENvbnZlcnNhdGlvbkJ1dHRvblN0eWxlXCJcbiAgICAgIChjYy1idXR0b24tY2xpY2tlZCk9XCJ0cmlnZ2VyU3RhcnRDb252ZXJzYXRpb24oKVwiPjwvY29tZXRjaGF0LWJ1dHRvbj5cblxuICA8L25nLXRlbXBsYXRlPlxuIl19
|