403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/js/im/v2/provider/service/chat/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/js/im/v2/provider/service/chat/dist/chat.bundle.js
/* eslint-disable */
this.BX = this.BX || {};
this.BX.Messenger = this.BX.Messenger || {};
this.BX.Messenger.v2 = this.BX.Messenger.v2 || {};
(function (exports,imopenlines_v2_lib_openlines,call_lib_callTokenManager,im_public,im_v2_provider_service_message,im_v2_lib_copilot,im_v2_lib_user,im_v2_lib_analytics,ui_uploader_core,im_v2_lib_roleManager,im_v2_lib_uuid,ui_vue3_vuex,rest_client,im_v2_lib_utils,im_v2_lib_notifier,im_v2_lib_layout,main_core,im_v2_application_core,im_v2_lib_logger,im_v2_const,im_v2_lib_rest,im_v2_lib_feature) {
	'use strict';

	var _store = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	var _updateModels = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateModels");
	class DeleteService {
	  constructor() {
	    Object.defineProperty(this, _updateModels, {
	      value: _updateModels2
	    });
	    Object.defineProperty(this, _store, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store)[_store] = im_v2_application_core.Core.getStore();
	  }
	  async deleteChat(dialogId) {
	    im_v2_lib_logger.Logger.warn(`ChatService: deleteChat, dialogId: ${dialogId}`);
	    const deleteResult = await im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatDelete, {
	      data: {
	        dialogId
	      }
	    }).catch(([error]) => {
	      console.error('ChatService: deleteChat error:', error);
	      im_v2_lib_notifier.Notifier.chat.onDeleteError();
	    });
	    await babelHelpers.classPrivateFieldLooseBase(this, _updateModels)[_updateModels](dialogId);
	    return deleteResult;
	  }
	  async deleteCollab(dialogId) {
	    im_v2_lib_logger.Logger.warn(`ChatService: deleteCollab, dialogId: ${dialogId}`);
	    try {
	      await im_v2_lib_rest.runAction(im_v2_const.RestMethod.socialnetworkCollabDelete, {
	        data: {
	          dialogId
	        }
	      });
	      await babelHelpers.classPrivateFieldLooseBase(this, _updateModels)[_updateModels](dialogId);
	      return Promise.resolve();
	    } catch (errors) {
	      const [firstError] = errors;
	      console.error('ChatService: deleteCollab error:', firstError);
	      im_v2_lib_notifier.Notifier.collab.handleDeleteError(firstError);
	      return Promise.resolve();
	    }
	  }
	}
	function _updateModels2(dialogId) {
	  void babelHelpers.classPrivateFieldLooseBase(this, _store)[_store].dispatch('chats/update', {
	    dialogId,
	    fields: {
	      inited: false
	    }
	  });
	  void babelHelpers.classPrivateFieldLooseBase(this, _store)[_store].dispatch('recent/delete', {
	    id: dialogId
	  });
	  const chat = babelHelpers.classPrivateFieldLooseBase(this, _store)[_store].getters['chats/get'](dialogId, true);
	  void babelHelpers.classPrivateFieldLooseBase(this, _store)[_store].dispatch('messages/clearChatCollection', {
	    chatId: chat.chatId
	  });
	}

	var _restResult = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("restResult");
	class ChatDataExtractor {
	  constructor(restResult) {
	    Object.defineProperty(this, _restResult, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult] = restResult;
	  }
	  getChatId() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].chat.id;
	  }
	  getDialogId() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].chat.dialogId;
	  }
	  isOpenlinesChat() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].chat.type === im_v2_const.ChatType.lines;
	  }
	  isCopilotChat() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].chat.type === im_v2_const.ChatType.copilot;
	  }
	  isCollabChat() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].chat.type === im_v2_const.ChatType.collab;
	  }
	  getChats() {
	    const mainChat = {
	      ...babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].chat,
	      hasPrevPage: babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].hasPrevPage,
	      hasNextPage: babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].hasNextPage,
	      tariffRestrictions: babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].tariffRestrictions
	    };
	    const chats = {
	      [babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].chat.dialogId]: mainChat
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].users.forEach(user => {
	      if (chats[user.id]) {
	        chats[user.id] = {
	          ...chats[user.id],
	          ...im_v2_lib_user.UserManager.getDialogForUser(user)
	        };
	      } else {
	        chats[user.id] = im_v2_lib_user.UserManager.getDialogForUser(user);
	      }
	    });
	    return Object.values(chats);
	  }
	  getFiles() {
	    var _babelHelpers$classPr;
	    return (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].files) != null ? _babelHelpers$classPr : [];
	  }
	  getUsers() {
	    var _babelHelpers$classPr2;
	    return (_babelHelpers$classPr2 = babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].users) != null ? _babelHelpers$classPr2 : [];
	  }
	  getAdditionalUsers() {
	    var _babelHelpers$classPr3;
	    return (_babelHelpers$classPr3 = babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].usersShort) != null ? _babelHelpers$classPr3 : [];
	  }
	  getMessages() {
	    var _babelHelpers$classPr4;
	    return (_babelHelpers$classPr4 = babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].messages) != null ? _babelHelpers$classPr4 : [];
	  }
	  getCommentInfo() {
	    var _babelHelpers$classPr5;
	    return (_babelHelpers$classPr5 = babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].commentInfo) != null ? _babelHelpers$classPr5 : [];
	  }
	  getCollabInfo() {
	    var _babelHelpers$classPr6;
	    return (_babelHelpers$classPr6 = babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].collabInfo) != null ? _babelHelpers$classPr6 : null;
	  }
	  getMessagesToStore() {
	    var _babelHelpers$classPr7;
	    return (_babelHelpers$classPr7 = babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].additionalMessages) != null ? _babelHelpers$classPr7 : [];
	  }
	  getPinnedMessageIds() {
	    var _babelHelpers$classPr8;
	    const pinnedMessageIds = [];
	    const pins = (_babelHelpers$classPr8 = babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].pins) != null ? _babelHelpers$classPr8 : [];
	    pins.forEach(pin => {
	      pinnedMessageIds.push(pin.messageId);
	    });
	    return pinnedMessageIds;
	  }
	  getReactions() {
	    var _babelHelpers$classPr9;
	    return (_babelHelpers$classPr9 = babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].reactions) != null ? _babelHelpers$classPr9 : [];
	  }
	  getCopilot() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].copilot;
	  }
	  getSession() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].session;
	  }
	  getAutoDeleteConfig() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _restResult)[_restResult].messagesAutoDeleteConfigs;
	  }
	}

	var _store$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	var _requestChat = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("requestChat");
	var _markDialogAsLoading = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("markDialogAsLoading");
	var _markDialogAsLoaded = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("markDialogAsLoaded");
	var _markDialogAsNotLoaded = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("markDialogAsNotLoaded");
	var _isDialogLoadedMarkNeeded = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isDialogLoadedMarkNeeded");
	var _updateModels$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateModels");
	var _needLayoutRedirect = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("needLayoutRedirect");
	var _redirectToLayout = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("redirectToLayout");
	var _needRedirectToOpenLinesLayout = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("needRedirectToOpenLinesLayout");
	var _checkFeatureDisabled = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("checkFeatureDisabled");
	var _checkCollabFeatureDisabled = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("checkCollabFeatureDisabled");
	var _openFeatureSlider = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("openFeatureSlider");
	class LoadService {
	  constructor() {
	    Object.defineProperty(this, _openFeatureSlider, {
	      value: _openFeatureSlider2
	    });
	    Object.defineProperty(this, _checkCollabFeatureDisabled, {
	      value: _checkCollabFeatureDisabled2
	    });
	    Object.defineProperty(this, _checkFeatureDisabled, {
	      value: _checkFeatureDisabled2
	    });
	    Object.defineProperty(this, _needRedirectToOpenLinesLayout, {
	      value: _needRedirectToOpenLinesLayout2
	    });
	    Object.defineProperty(this, _redirectToLayout, {
	      value: _redirectToLayout2
	    });
	    Object.defineProperty(this, _needLayoutRedirect, {
	      value: _needLayoutRedirect2
	    });
	    Object.defineProperty(this, _updateModels$1, {
	      value: _updateModels2$1
	    });
	    Object.defineProperty(this, _isDialogLoadedMarkNeeded, {
	      value: _isDialogLoadedMarkNeeded2
	    });
	    Object.defineProperty(this, _markDialogAsNotLoaded, {
	      value: _markDialogAsNotLoaded2
	    });
	    Object.defineProperty(this, _markDialogAsLoaded, {
	      value: _markDialogAsLoaded2
	    });
	    Object.defineProperty(this, _markDialogAsLoading, {
	      value: _markDialogAsLoading2
	    });
	    Object.defineProperty(this, _requestChat, {
	      value: _requestChat2
	    });
	    Object.defineProperty(this, _store$1, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1] = im_v2_application_core.Core.getStore();
	  }
	  loadChat(dialogId) {
	    const params = {
	      dialogId
	    };
	    return babelHelpers.classPrivateFieldLooseBase(this, _requestChat)[_requestChat](im_v2_const.RestMethod.imV2ChatShallowLoad, params);
	  }
	  loadChatByChatId(chatId) {
	    const params = {
	      chatId,
	      messageLimit: im_v2_provider_service_message.MessageService.getMessageRequestLimit()
	    };
	    return babelHelpers.classPrivateFieldLooseBase(this, _requestChat)[_requestChat](im_v2_const.RestMethod.imV2ChatLoad, params);
	  }
	  loadChatWithMessages(dialogId) {
	    const params = {
	      dialogId,
	      messageLimit: im_v2_provider_service_message.MessageService.getMessageRequestLimit()
	    };
	    return babelHelpers.classPrivateFieldLooseBase(this, _requestChat)[_requestChat](im_v2_const.RestMethod.imV2ChatLoad, params);
	  }
	  loadChatWithContext(dialogId, messageId) {
	    const params = {
	      dialogId,
	      messageId,
	      messageLimit: im_v2_provider_service_message.MessageService.getMessageRequestLimit()
	    };
	    return babelHelpers.classPrivateFieldLooseBase(this, _requestChat)[_requestChat](im_v2_const.RestMethod.imV2ChatLoadInContext, params);
	  }
	  prepareDialogId(dialogId) {
	    if (!im_v2_lib_utils.Utils.dialog.isExternalId(dialogId)) {
	      return Promise.resolve(dialogId);
	    }
	    return im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatGetDialogId, {
	      data: {
	        externalId: dialogId
	      }
	    }).then(result => {
	      return result.dialogId;
	    }).catch(error => {
	      console.error('ChatService: Load: error preparing external id', error);
	    });
	  }
	  async loadComments(postId) {
	    const params = {
	      postId,
	      messageLimit: im_v2_provider_service_message.MessageService.getMessageRequestLimit(),
	      autoJoin: true,
	      createIfNotExists: true
	    };
	    const {
	      chatId
	    } = await babelHelpers.classPrivateFieldLooseBase(this, _requestChat)[_requestChat](im_v2_const.RestMethod.imV2ChatLoad, params);
	    return babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('messages/comments/set', {
	      messageId: postId,
	      chatId
	    });
	  }
	  async loadCommentInfo(channelDialogId) {
	    const dialog = babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].getters['chats/get'](channelDialogId, true);
	    const messages = babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].getters['messages/getByChatId'](dialog.chatId);
	    const messageIds = messages.map(message => message.id);
	    const {
	      commentInfo,
	      usersShort
	    } = await im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatMessageCommentInfoList, {
	      data: {
	        messageIds
	      }
	    }).catch(error => {
	      console.error('ChatService: Load: error loading comment info', error);
	    });
	    const userManager = new im_v2_lib_user.UserManager();
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('messages/comments/set', commentInfo);
	    void userManager.addUsersToModel(usersShort);
	  }
	  resetChat(dialogId) {
	    const dialog = babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].getters['chats/get'](dialogId, true);
	    babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('messages/clearChatCollection', {
	      chatId: dialog.chatId
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('chats/update', {
	      dialogId,
	      fields: {
	        inited: false
	      }
	    });
	  }
	}
	async function _requestChat2(actionName, params) {
	  const {
	    dialogId,
	    messageId
	  } = params;
	  babelHelpers.classPrivateFieldLooseBase(this, _markDialogAsLoading)[_markDialogAsLoading](dialogId);
	  const actionResult = await im_v2_lib_rest.runAction(actionName, {
	    data: params
	  }).catch(([error]) => {
	    console.error('ChatService: Load: error loading chat', error);
	    im_v2_lib_notifier.Notifier.chat.handleLoadError(error);
	    babelHelpers.classPrivateFieldLooseBase(this, _markDialogAsNotLoaded)[_markDialogAsNotLoaded](dialogId);
	    throw error;
	  });
	  if (babelHelpers.classPrivateFieldLooseBase(this, _checkFeatureDisabled)[_checkFeatureDisabled](actionResult)) {
	    await babelHelpers.classPrivateFieldLooseBase(this, _markDialogAsNotLoaded)[_markDialogAsNotLoaded](dialogId);
	    await im_public.Messenger.openChat();
	    return babelHelpers.classPrivateFieldLooseBase(this, _openFeatureSlider)[_openFeatureSlider](actionResult);
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _needLayoutRedirect)[_needLayoutRedirect](actionResult)) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _redirectToLayout)[_redirectToLayout](actionResult, messageId);
	  }
	  const {
	    dialogId: loadedDialogId,
	    chatId
	  } = await babelHelpers.classPrivateFieldLooseBase(this, _updateModels$1)[_updateModels$1](actionResult);
	  const {
	    callInfo
	  } = actionResult;
	  call_lib_callTokenManager.CallTokenManager.setToken(callInfo.chatId, callInfo.token);
	  if (babelHelpers.classPrivateFieldLooseBase(this, _isDialogLoadedMarkNeeded)[_isDialogLoadedMarkNeeded](actionName)) {
	    await babelHelpers.classPrivateFieldLooseBase(this, _markDialogAsLoaded)[_markDialogAsLoaded](loadedDialogId);
	  }
	  return {
	    dialogId: loadedDialogId,
	    chatId
	  };
	}
	function _markDialogAsLoading2(dialogId) {
	  void babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('chats/update', {
	    dialogId,
	    fields: {
	      loading: true
	    }
	  });
	}
	function _markDialogAsLoaded2(dialogId) {
	  return babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('chats/update', {
	    dialogId,
	    fields: {
	      inited: true,
	      loading: false
	    }
	  });
	}
	function _markDialogAsNotLoaded2(dialogId) {
	  return babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('chats/update', {
	    dialogId,
	    fields: {
	      loading: false
	    }
	  });
	}
	function _isDialogLoadedMarkNeeded2(actionName) {
	  return actionName !== im_v2_const.RestMethod.imV2ChatShallowLoad;
	}
	async function _updateModels2$1(restResult) {
	  const extractor = new ChatDataExtractor(restResult);
	  const chatsPromise = babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('chats/set', extractor.getChats());
	  const filesPromise = babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('files/set', extractor.getFiles());
	  const autoDeletePromise = babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('chats/autoDelete/set', extractor.getAutoDeleteConfig());
	  const userManager = new im_v2_lib_user.UserManager();
	  const usersPromise = Promise.all([babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('users/set', extractor.getUsers()), userManager.addUsersToModel(extractor.getAdditionalUsers())]);
	  const messagesPromise = Promise.all([babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('messages/setChatCollection', {
	    messages: extractor.getMessages(),
	    clearCollection: true
	  }), babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('messages/store', extractor.getMessagesToStore()), babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('messages/pin/setPinned', {
	    chatId: extractor.getChatId(),
	    pinnedMessages: extractor.getPinnedMessageIds()
	  }), babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('messages/reactions/set', extractor.getReactions()), babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('messages/comments/set', extractor.getCommentInfo())]);
	  const copilotManager = new im_v2_lib_copilot.CopilotManager();
	  const copilotPromise = copilotManager.handleChatLoadResponse(extractor.getCopilot());
	  let openLinesPromise = Promise.resolve();
	  if (imopenlines_v2_lib_openlines.OpenLinesManager) {
	    openLinesPromise = imopenlines_v2_lib_openlines.OpenLinesManager.handleChatLoadResponse(extractor.getSession());
	  }
	  const collabPromise = babelHelpers.classPrivateFieldLooseBase(this, _store$1)[_store$1].dispatch('chats/collabs/set', {
	    chatId: extractor.getChatId(),
	    collabInfo: extractor.getCollabInfo()
	  });
	  await Promise.all([chatsPromise, filesPromise, usersPromise, messagesPromise, copilotPromise, openLinesPromise, collabPromise, autoDeletePromise]);
	  return {
	    dialogId: extractor.getDialogId(),
	    chatId: extractor.getChatId()
	  };
	}
	function _needLayoutRedirect2(actionResult) {
	  return babelHelpers.classPrivateFieldLooseBase(this, _needRedirectToOpenLinesLayout)[_needRedirectToOpenLinesLayout](actionResult);
	}
	function _redirectToLayout2(actionResult) {
	  const extractor = new ChatDataExtractor(actionResult);
	  im_v2_lib_layout.LayoutManager.getInstance().setLastOpenedElement(im_v2_const.Layout.chat.name, '');
	  if (babelHelpers.classPrivateFieldLooseBase(this, _needRedirectToOpenLinesLayout)[_needRedirectToOpenLinesLayout](actionResult)) {
	    return im_public.Messenger.openLines(extractor.getDialogId());
	  }
	  return Promise.resolve();
	}
	function _needRedirectToOpenLinesLayout2(actionResult) {
	  const optionOpenLinesV2Activated = im_v2_lib_feature.FeatureManager.isFeatureAvailable(im_v2_lib_feature.Feature.openLinesV2);
	  if (optionOpenLinesV2Activated) {
	    return false;
	  }
	  const extractor = new ChatDataExtractor(actionResult);
	  return extractor.isOpenlinesChat() && main_core.Type.isStringFilled(extractor.getDialogId());
	}
	function _checkFeatureDisabled2(actionResult) {
	  return babelHelpers.classPrivateFieldLooseBase(this, _checkCollabFeatureDisabled)[_checkCollabFeatureDisabled](actionResult);
	}
	function _checkCollabFeatureDisabled2(actionResult) {
	  const extractor = new ChatDataExtractor(actionResult);
	  return extractor.isCollabChat() && !im_v2_lib_feature.FeatureManager.collab.isAvailable();
	}
	function _openFeatureSlider2(actionResult) {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _checkCollabFeatureDisabled)[_checkCollabFeatureDisabled](actionResult)) {
	    im_v2_lib_feature.FeatureManager.collab.openFeatureSlider();
	  }
	}

	const PRIVATE_CHAT = 'CHAT';
	const OPEN_CHAT = 'OPEN';
	var _restClient = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("restClient");
	var _store$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	var _prepareFields = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("prepareFields");
	var _addCollabToModel = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("addCollabToModel");
	var _addChatToModel = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("addChatToModel");
	var _sendAnalytics = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("sendAnalytics");
	class CreateService {
	  constructor() {
	    Object.defineProperty(this, _sendAnalytics, {
	      value: _sendAnalytics2
	    });
	    Object.defineProperty(this, _addChatToModel, {
	      value: _addChatToModel2
	    });
	    Object.defineProperty(this, _addCollabToModel, {
	      value: _addCollabToModel2
	    });
	    Object.defineProperty(this, _prepareFields, {
	      value: _prepareFields2
	    });
	    Object.defineProperty(this, _restClient, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _store$2, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _restClient)[_restClient] = im_v2_application_core.Core.getRestClient();
	    babelHelpers.classPrivateFieldLooseBase(this, _store$2)[_store$2] = im_v2_application_core.Core.getStore();
	  }
	  async createChat(chatConfig) {
	    im_v2_lib_logger.Logger.warn('ChatService: createChat', chatConfig);
	    const preparedFields = await babelHelpers.classPrivateFieldLooseBase(this, _prepareFields)[_prepareFields](chatConfig);
	    const createResult = await babelHelpers.classPrivateFieldLooseBase(this, _restClient)[_restClient].callMethod(im_v2_const.RestMethod.imV2ChatAdd, {
	      fields: preparedFields
	    }).catch(error => {
	      console.error('ChatService: createChat error:', error);
	      im_v2_lib_notifier.Notifier.chat.onCreateError();
	      throw error;
	    });
	    const {
	      chatId: newChatId
	    } = createResult.data();
	    im_v2_lib_logger.Logger.warn('ChatService: createChat result', newChatId);
	    const newDialogId = `chat${newChatId}`;
	    babelHelpers.classPrivateFieldLooseBase(this, _addChatToModel)[_addChatToModel](newDialogId, preparedFields);
	    babelHelpers.classPrivateFieldLooseBase(this, _sendAnalytics)[_sendAnalytics](newDialogId);
	    return {
	      newDialogId,
	      newChatId
	    };
	  }
	  async createCollab(collabConfig) {
	    im_v2_lib_logger.Logger.warn('ChatService: createCollab', collabConfig);
	    const preparedFields = await babelHelpers.classPrivateFieldLooseBase(this, _prepareFields)[_prepareFields](collabConfig);
	    const params = {
	      ownerId: preparedFields.ownerId,
	      name: preparedFields.title,
	      description: preparedFields.description,
	      avatarId: preparedFields.avatar,
	      moderatorMembers: im_v2_lib_utils.Utils.user.prepareSelectorIds(collabConfig.moderatorMembers),
	      permissions: collabConfig.permissions,
	      options: {
	        ...collabConfig.options,
	        messagesAutoDeleteDelay: preparedFields.messagesAutoDeleteDelay
	      }
	    };
	    const createResult = await im_v2_lib_rest.runAction(im_v2_const.RestMethod.socialnetworkCollabCreate, {
	      data: params
	    }).catch(([error]) => {
	      console.error('ChatService: createCollab error:', error);
	      im_v2_lib_notifier.Notifier.collab.handleCreateError(error);
	      throw error;
	    });
	    const {
	      chatId: newChatId
	    } = createResult;
	    im_v2_lib_logger.Logger.warn('ChatService: createCollab result', newChatId);
	    const newDialogId = `chat${newChatId}`;
	    babelHelpers.classPrivateFieldLooseBase(this, _addCollabToModel)[_addCollabToModel](newDialogId, preparedFields);
	    babelHelpers.classPrivateFieldLooseBase(this, _sendAnalytics)[_sendAnalytics](newDialogId);
	    return {
	      newDialogId,
	      newChatId
	    };
	  }
	}
	async function _prepareFields2(chatConfig) {
	  var _preparedConfig$manag, _preparedConfig$membe, _preparedConfig$type, _preparedConfig$entit;
	  const preparedConfig = {
	    ...chatConfig
	  };
	  if (preparedConfig.avatar) {
	    preparedConfig.avatar = await im_v2_lib_utils.Utils.file.getBase64(chatConfig.avatar);
	  }
	  preparedConfig.managers = (_preparedConfig$manag = preparedConfig.managers) != null ? _preparedConfig$manag : [];
	  preparedConfig.members = (_preparedConfig$membe = preparedConfig.members) != null ? _preparedConfig$membe : [];
	  const allMembers = [...preparedConfig.members, ...preparedConfig.managers];
	  if (preparedConfig.ownerId) {
	    allMembers.push(preparedConfig.ownerId);
	  }
	  preparedConfig.members = [...new Set(allMembers)];
	  const result = {
	    type: (_preparedConfig$type = preparedConfig.type) == null ? void 0 : _preparedConfig$type.toUpperCase(),
	    entityType: (_preparedConfig$entit = preparedConfig.entityType) == null ? void 0 : _preparedConfig$entit.toUpperCase(),
	    title: preparedConfig.title,
	    avatar: preparedConfig.avatar,
	    description: preparedConfig.description,
	    users: preparedConfig.members,
	    memberEntities: preparedConfig.memberEntities,
	    managers: preparedConfig.managers,
	    ownerId: preparedConfig.ownerId,
	    searchable: preparedConfig.isAvailableInSearch ? 'Y' : 'N',
	    manageUsersAdd: preparedConfig.manageUsersAdd,
	    manageUsersDelete: preparedConfig.manageUsersDelete,
	    manageUi: preparedConfig.manageUi,
	    manageSettings: preparedConfig.manageSettings,
	    manageMessages: preparedConfig.manageMessages,
	    conferencePassword: preparedConfig.conferencePassword,
	    copilotMainRole: preparedConfig.copilotMainRole,
	    messagesAutoDeleteDelay: preparedConfig.autoDeleteDelay
	  };
	  Object.entries(result).forEach(([key, value]) => {
	    if (main_core.Type.isUndefined(value)) {
	      delete result[key];
	    }
	  });
	  return result;
	}
	function _addCollabToModel2(newDialogId, collabConfig) {
	  babelHelpers.classPrivateFieldLooseBase(this, _store$2)[_store$2].dispatch('chats/set', {
	    dialogId: newDialogId,
	    type: im_v2_const.ChatType.collab,
	    name: collabConfig.title
	  });
	}
	function _addChatToModel2(newDialogId, chatConfig) {
	  let chatType = chatConfig.searchable === 'Y' ? OPEN_CHAT : PRIVATE_CHAT;
	  if (main_core.Type.isStringFilled(chatConfig.entityType)) {
	    chatType = chatConfig.entityType.toLowerCase();
	  }
	  if (main_core.Type.isStringFilled(chatConfig.type)) {
	    chatType = chatConfig.type.toLowerCase();
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _store$2)[_store$2].dispatch('chats/set', {
	    dialogId: newDialogId,
	    type: chatType.toLowerCase(),
	    name: chatConfig.title,
	    userCounter: chatConfig.users.length,
	    role: im_v2_const.UserRole.owner,
	    permissions: {
	      manageUi: chatConfig.manageUi,
	      manageSettings: chatConfig.manageSettings,
	      manageUsersAdd: chatConfig.manageUsersAdd,
	      manageUsersDelete: chatConfig.manageUsersDelete,
	      manageMessages: chatConfig.manageMessages
	    }
	  });
	}
	function _sendAnalytics2(dialogId) {
	  im_v2_lib_analytics.Analytics.getInstance().ignoreNextChatOpen(dialogId);
	}

	var _store$3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	var _prepareFields$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("prepareFields");
	var _updateChatInModel = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateChatInModel");
	class UpdateService {
	  constructor() {
	    Object.defineProperty(this, _updateChatInModel, {
	      value: _updateChatInModel2
	    });
	    Object.defineProperty(this, _prepareFields$1, {
	      value: _prepareFields2$1
	    });
	    Object.defineProperty(this, _store$3, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store$3)[_store$3] = im_v2_application_core.Core.getStore();
	  }
	  async prepareAvatar(avatarFile) {
	    if (!ui_uploader_core.isResizableImage(avatarFile)) {
	      // eslint-disable-next-line no-console
	      return Promise.reject(new Error('UpdateService: prepareAvatar: incorrect image'));
	    }
	    const MAX_AVATAR_SIZE = 180;
	    const {
	      preview: resizedAvatar
	    } = await ui_uploader_core.resizeImage(avatarFile, {
	      width: MAX_AVATAR_SIZE,
	      height: MAX_AVATAR_SIZE
	    });
	    return resizedAvatar;
	  }
	  async changeAvatar(chatId, avatarFile) {
	    im_v2_lib_logger.Logger.warn('ChatService: changeAvatar', chatId, avatarFile);
	    const avatarInBase64 = await im_v2_lib_utils.Utils.file.getBase64(avatarFile);
	    return im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatUpdateAvatar, {
	      data: {
	        id: chatId,
	        avatar: avatarInBase64
	      }
	    }).catch(([error]) => {
	      console.error('ChatService: changeAvatar error:', error);
	    });
	  }
	  async updateChat(chatId, chatConfig) {
	    im_v2_lib_logger.Logger.warn(`ChatService: updateChat, chatId: ${chatId}`, chatConfig);
	    const preparedFields = await babelHelpers.classPrivateFieldLooseBase(this, _prepareFields$1)[_prepareFields$1](chatConfig);
	    const updateResult = await im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatUpdate, {
	      data: {
	        id: chatId,
	        fields: preparedFields
	      },
	      id: chatId
	    }).catch(([error]) => {
	      console.error('ChatService: updateChat error:', error);
	      im_v2_lib_notifier.Notifier.chat.onUpdateError();
	      throw error;
	    });
	    im_v2_lib_logger.Logger.warn('ChatService: updateChat result', updateResult);
	    const dialogId = `chat${chatId}`;
	    await babelHelpers.classPrivateFieldLooseBase(this, _updateChatInModel)[_updateChatInModel](dialogId, chatConfig);
	    return updateResult;
	  }
	  async updateCollab(dialogId, collabConfig) {
	    im_v2_lib_logger.Logger.warn(`ChatService: updateCollab, dialogId: ${dialogId}`, collabConfig);
	    const preparedFields = await babelHelpers.classPrivateFieldLooseBase(this, _prepareFields$1)[_prepareFields$1](collabConfig);
	    let payload = {
	      dialogId,
	      name: preparedFields.title,
	      description: preparedFields.description,
	      avatarId: preparedFields.avatar
	    };
	    if (collabConfig.groupSettings) {
	      const groupSettings = collabConfig.groupSettings;
	      payload = {
	        ...payload,
	        ownerId: groupSettings.ownerId,
	        addModeratorMembers: im_v2_lib_utils.Utils.user.prepareSelectorIds(groupSettings.addModeratorMembers),
	        deleteModeratorMembers: im_v2_lib_utils.Utils.user.prepareSelectorIds(groupSettings.deleteModeratorMembers),
	        permissions: groupSettings.permissions,
	        options: groupSettings.options
	      };
	    }
	    const updateResult = await im_v2_lib_rest.runAction(im_v2_const.RestMethod.socialnetworkCollabUpdate, {
	      data: payload
	    }).catch(([error]) => {
	      console.error('ChatService: updateCollab error:', error);
	      im_v2_lib_notifier.Notifier.collab.handleUpdateError(error);
	      throw error;
	    });
	    im_v2_lib_logger.Logger.warn('ChatService: updateCollab result', updateResult);
	    return updateResult;
	  }
	  async getMemberEntities(chatId) {
	    return im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatMemberEntitiesList, {
	      data: {
	        chatId
	      }
	    }).catch(([error]) => {
	      console.error('ChatService: getMemberEntities error:', error);
	    });
	  }
	}
	async function _prepareFields2$1(chatConfig) {
	  const result = {
	    title: chatConfig.title,
	    description: chatConfig.description,
	    ownerId: chatConfig.ownerId,
	    searchable: chatConfig.isAvailableInSearch ? 'Y' : 'N',
	    manageUi: chatConfig.manageUi,
	    manageUsersAdd: chatConfig.manageUsersAdd,
	    manageUsersDelete: chatConfig.manageUsersDelete,
	    manageMessages: chatConfig.manageMessages,
	    addedMemberEntities: chatConfig.addedMemberEntities,
	    deletedMemberEntities: chatConfig.deletedMemberEntities,
	    addedManagers: chatConfig.addedManagers,
	    deletedManagers: chatConfig.deletedManagers
	  };
	  if (chatConfig.avatar) {
	    result.avatar = await im_v2_lib_utils.Utils.file.getBase64(chatConfig.avatar);
	  }
	  Object.entries(result).forEach(([key, value]) => {
	    if (main_core.Type.isUndefined(value)) {
	      delete result[key];
	    }
	  });
	  return result;
	}
	function _updateChatInModel2(dialogId, chatConfig) {
	  return babelHelpers.classPrivateFieldLooseBase(this, _store$3)[_store$3].dispatch('chats/update', {
	    dialogId,
	    fields: {
	      name: chatConfig.title,
	      description: chatConfig.description,
	      ownerId: chatConfig.ownerId,
	      managerList: chatConfig.managers,
	      type: chatConfig.type,
	      role: im_v2_lib_roleManager.getChatRoleForUser(chatConfig),
	      permissions: {
	        manageUi: chatConfig.manageUi,
	        manageUsersAdd: chatConfig.manageUsersAdd,
	        manageUsersDelete: chatConfig.manageUsersDelete,
	        manageMessages: chatConfig.manageMessages
	      }
	    }
	  });
	}

	var _store$4 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	var _restClient$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("restClient");
	var _updateChatTitleInModel = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateChatTitleInModel");
	class RenameService {
	  constructor() {
	    Object.defineProperty(this, _updateChatTitleInModel, {
	      value: _updateChatTitleInModel2
	    });
	    Object.defineProperty(this, _store$4, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _restClient$1, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store$4)[_store$4] = im_v2_application_core.Core.getStore();
	    babelHelpers.classPrivateFieldLooseBase(this, _restClient$1)[_restClient$1] = im_v2_application_core.Core.getRestClient();
	  }
	  renameChat(dialogId, newName) {
	    im_v2_lib_logger.Logger.warn('ChatService: renameChat', dialogId, newName);
	    if (newName === '') {
	      return Promise.resolve();
	    }
	    const dialog = babelHelpers.classPrivateFieldLooseBase(this, _store$4)[_store$4].getters['chats/get'](dialogId);
	    const oldName = dialog.name;
	    babelHelpers.classPrivateFieldLooseBase(this, _updateChatTitleInModel)[_updateChatTitleInModel](dialogId, newName);
	    return babelHelpers.classPrivateFieldLooseBase(this, _restClient$1)[_restClient$1].callMethod(im_v2_const.RestMethod.imChatUpdateTitle, {
	      dialog_id: dialogId,
	      title: newName
	    }).catch(result => {
	      babelHelpers.classPrivateFieldLooseBase(this, _updateChatTitleInModel)[_updateChatTitleInModel](dialogId, oldName);
	      console.error('ChatService: renameChat error', result.error());
	      im_v2_lib_notifier.Notifier.chat.onRenameError();
	    });
	  }
	}
	function _updateChatTitleInModel2(dialogId, title) {
	  babelHelpers.classPrivateFieldLooseBase(this, _store$4)[_store$4].dispatch('chats/update', {
	    dialogId,
	    fields: {
	      name: title
	    }
	  });
	}

	var _store$5 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	var _restClient$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("restClient");
	var _sendMuteRequestDebounced = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("sendMuteRequestDebounced");
	var _sendMuteRequest = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("sendMuteRequest");
	class MuteService {
	  constructor() {
	    Object.defineProperty(this, _sendMuteRequest, {
	      value: _sendMuteRequest2
	    });
	    Object.defineProperty(this, _store$5, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _restClient$2, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _sendMuteRequestDebounced, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store$5)[_store$5] = im_v2_application_core.Core.getStore();
	    babelHelpers.classPrivateFieldLooseBase(this, _restClient$2)[_restClient$2] = im_v2_application_core.Core.getRestClient();
	    const DEBOUNCE_TIME = 500;
	    babelHelpers.classPrivateFieldLooseBase(this, _sendMuteRequestDebounced)[_sendMuteRequestDebounced] = main_core.Runtime.debounce(babelHelpers.classPrivateFieldLooseBase(this, _sendMuteRequest)[_sendMuteRequest], DEBOUNCE_TIME);
	  }
	  muteChat(dialogId) {
	    im_v2_lib_logger.Logger.warn('ChatService: muteChat', dialogId);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$5)[_store$5].dispatch('chats/mute', {
	      dialogId
	    });
	    const queryParams = {
	      dialog_id: dialogId,
	      action: 'Y'
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _sendMuteRequestDebounced)[_sendMuteRequestDebounced](queryParams);
	  }
	  unmuteChat(dialogId) {
	    im_v2_lib_logger.Logger.warn('ChatService: unmuteChat', dialogId);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$5)[_store$5].dispatch('chats/unmute', {
	      dialogId
	    });
	    const queryParams = {
	      dialog_id: dialogId,
	      action: 'N'
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _sendMuteRequestDebounced)[_sendMuteRequestDebounced](queryParams);
	  }
	}
	function _sendMuteRequest2(queryParams) {
	  const {
	    dialog_id: dialogId,
	    action
	  } = queryParams;
	  return babelHelpers.classPrivateFieldLooseBase(this, _restClient$2)[_restClient$2].callMethod(im_v2_const.RestMethod.imChatMute, queryParams).catch(result => {
	    const actionText = action === 'Y' ? 'muting' : 'unmuting';
	    console.error(`Im.RecentList: error ${actionText} chat`, result.error());
	    const actionType = action === 'Y' ? 'chats/unmute' : 'chats/mute';
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$5)[_store$5].dispatch(actionType, {
	      dialogId
	    });
	  });
	}

	var _store$6 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	class PinService {
	  constructor() {
	    Object.defineProperty(this, _store$6, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store$6)[_store$6] = im_v2_application_core.Core.getStore();
	  }
	  pinChat(dialogId) {
	    im_v2_lib_logger.Logger.warn('PinService: pinChat', dialogId);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$6)[_store$6].dispatch('recent/pin', {
	      id: dialogId,
	      action: true
	    });
	    im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2RecentPin, {
	      data: {
	        dialogId
	      }
	    }).catch(([error]) => {
	      console.error('PinService: error pinning chat', error);
	      im_v2_lib_notifier.Notifier.recent.handlePinError(error);
	      void babelHelpers.classPrivateFieldLooseBase(this, _store$6)[_store$6].dispatch('recent/pin', {
	        id: dialogId,
	        action: false
	      });
	    });
	  }
	  unpinChat(dialogId) {
	    im_v2_lib_logger.Logger.warn('PinService: unpinChat', dialogId);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$6)[_store$6].dispatch('recent/pin', {
	      id: dialogId,
	      action: false
	    });
	    im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2RecentUnpin, {
	      data: {
	        dialogId
	      }
	    }).catch(([error]) => {
	      console.error('PinService: error unpinning chat', error);
	      im_v2_lib_notifier.Notifier.recent.onUnpinError();
	      void babelHelpers.classPrivateFieldLooseBase(this, _store$6)[_store$6].dispatch('recent/pin', {
	        id: dialogId,
	        action: true
	      });
	    });
	  }
	}

	const READ_TIMEOUT = 300;
	var _store$7 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	var _restClient$3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("restClient");
	var _messagesToRead = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("messagesToRead");
	var _readMessagesForChat = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("readMessagesForChat");
	var _readMessageOnClient = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("readMessageOnClient");
	var _decreaseCommentCounter = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("decreaseCommentCounter");
	var _decreaseChatCounter = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("decreaseChatCounter");
	var _readMessageOnServer = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("readMessageOnServer");
	var _checkChatCounter = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("checkChatCounter");
	var _getDialogIdByChatId = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getDialogIdByChatId");
	var _getDialogByChatId = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getDialogByChatId");
	class ReadService {
	  constructor() {
	    Object.defineProperty(this, _getDialogByChatId, {
	      value: _getDialogByChatId2
	    });
	    Object.defineProperty(this, _getDialogIdByChatId, {
	      value: _getDialogIdByChatId2
	    });
	    Object.defineProperty(this, _checkChatCounter, {
	      value: _checkChatCounter2
	    });
	    Object.defineProperty(this, _readMessageOnServer, {
	      value: _readMessageOnServer2
	    });
	    Object.defineProperty(this, _decreaseChatCounter, {
	      value: _decreaseChatCounter2
	    });
	    Object.defineProperty(this, _decreaseCommentCounter, {
	      value: _decreaseCommentCounter2
	    });
	    Object.defineProperty(this, _readMessageOnClient, {
	      value: _readMessageOnClient2
	    });
	    Object.defineProperty(this, _readMessagesForChat, {
	      value: _readMessagesForChat2
	    });
	    Object.defineProperty(this, _store$7, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _restClient$3, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _messagesToRead, {
	      writable: true,
	      value: {}
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7] = im_v2_application_core.Core.getStore();
	    babelHelpers.classPrivateFieldLooseBase(this, _restClient$3)[_restClient$3] = im_v2_application_core.Core.getRestClient();
	  }
	  readAll() {
	    im_v2_lib_logger.Logger.warn('ReadService: readAll');
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('chats/clearCounters');
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('recent/clearUnread');
	    return babelHelpers.classPrivateFieldLooseBase(this, _restClient$3)[_restClient$3].callMethod(im_v2_const.RestMethod.imV2ChatReadAll).catch(result => {
	      console.error('ReadService: readAll error', result.error());
	    });
	  }
	  readDialog(dialogId) {
	    im_v2_lib_logger.Logger.warn('ReadService: readDialog', dialogId);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('recent/unread', {
	      id: dialogId,
	      action: false
	    });
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('chats/update', {
	      dialogId,
	      fields: {
	        counter: 0
	      }
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _restClient$3)[_restClient$3].callMethod(im_v2_const.RestMethod.imV2ChatRead, {
	      dialogId
	    }).catch(result => {
	      console.error('ReadService: error reading chat', result.error());
	    });
	  }
	  unreadDialog(dialogId) {
	    im_v2_lib_logger.Logger.warn('ReadService: unreadDialog', dialogId);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('recent/unread', {
	      id: dialogId,
	      action: true
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _restClient$3)[_restClient$3].callMethod(im_v2_const.RestMethod.imV2ChatUnread, {
	      dialogId
	    }).catch(result => {
	      console.error('ReadService: error setting chat as unread', result.error());
	      void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('recent/unread', {
	        id: dialogId,
	        action: false
	      });
	    });
	  }
	  readMessage(chatId, messageId) {
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _messagesToRead)[_messagesToRead][chatId]) {
	      babelHelpers.classPrivateFieldLooseBase(this, _messagesToRead)[_messagesToRead][chatId] = new Set();
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _messagesToRead)[_messagesToRead][chatId].add(messageId);
	    clearTimeout(this.readTimeout);
	    this.readTimeout = setTimeout(() => {
	      Object.entries(babelHelpers.classPrivateFieldLooseBase(this, _messagesToRead)[_messagesToRead]).forEach(([rawChatId, messageIds]) => {
	        void babelHelpers.classPrivateFieldLooseBase(this, _readMessagesForChat)[_readMessagesForChat](rawChatId, messageIds);
	      });
	    }, READ_TIMEOUT);
	  }
	  async readChatQueuedMessages(chatId) {
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _messagesToRead)[_messagesToRead][chatId]) {
	      return;
	    }
	    clearTimeout(this.readTimeout);
	    void babelHelpers.classPrivateFieldLooseBase(this, _readMessagesForChat)[_readMessagesForChat](chatId, babelHelpers.classPrivateFieldLooseBase(this, _messagesToRead)[_messagesToRead][chatId]);
	  }
	  clearDialogMark(dialogId) {
	    im_v2_lib_logger.Logger.warn('ReadService: clear dialog mark', dialogId);
	    const dialog = babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].getters['chats/get'](dialogId);
	    const recentItem = babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].getters['recent/get'](dialogId);
	    if (dialog.markedId === 0 && !(recentItem != null && recentItem.unread)) {
	      return;
	    }
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('recent/unread', {
	      id: dialogId,
	      action: false
	    });
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('chats/update', {
	      dialogId,
	      fields: {
	        markedId: 0
	      }
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _restClient$3)[_restClient$3].callMethod(im_v2_const.RestMethod.imV2ChatRead, {
	      dialogId,
	      onlyRecent: 'Y'
	    }).catch(result => {
	      console.error('ReadService: error clearing dialog mark', result.error());
	    });
	  }
	}
	async function _readMessagesForChat2(rawChatId, messageIds) {
	  const queueChatId = Number.parseInt(rawChatId, 10);
	  im_v2_lib_logger.Logger.warn('ReadService: readMessages', messageIds);
	  if (messageIds.size === 0) {
	    return true;
	  }
	  const copiedMessageIds = [...messageIds];
	  delete babelHelpers.classPrivateFieldLooseBase(this, _messagesToRead)[_messagesToRead][queueChatId];
	  const readMessagesCount = await babelHelpers.classPrivateFieldLooseBase(this, _readMessageOnClient)[_readMessageOnClient](queueChatId, copiedMessageIds);
	  im_v2_lib_logger.Logger.warn('ReadService: readMessage, need to reduce counter by', readMessagesCount);
	  await babelHelpers.classPrivateFieldLooseBase(this, _decreaseChatCounter)[_decreaseChatCounter](queueChatId, readMessagesCount);
	  const readResult = await babelHelpers.classPrivateFieldLooseBase(this, _readMessageOnServer)[_readMessageOnServer](queueChatId, copiedMessageIds).catch(([error]) => {
	    console.error('ReadService: error reading message', error);
	  });
	  babelHelpers.classPrivateFieldLooseBase(this, _checkChatCounter)[_checkChatCounter](readResult);
	  return true;
	}
	function _readMessageOnClient2(chatId, messageIds) {
	  const maxMessageId = Math.max(...messageIds);
	  const dialog = babelHelpers.classPrivateFieldLooseBase(this, _getDialogByChatId)[_getDialogByChatId](chatId);
	  if (maxMessageId > dialog.lastReadId) {
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('chats/update', {
	      dialogId: babelHelpers.classPrivateFieldLooseBase(this, _getDialogIdByChatId)[_getDialogIdByChatId](chatId),
	      fields: {
	        lastId: maxMessageId
	      }
	    });
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('messages/readMessages', {
	    chatId,
	    messageIds
	  });
	}
	function _decreaseCommentCounter2(chatId, readMessagesCount) {
	  const chat = babelHelpers.classPrivateFieldLooseBase(this, _getDialogByChatId)[_getDialogByChatId](chatId);
	  let newCounter = chat.counter - readMessagesCount;
	  if (newCounter < 0) {
	    newCounter = 0;
	  }
	  const counters = {
	    [chat.parentChatId]: {
	      [chatId]: newCounter
	    }
	  };
	  return im_v2_application_core.Core.getStore().dispatch('counters/setCommentCounters', counters);
	}
	function _decreaseChatCounter2(chatId, readMessagesCount) {
	  const chat = babelHelpers.classPrivateFieldLooseBase(this, _getDialogByChatId)[_getDialogByChatId](chatId);
	  if (chat.type === im_v2_const.ChatType.comment) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _decreaseCommentCounter)[_decreaseCommentCounter](chatId, readMessagesCount);
	  }
	  let newCounter = chat.counter - readMessagesCount;
	  if (newCounter < 0) {
	    newCounter = 0;
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('chats/update', {
	    dialogId: babelHelpers.classPrivateFieldLooseBase(this, _getDialogIdByChatId)[_getDialogIdByChatId](chatId),
	    fields: {
	      counter: newCounter
	    }
	  });
	}
	function _readMessageOnServer2(chatId, messageIds) {
	  im_v2_lib_logger.Logger.warn('ReadService: readMessages on server', messageIds);
	  return im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatMessageRead, {
	    data: {
	      chatId,
	      ids: messageIds,
	      actionUuid: im_v2_lib_uuid.UuidManager.getInstance().getActionUuid()
	    }
	  });
	}
	function _checkChatCounter2(readResult) {
	  if (!readResult) {
	    return;
	  }
	  const {
	    chatId,
	    counter
	  } = readResult;
	  const dialog = babelHelpers.classPrivateFieldLooseBase(this, _getDialogByChatId)[_getDialogByChatId](chatId);
	  if (dialog.counter > counter) {
	    im_v2_lib_logger.Logger.warn('ReadService: counter from server is lower than local one', dialog.counter, counter);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].dispatch('chats/update', {
	      dialogId: dialog.dialogId,
	      fields: {
	        counter
	      }
	    });
	  }
	}
	function _getDialogIdByChatId2(chatId) {
	  const dialog = babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].getters['chats/getByChatId'](chatId);
	  if (!dialog) {
	    return 0;
	  }
	  return dialog.dialogId;
	}
	function _getDialogByChatId2(chatId) {
	  return babelHelpers.classPrivateFieldLooseBase(this, _store$7)[_store$7].getters['chats/getByChatId'](chatId);
	}

	var _store$8 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	var _restClient$4 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("restClient");
	var _onChatLeave = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onChatLeave");
	class UserService {
	  constructor() {
	    Object.defineProperty(this, _onChatLeave, {
	      value: _onChatLeave2
	    });
	    Object.defineProperty(this, _store$8, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _restClient$4, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store$8)[_store$8] = im_v2_application_core.Core.getStore();
	    babelHelpers.classPrivateFieldLooseBase(this, _restClient$4)[_restClient$4] = im_v2_application_core.Core.getRestClient();
	  }
	  async leaveChat(dialogId) {
	    const queryParams = {
	      dialogId,
	      userId: im_v2_application_core.Core.getUserId()
	    };
	    try {
	      await babelHelpers.classPrivateFieldLooseBase(this, _restClient$4)[_restClient$4].callMethod(im_v2_const.RestMethod.imV2ChatDeleteUser, queryParams);
	      babelHelpers.classPrivateFieldLooseBase(this, _onChatLeave)[_onChatLeave](dialogId);
	    } catch (result) {
	      console.error('UserService: leave chat error', result.error());
	      im_v2_lib_notifier.Notifier.chat.handleLeaveError(result.error());
	    }
	  }
	  async leaveCollab(dialogId) {
	    const payload = {
	      data: {
	        dialogId
	      }
	    };
	    try {
	      await im_v2_lib_rest.runAction(im_v2_const.RestMethod.socialnetworkMemberLeave, payload);
	      babelHelpers.classPrivateFieldLooseBase(this, _onChatLeave)[_onChatLeave](dialogId);
	    } catch (errors) {
	      console.error('UserService: leave collab error', errors[0]);
	      im_v2_lib_notifier.Notifier.collab.onLeaveError();
	    }
	  }
	  async kickUserFromChat(dialogId, userId) {
	    const queryParams = {
	      dialogId,
	      userId
	    };
	    await babelHelpers.classPrivateFieldLooseBase(this, _restClient$4)[_restClient$4].callMethod(im_v2_const.RestMethod.imV2ChatDeleteUser, queryParams).catch(result => {
	      console.error('UserService: error kicking from chat', result.error());
	      im_v2_lib_notifier.Notifier.chat.handleUserKickError(result.error());
	    });
	  }
	  async kickUserFromCollab(dialogId, userId) {
	    const members = im_v2_lib_utils.Utils.user.prepareSelectorIds(userId);
	    const payload = {
	      data: {
	        dialogId,
	        members
	      }
	    };
	    await im_v2_lib_rest.runAction(im_v2_const.RestMethod.socialnetworkMemberDelete, payload).catch(([error]) => {
	      console.error('UserService: error kicking from collab', error);
	      im_v2_lib_notifier.Notifier.collab.onKickUserError();
	    });
	  }
	  addToChat(addConfig) {
	    const queryParams = {
	      chat_id: addConfig.chatId,
	      users: addConfig.members,
	      hide_history: !addConfig.showHistory
	    };
	    return babelHelpers.classPrivateFieldLooseBase(this, _restClient$4)[_restClient$4].callMethod(im_v2_const.RestMethod.imChatUserAdd, queryParams).catch(result => {
	      console.error('UserService: error adding to chat', result.error());
	      throw result.error();
	    });
	  }
	  joinChat(dialogId) {
	    im_v2_lib_logger.Logger.warn(`UserService: join chat ${dialogId}`);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$8)[_store$8].dispatch('chats/update', {
	      dialogId,
	      fields: {
	        role: im_v2_const.UserRole.member
	      }
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _restClient$4)[_restClient$4].callMethod(im_v2_const.RestMethod.imV2ChatJoin, {
	      dialogId
	    }).catch(result => {
	      console.error('UserService: error joining chat', result.error());
	    });
	  }
	  addManager(dialogId, userId) {
	    im_v2_lib_logger.Logger.warn(`UserService: add manager ${userId} to ${dialogId}`);
	    const {
	      managerList
	    } = babelHelpers.classPrivateFieldLooseBase(this, _store$8)[_store$8].getters['chats/get'](dialogId);
	    if (managerList.includes(userId)) {
	      return;
	    }
	    const newManagerList = [...managerList, userId];
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$8)[_store$8].dispatch('chats/update', {
	      dialogId,
	      fields: {
	        managerList: newManagerList
	      }
	    });
	    const payload = {
	      data: {
	        dialogId,
	        userIds: [userId]
	      }
	    };
	    im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatAddManagers, payload).catch(([error]) => {
	      console.error('UserService: add manager error', error);
	    });
	  }
	  removeManager(dialogId, userId) {
	    im_v2_lib_logger.Logger.warn(`UserService: remove manager ${userId} from ${dialogId}`);
	    const {
	      managerList
	    } = babelHelpers.classPrivateFieldLooseBase(this, _store$8)[_store$8].getters['chats/get'](dialogId);
	    if (!managerList.includes(userId)) {
	      return;
	    }
	    const newManagerList = managerList.filter(managerId => managerId !== userId);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$8)[_store$8].dispatch('chats/update', {
	      dialogId,
	      fields: {
	        managerList: newManagerList
	      }
	    });
	    const payload = {
	      data: {
	        dialogId,
	        userIds: [userId]
	      }
	    };
	    im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatDeleteManagers, payload).catch(([error]) => {
	      console.error('UserService: remove manager error', error);
	    });
	  }
	}
	function _onChatLeave2(dialogId) {
	  void babelHelpers.classPrivateFieldLooseBase(this, _store$8)[_store$8].dispatch('chats/update', {
	    dialogId,
	    fields: {
	      inited: false
	    }
	  });
	  void babelHelpers.classPrivateFieldLooseBase(this, _store$8)[_store$8].dispatch('recent/delete', {
	    id: dialogId
	  });
	  const chatIsOpened = babelHelpers.classPrivateFieldLooseBase(this, _store$8)[_store$8].getters['application/isChatOpen'](dialogId);
	  if (chatIsOpened) {
	    im_v2_lib_layout.LayoutManager.getInstance().clearCurrentLayoutEntityId();
	    void im_v2_lib_layout.LayoutManager.getInstance().deleteLastOpenedElementById(dialogId);
	  }
	}

	var _store$9 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("store");
	var _sendRequestDebounced = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("sendRequestDebounced");
	var _sendRequest = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("sendRequest");
	var _handleResponse = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("handleResponse");
	var _getChatId = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getChatId");
	class MessagesAutoDeleteService {
	  constructor() {
	    Object.defineProperty(this, _getChatId, {
	      value: _getChatId2
	    });
	    Object.defineProperty(this, _handleResponse, {
	      value: _handleResponse2
	    });
	    Object.defineProperty(this, _sendRequest, {
	      value: _sendRequest2
	    });
	    Object.defineProperty(this, _store$9, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _sendRequestDebounced, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _store$9)[_store$9] = im_v2_application_core.Core.getStore();
	    const DEBOUNCE_TIME = 500;
	    babelHelpers.classPrivateFieldLooseBase(this, _sendRequestDebounced)[_sendRequestDebounced] = main_core.Runtime.debounce(babelHelpers.classPrivateFieldLooseBase(this, _sendRequest)[_sendRequest], DEBOUNCE_TIME);
	  }
	  setDelay(dialogId, delay) {
	    im_v2_lib_logger.Logger.warn('MessagesAutoDeleteService: setDelay', dialogId, delay);
	    const chatId = babelHelpers.classPrivateFieldLooseBase(this, _getChatId)[_getChatId](dialogId);
	    const previousDelay = babelHelpers.classPrivateFieldLooseBase(this, _store$9)[_store$9].getters['chats/autoDelete/getDelay'](chatId);
	    if (previousDelay === delay) {
	      return;
	    }
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$9)[_store$9].dispatch('chats/autoDelete/set', {
	      chatId,
	      delay
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _sendRequestDebounced)[_sendRequestDebounced]({
	      dialogId,
	      delay,
	      previousDelay
	    });
	  }
	}
	async function _sendRequest2(queryParams) {
	  const {
	    dialogId,
	    delay,
	    previousDelay
	  } = queryParams;
	  try {
	    const response = await im_v2_lib_rest.runAction(im_v2_const.RestMethod.imV2ChatSetMessagesAutoDeleteDelay, {
	      data: {
	        dialogId,
	        hours: delay
	      }
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _handleResponse)[_handleResponse](delay, response);
	  } catch (error) {
	    console.error('MessagesAutoDeleteService: Error setting auto delete delay', error);
	    void babelHelpers.classPrivateFieldLooseBase(this, _store$9)[_store$9].dispatch('chats/autoDelete/set', {
	      chatId: babelHelpers.classPrivateFieldLooseBase(this, _getChatId)[_getChatId](dialogId),
	      delay: previousDelay
	    });
	  }
	}
	function _handleResponse2(delay, response) {
	  const [config] = response.messagesAutoDeleteConfigs;
	  // if we set some delay and server returns 0 delay, then auto delete is disabled by admin
	  if (delay !== config.delay && config.delay === im_v2_const.AutoDeleteDelay.Off) {
	    im_v2_lib_feature.FeatureManager.messagesAutoDelete.openFeatureSlider();
	  }
	  void babelHelpers.classPrivateFieldLooseBase(this, _store$9)[_store$9].dispatch('chats/autoDelete/set', {
	    chatId: config.chatId,
	    delay: config.delay
	  });
	}
	function _getChatId2(dialogId) {
	  return babelHelpers.classPrivateFieldLooseBase(this, _store$9)[_store$9].getters['chats/get'](dialogId).chatId;
	}

	var _loadService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("loadService");
	var _createService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createService");
	var _updateService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateService");
	var _renameService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renameService");
	var _muteService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("muteService");
	var _pinService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("pinService");
	var _readService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("readService");
	var _userService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("userService");
	var _deleteService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("deleteService");
	var _messagesAutoDeleteService = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("messagesAutoDeleteService");
	var _initServices = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("initServices");
	class ChatService {
	  constructor() {
	    Object.defineProperty(this, _initServices, {
	      value: _initServices2
	    });
	    Object.defineProperty(this, _loadService, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _createService, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _updateService, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _renameService, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _muteService, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _pinService, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _readService, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _userService, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _deleteService, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _messagesAutoDeleteService, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _initServices)[_initServices]();
	  }

	  // region 'load'
	  loadChat(dialogId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _loadService)[_loadService].loadChat(dialogId);
	  }
	  loadChatByChatId(chatId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _loadService)[_loadService].loadChatByChatId(chatId);
	  }
	  loadChatWithMessages(dialogId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _loadService)[_loadService].loadChatWithMessages(dialogId);
	  }
	  loadChatWithContext(dialogId, messageId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _loadService)[_loadService].loadChatWithContext(dialogId, messageId);
	  }
	  loadComments(postId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _loadService)[_loadService].loadComments(postId);
	  }
	  loadCommentInfo(channelDialogId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _loadService)[_loadService].loadCommentInfo(channelDialogId);
	  }
	  prepareDialogId(dialogId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _loadService)[_loadService].prepareDialogId(dialogId);
	  }
	  resetChat(dialogId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _loadService)[_loadService].resetChat(dialogId);
	  }
	  // endregion 'load'

	  // region 'create'
	  createChat(chatConfig) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _createService)[_createService].createChat(chatConfig);
	  }
	  createCollab(collabConfig) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _createService)[_createService].createCollab(collabConfig);
	  }
	  // endregion 'create'

	  // region 'update'
	  prepareAvatar(avatarFile) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _updateService)[_updateService].prepareAvatar(avatarFile);
	  }
	  changeAvatar(chatId, avatarFile) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _updateService)[_updateService].changeAvatar(chatId, avatarFile);
	  }
	  updateChat(chatId, chatConfig) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _updateService)[_updateService].updateChat(chatId, chatConfig);
	  }
	  updateCollab(dialogId, collabConfig) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _updateService)[_updateService].updateCollab(dialogId, collabConfig);
	  }
	  getMemberEntities(chatId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _updateService)[_updateService].getMemberEntities(chatId);
	  }
	  // endregion 'update'

	  // region 'delete'
	  deleteChat(dialogId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _deleteService)[_deleteService].deleteChat(dialogId);
	  }
	  deleteCollab(dialogId) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _deleteService)[_deleteService].deleteCollab(dialogId);
	  }
	  // endregion 'delete'

	  // region 'rename'
	  renameChat(dialogId, newName) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _renameService)[_renameService].renameChat(dialogId, newName);
	  }
	  // endregion 'rename'

	  // region 'mute'
	  muteChat(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _muteService)[_muteService].muteChat(dialogId);
	  }
	  unmuteChat(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _muteService)[_muteService].unmuteChat(dialogId);
	  }
	  // endregion 'mute'

	  // region 'pin'
	  pinChat(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _pinService)[_pinService].pinChat(dialogId);
	  }
	  unpinChat(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _pinService)[_pinService].unpinChat(dialogId);
	  }
	  // endregion 'pin'

	  // region 'read'
	  readAll() {
	    babelHelpers.classPrivateFieldLooseBase(this, _readService)[_readService].readAll();
	  }
	  readDialog(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _readService)[_readService].readDialog(dialogId);
	  }
	  unreadDialog(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _readService)[_readService].unreadDialog(dialogId);
	  }
	  readMessage(chatId, messageId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _readService)[_readService].readMessage(chatId, messageId);
	  }
	  readChatQueuedMessages(chatId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _readService)[_readService].readChatQueuedMessages(chatId);
	  }
	  clearDialogMark(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _readService)[_readService].clearDialogMark(dialogId);
	  }
	  // endregion 'read'

	  // region 'user'
	  leaveChat(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _userService)[_userService].leaveChat(dialogId);
	  }
	  leaveCollab(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _userService)[_userService].leaveCollab(dialogId);
	  }
	  kickUserFromChat(dialogId, userId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _userService)[_userService].kickUserFromChat(dialogId, userId);
	  }
	  kickUserFromCollab(dialogId, userId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _userService)[_userService].kickUserFromCollab(dialogId, userId);
	  }
	  addToChat(addConfig) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _userService)[_userService].addToChat(addConfig);
	  }
	  joinChat(dialogId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _userService)[_userService].joinChat(dialogId);
	  }
	  addManager(dialogId, userId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _userService)[_userService].addManager(dialogId, userId);
	  }
	  removeManager(dialogId, userId) {
	    babelHelpers.classPrivateFieldLooseBase(this, _userService)[_userService].removeManager(dialogId, userId);
	  }
	  // endregion 'user

	  // region 'messages auto delete'
	  setMessagesAutoDeleteDelay(dialogId, delay) {
	    babelHelpers.classPrivateFieldLooseBase(this, _messagesAutoDeleteService)[_messagesAutoDeleteService].setDelay(dialogId, delay);
	  }
	  // endregion 'messages auto delete'
	}
	function _initServices2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _loadService)[_loadService] = new LoadService();
	  babelHelpers.classPrivateFieldLooseBase(this, _createService)[_createService] = new CreateService();
	  babelHelpers.classPrivateFieldLooseBase(this, _updateService)[_updateService] = new UpdateService();
	  babelHelpers.classPrivateFieldLooseBase(this, _renameService)[_renameService] = new RenameService();
	  babelHelpers.classPrivateFieldLooseBase(this, _muteService)[_muteService] = new MuteService();
	  babelHelpers.classPrivateFieldLooseBase(this, _pinService)[_pinService] = new PinService();
	  babelHelpers.classPrivateFieldLooseBase(this, _readService)[_readService] = new ReadService();
	  babelHelpers.classPrivateFieldLooseBase(this, _userService)[_userService] = new UserService();
	  babelHelpers.classPrivateFieldLooseBase(this, _deleteService)[_deleteService] = new DeleteService();
	  babelHelpers.classPrivateFieldLooseBase(this, _messagesAutoDeleteService)[_messagesAutoDeleteService] = new MessagesAutoDeleteService();
	}

	exports.ChatService = ChatService;

}((this.BX.Messenger.v2.Service = this.BX.Messenger.v2.Service || {}),BX?.OpenLines?.v2?.Lib??{},BX?.Call?.Lib??{},BX?.Messenger?.v2?.Lib??{},BX?.Messenger?.v2?.Service??{},BX?.Messenger?.v2?.Lib??{},BX?.Messenger?.v2?.Lib??{},BX?.Messenger?.v2?.Lib??{},BX?.UI?.Uploader??{},BX?.Messenger?.v2?.Lib??{},BX?.Messenger?.v2?.Lib??{},BX?.Vue3?.Vuex??{},BX??{},BX?.Messenger?.v2?.Lib??{},BX?.Messenger?.v2?.Lib??{},BX?.Messenger?.v2?.Lib??{},BX??{},BX?.Messenger?.v2?.Application??{},BX?.Messenger?.v2?.Lib??{},BX?.Messenger?.v2?.Const??{},BX?.Messenger?.v2?.Lib??{},BX?.Messenger?.v2?.Lib??{}));
//# sourceMappingURL=chat.bundle.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit