@ckeditor/ckeditor5-real-time-collaboration 46.1.1-alpha.1 → 46.1.1-alpha.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/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x1e7b17,Plugin as _0x2f9917,PendingActions as _0x2a2a9f,Context as _0x4399a8}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x20be11,CKEditorError as _0x2cb01c,Collection as _0x4ead9b,global as _0x27bd36,version as ht,uid as _0x24a687,KeystrokeHandler as _0x2cd7be}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xcbf99a,View as _0x1be5d6,ListView as _0x319183,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x5cf855,clickOutsideHandler as _0x576ce6,BodyCollection as _0x845acd}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x3271bd,History as _0x29b035,NoOperation as _0x2e8c85,InsertOperation as _0xa21fa5,MarkerOperation as _0x4e4c61,RootAttributeOperation as _0x5749dc,transformOperationSets as _0x4eebe0,OperationFactory as _0x493c8d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0xc90cf7,CollaborativeEditingService as _0x5a3001,User as ut,CommentsService as _0x25f3cf,TrackChangesService as it,RevisionHistoryService as rt,EditorService as ot}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x688a1d,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x4123aa}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x36833e}from'es-toolkit/compat';class n extends _0x1e7b17{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xcbf99a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4dab4e){super(_0x4dab4e),this['set']('state',_0xc90cf7['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x20be11())();}['init'](){const _0x4b8993=this['context'],_0x50c7ef=_0x4b8993['plugins']['get']('CloudServices'),_0x35e9ee=_0x4b8993['plugins']['get'](_0xcbf99a);if(!_0x50c7ef['token'])throw new _0x2cb01c('websocketgateway-missing-token',this);if(!_0x50c7ef['webSocketUrl'])throw new _0x2cb01c('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x50c7ef['token'],_0x50c7ef['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3ba7b0=>{if(this['connection']=_0x3ba7b0,this['bind']('state')['to'](_0x3ba7b0,'state',this,'_isBrowserOffline',(_0x23b0ec,_0x2e5295)=>('connected'!==_0x23b0ec&&(this['_shouldPluginsReconnect']=!0x0),_0x2e5295||_0x23b0ec!==_0xc90cf7['CONNECTED']?_0xc90cf7['DISCONNECTED']:this['state']==_0xc90cf7['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xc90cf7['CONNECTING']):_0xc90cf7['CONNECTED'])),this['connection']['on']('error',(_0x289ce3,_0x43f0ed)=>{if('limitExceeded'!==_0x43f0ed['code'])throw console['error'](_0x43f0ed),new _0x2cb01c('cloudservices-init',null,{'originalError':_0x43f0ed});_0x35e9ee['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x3ba7b0['me'])return new Promise(_0x1af305=>_0x3ba7b0['on']('change:me',_0x1af305));})['catch'](_0x2b2599=>{throw console['error'](_0x2b2599),new _0x2cb01c('cloudservices-init',null,{'originalError':_0x2b2599});});}['addToReconnectionStack'](_0x5a431b){if('function'!=typeof _0x5a431b['reconnect'])throw new _0x2cb01c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5a431b))throw new _0x2cb01c('websocketgateway-plugin-already-registered',this,{'name':_0x5a431b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5a431b);}['removeFromReconnectionStack'](_0x4bcfca){this['_reconnectionStack']['delete'](_0x4bcfca);}['isInReconnectionStack'](_0x35c24e){return this['_reconnectionStack']['has'](_0x35c24e);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x55eb46=>_0x55eb46['reconnect']())))['then'](()=>this['state']=_0xc90cf7['CONNECTED'])['catch'](_0x371773=>{throw console['error'](_0x371773),new _0x2cb01c('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xc90cf7['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1e7b17{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x688a1d];}constructor(_0xd49d21){super(_0xd49d21),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4ead9b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x688a1d);}['init'](){const _0xb7c7a5=this['context']['plugins']['get'](n);this['listenTo'](_0xb7c7a5,'change:state',(_0x4eb5ce,_0x352f06,_0x34953b)=>{if('connected'!==_0x34953b)this['channelSessions']['forEach'](_0x19e8d7=>_0x19e8d7['clear']()),this['channelConnectedUsers']['forEach'](_0x1832c7=>_0x1832c7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x519201,_0x327b27]of this['_registeredSessions'])for(const _0x39319f of _0x327b27)this['_handleSessionAdd'](_0x519201,_0x39319f);}}),this['_createUser'](_0xb7c7a5['connection']['me'],!0x0);}['register'](_0x4b8395,_0x3dcad9){if(this['_registeredSessions']['has'](_0x4b8395))throw new _0x2cb01c('sessions-register-already-registered',null,{'channelId':_0x4b8395});this['_registeredSessions']['set'](_0x4b8395,_0x3dcad9),this['channelSessions']['set'](_0x4b8395,new _0x4ead9b()),this['channelConnectedUsers']['set'](_0x4b8395,new _0x4ead9b()),this['listenTo'](_0x3dcad9,'add',(_0x128885,_0x1a2bad)=>this['_handleSessionAdd'](_0x4b8395,_0x1a2bad)),this['listenTo'](_0x3dcad9,'remove',(_0x436347,_0x852cd6)=>this['_handleSessionRemove'](_0x4b8395,_0x852cd6));for(const _0x3733da of _0x3dcad9)this['_handleSessionAdd'](_0x4b8395,_0x3733da);}['unregister'](_0x114124){if(!this['_registeredSessions']['has'](_0x114124))throw new _0x2cb01c('sessions-unregister-not-exist',null,{'channelId':_0x114124});const _0x20bbd2=this['_registeredSessions']['get'](_0x114124);this['stopListening'](_0x20bbd2);for(const _0xc9558 of _0x20bbd2)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x114124,_0xc9558);this['_registeredSessions']['delete'](_0x114124),this['channelSessions']['delete'](_0x114124),this['channelConnectedUsers']['delete'](_0x114124);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x5841c7){for(const _0x58b0f5 of this['channelSessions']['values']())for(const _0x19e07f of _0x58b0f5)if(_0x19e07f['id']===_0x5841c7)return _0x19e07f['user'];}['getUserSessions'](_0x2978a4,_0x113689){const _0x164cc5=_0x113689?[this['channelSessions']['get'](_0x113689)]:this['channelSessions']['values'](),_0x49bf7d=new Set();for(const _0x722322 of _0x164cc5)for(const _0x2a22b3 of _0x722322)_0x2a22b3['user']['id']===_0x2978a4['id']&&_0x49bf7d['add'](_0x2a22b3['id']);return _0x49bf7d;}['getUserRole'](_0x5698aa){for(const _0x56bd9c of this['channelSessions']['values']())for(const _0x516e95 of _0x56bd9c)if(_0x516e95['user']===_0x5698aa)return _0x516e95['role'];}['_handleSessionAdd'](_0x222716,_0x1ef51c){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x664d35=_0x1ef51c['user'],_0x255192=this['_users']['getUser'](_0x664d35['id'])||this['_createUser'](_0x664d35),_0x56d091=Object['assign']({},_0x1ef51c,{'user':_0x255192});if(this['channelSessions']['get'](_0x222716)['add'](_0x56d091),!_0x664d35['hiddenInPresenceList']){const _0x1de8d8=this['channelConnectedUsers']['get'](_0x222716);_0x1de8d8['has'](_0x255192['id'])||_0x1de8d8['add'](_0x255192),this['allConnectedUsers']['has'](_0x255192['id'])||_0x664d35['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x255192,_0x255192['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x222716,{'channelId':_0x222716,'session':_0x56d091});}['_handleSessionRemove'](_0x1bb03a,_0x103241){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x101653=this['channelConnectedUsers']['get'](_0x1bb03a),_0x3d1fa9=_0x103241['user'];_0x3d1fa9['id']&&(this['channelSessions']['get'](_0x1bb03a)['remove'](_0x103241['id']),_0x101653['has'](_0x3d1fa9['id'])&&!this['getUserSessions'](_0x3d1fa9,_0x1bb03a)['size']&&_0x101653['remove'](_0x3d1fa9['id']),this['allConnectedUsers']['get'](_0x3d1fa9['id'])&&!this['getUserSessions'](_0x3d1fa9)['size']&&this['allConnectedUsers']['remove'](_0x3d1fa9['id']));}['_createUser'](_0x478741,_0x20ee19){const _0x140bfd=this['_users']['addUser'](_0x478741);return _0x20ee19&&this['_users']['defineMe'](_0x478741['id']),_0x140bfd['orderNumber']=this['_uniqueUsersCount']++,_0x140bfd;}}class P extends _0x2f9917{['_domEmitter']=new(_0x20be11())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2aafc4=this['editor'],_0x2fb94a=_0x2aafc4['plugins']['get'](i);_0x2aafc4['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3945c8,{writer:_0x381c4c})=>function(_0x4b81cb,_0x219f3f,_0x335c28,_0x221d16){const _0x363482=_0x4b81cb['markerName']['split'](':')[0x2],_0x247ebc=_0x335c28['getUserBySessionId'](_0x363482);if(!_0x247ebc||_0x363482===_0x335c28['mySessionId'])return;if(!_0x221d16['model']['schema']['checkChild'](_0x4b81cb['markerRange']['start'],'$text'))return;const _0x2c0bf3={'class':'ck-user__marker\x20'+_0x247ebc['color']['getMarkerClass'](),'data-name':_0x247ebc['name'],'data-session-id':_0x363482},_0x78858a=_0x221d16['model']['markers']['get'](_0x4b81cb['markerName']),_0x15b762=_0x78858a['getStart'](),_0x5e1da1=_0x15b762['nodeAfter'],_0x42d221=_0x221d16['model']['schema'];if(_0x5e1da1&&_0x42d221['isObject'](_0x5e1da1)&&_0x42d221['isInline'](_0x5e1da1)&&!_0x221d16['model']['markers']['get']('user:range:'+_0x363482)['getRange']()['isCollapsed'])return;const _0x35127e=_0x15b762['parent'];return _0x221d16['model']['schema']['isLimit'](_0x35127e)&&!_0x221d16['model']['hasContent'](_0x35127e)&&(_0x2c0bf3['contenteditable']=!0x1),function(_0x1bb77a,_0x9a1f96,_0x39b47f){const _0x3ad373=_0x1bb77a['createUIElement']('span',_0x9a1f96);return _0x1bb77a['setCustomProperty']('userPositionMarker',!0x0,_0x3ad373),_0x3ad373['render']=function(_0x247ca7){const _0x290ad1=this['toDomElement'](_0x247ca7),_0x3809ac=document['createElement']('span');return _0x3809ac['classList']['add']('ck-user__marker-tooltip'),_0x3809ac['setAttribute']('contenteditable','false'),_0x3809ac['setAttribute']('spellcheck','false'),_0x3809ac['textContent']=_0x39b47f['name'],_0x290ad1['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3809ac['outerHTML']+'⁠',_0x290ad1['addEventListener']('mouseenter',()=>{_0x290ad1['classList']['add']('ck-user__marker_hovered');}),_0x290ad1['addEventListener']('mouseleave',()=>{_0x290ad1['classList']['remove']('ck-user__marker_hovered');}),_0x290ad1;},_0x3ad373['isSimilar']=function(_0xa2592e){return!(!this['getCustomProperty']('userPositionMarker')||!_0xa2592e['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xa2592e['getAttribute']('data-session-id'));},_0x3ad373;}(_0x219f3f,_0x2c0bf3,_0x247ebc);}(_0x3945c8,_0x381c4c,_0x2fb94a,_0x2aafc4)}),_0x2aafc4['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x171c78=>function(_0x5d67ef,_0x40efcf){const _0x48b3da=_0x5d67ef['markerName']['split'](':')[0x2];if(_0x48b3da===_0x40efcf['mySessionId'])return null;const _0x4bffd4=_0x40efcf['getUserBySessionId'](_0x48b3da);if(!_0x4bffd4)return{'id':_0x48b3da,'classes':[]};return{'id':_0x48b3da,'classes':['ck-user__selection',_0x4bffd4['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x48b3da},'priority':0x7d0+_0x4bffd4['orderNumber']};}(_0x171c78,_0x2fb94a)}),function(_0x265242){const _0x3f52e4=_0x265242['model'],_0x32e2f1=new Map(),_0x98c1fc=_0x265242['plugins']['get'](i);_0x3f52e4['markers']['on']('update:user:range',(_0x4ba116,_0x661e2e,_0xb8931e,_0x2c43da)=>{if(!_0x2c43da&&_0x32e2f1['get'](_0x661e2e['name']))return _0x32e2f1['get'](_0x661e2e['name'])['detach'](),void _0x32e2f1['delete'](_0x661e2e['name']);const _0x27976d=_0x661e2e['name']['split'](':')[0x2];if(_0x27976d===_0x98c1fc['mySessionId'])return;const _0x9ffe09='user:position:'+_0x27976d;_0x3f52e4['markers']['has'](_0x9ffe09)&&_0x265242['editing']['reconvertMarker'](_0x9ffe09),_0x661e2e['on']('change:range',(_0x7ba003,_0x48bef7,_0x1d05ad)=>{if('$graveyard'!=_0x48bef7['root']['rootName']&&'$graveyard'==_0x661e2e['getRange']()['root']['rootName']&&!_0x32e2f1['has'](_0x661e2e['name'])){const _0x460749=_0x3f52e4['schema']['getNearestSelectionRange'](_0x1d05ad['deletionPosition']);if(_0x460749){const _0x18c062=_0x3271bd['fromRange'](_0x460749);_0x32e2f1['set'](_0x661e2e['name'],_0x18c062),_0x18c062['on']('change:range',(_0x138e68,_0x439418,_0x238866)=>{if('$graveyard'==_0x18c062['root']['rootName']){const _0x1dfb07=_0x3f52e4['schema']['getNearestSelectionRange'](_0x238866['deletionPosition']);_0x1dfb07?(_0x18c062['start']=_0x1dfb07['start'],_0x18c062['end']=_0x1dfb07['end']):(_0x32e2f1['delete'](_0x661e2e['name']),_0x18c062['detach']());}});}}});}),_0x3f52e4['document']['on']('change',()=>{_0x32e2f1['size']>0x0&&_0x3f52e4['enqueueChange']({'isUndoable':!0x1},_0x3d7c9a=>{for(const [_0x1a1826,_0x56e2cc]of _0x32e2f1)'$graveyard'==_0x3f52e4['markers']['get'](_0x1a1826)['getRange']()['root']['rootName']&&(G(_0x1a1826['split'](':')[0x2],_0x56e2cc['toRange'](),_0x3f52e4,_0x3d7c9a),_0x56e2cc['detach']());_0x32e2f1['clear']();});});}(_0x2aafc4),this['_domEmitter']['listenTo'](_0x27bd36['document'],'keydown',(_0x381d52,{key:_0x417933})=>{'Escape'===_0x417933&&function(_0x119eaf){_0x119eaf['editing']['view']['change'](_0x4d4d9c=>{for(const _0x556d3d of _0x119eaf['model']['markers']){if(!_0x556d3d['name']['startsWith']('user:position'))continue;const _0x279d46=_0x119eaf['editing']['mapper']['markerNameToElements'](_0x556d3d['name']);if(_0x279d46){for(const _0x5124d0 of _0x279d46)_0x4d4d9c['removeClass']('ck-user__marker_hovered',_0x5124d0);}}});}(_0x2aafc4);},{'useCapture':!0x0});}['afterInit'](){const _0xaca42e=this['editor'],_0x1cec4a=_0xaca42e['commands']['get']('undo');_0x1cec4a&&_0xaca42e['model']['on']('applyOperation',(_0x14d398,_0x21e05d)=>{const _0x544997=_0x21e05d[0x0];if(!_0x544997['isDocumentOperation'])return;if('marker'!=_0x544997['type']||!_0x544997['name']['startsWith']('user:'))return;const _0x337e31=_0x544997['batch'];_0x1cec4a['_createdBatches']['has'](_0x337e31)&&(_0x544997['newRange']=_0x544997['oldRange']?_0xaca42e['model']['createRange'](_0x544997['oldRange']['start'],_0x544997['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4fc7a9=this['editor'],_0x1244d5=_0x4fc7a9['model']['document'],_0x34caeb=_0x4fc7a9['plugins']['get'](i);_0x4fc7a9['model']['enqueueChange']({'isUndoable':!0x1},_0x1010ae=>{const _0x595639='user:range:'+_0x34caeb['mySessionId'],_0x4db344='user:position:'+_0x34caeb['mySessionId'],_0x38d8a8=_0x4fc7a9['model']['markers']['has'](_0x595639);_0x4fc7a9['editing']['view']['hasDomSelection']?G(_0x34caeb['mySessionId'],_0x1244d5['selection']['getFirstRange'](),_0x4fc7a9['model'],_0x1010ae):_0x38d8a8&&(_0x1010ae['removeMarker'](_0x595639),_0x1010ae['removeMarker'](_0x4db344));});}}function G(_0x112927,_0x15ac22,_0x52f3f1,_0x479649){const _0x1a3aac='user:range:'+_0x112927,_0x3e5107='user:position:'+_0x112927,_0x376329=_0x15ac22['getContainedElement']();let _0x580732=_0x15ac22['start'];if(_0x376329&&_0x376329['is']('element','tableCell')){const _0x4571ea=function(_0x3c868f,_0x426039){for(const _0x4ad0cd of _0x3c868f['getPositions']())if(_0x426039['schema']['checkChild'](_0x4ad0cd,'$text'))return _0x4ad0cd;}(_0x15ac22,_0x52f3f1);_0x4571ea&&(_0x580732=_0x4571ea,_0x15ac22=_0x479649['createRange'](_0x580732));}const _0x15695c=_0x479649['createRange'](_0x580732);_0x52f3f1['markers']['has'](_0x1a3aac)?(_0x479649['updateMarker'](_0x1a3aac,{'range':_0x15ac22}),_0x479649['updateMarker'](_0x3e5107,{'range':_0x15695c})):(_0x479649['addMarker'](_0x1a3aac,{'range':_0x15ac22,'usingOperation':!0x0}),_0x479649['addMarker'](_0x3e5107,{'range':_0x15695c,'usingOperation':!0x0}));}function U(_0x1056b4,_0x3e7ee5,_0x20105a){const _0x4c5678=_0x1056b4['t'],t=_0x1056b4['t'];switch(_0x3e7ee5){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x4c5678({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x20105a);default:return'';}}let N=0x1;class l extends _0x2f9917{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x5a3001)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,P,_0x2a2a9f,_0x688a1d,_0xcbf99a];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x498389=this['serverHistory']['getOperations']();for(let _0x3cfe1b=_0x498389['length']-0x1;_0x3cfe1b>=0x0;_0x3cfe1b--){const _0x48957c=_0x498389[_0x3cfe1b];if(!this['_disconnectionOperations']['has'](_0x48957c))return _0x48957c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1c2484){if(super(_0x1c2484),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x29b035(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2cb01c('collaboration-missing-channelid',this);const _0x2ba962=_0x1c2484['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x2ba962,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4123aa(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new M(this['_disconnectionOperations']);}['init'](){const _0xa39f9d=this['editor'],_0xbcde3=_0xa39f9d['plugins']['get'](_0x688a1d),_0x163409=_0xa39f9d['plugins']['get'](n);this['listenTo'](_0xbcde3,'getOperationAuthor',(_0x4b67df,_0x481db7)=>{const _0x229046=_0x481db7[0x0];_0x229046['_authorId']&&(_0x4b67df['return']=_0xbcde3['getUser'](_0x229046['_authorId']),_0x4b67df['stop']()),null===_0x229046['_authorId']&&(_0x4b67df['return']=null,_0x4b67df['stop']());},{'priority':'high'}),this['listenTo'](_0xa39f9d['model']['document']['selection'],'change:range',(_0x457009,_0x1880c0)=>{_0x1880c0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xa39f9d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xa39f9d['model']['on']('applyOperation',(_0x236dfd,_0x52ad3a)=>{const _0x44e7f3=_0x52ad3a[0x0];_0x44e7f3['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x44e7f3),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x163409,'state',this,'_hasSynchronizationProblem',(_0x545b35,_0x473c19)=>'connected'===_0x545b35&&!_0x473c19),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xa39f9d['disableReadOnlyMode']('rtc-offline'):_0xa39f9d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xa39f9d['disableReadOnlyMode']('rtc-offline'):_0xa39f9d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x220b37=this['editor']['plugins']['get'](i),_0x33e30e=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x220b37['unregister'](this['_channelId']);const _0x30b9c4=await this['_service']['reconnect'](_0x33e30e['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x30b9c4)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1cfa5f=await this['_service']['getConnectedSessions']();_0x220b37['register'](this['_channelId'],_0x1cfa5f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x316b7d){if(function(_0x58341b){return'404'===_0x58341b['code'];}(_0x316b7d)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2f97cc){return'409'===_0x2f97cc['code'];}(_0x316b7d)){const _0xb06c10=U(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0xb06c10);}else{if(!(_0x316b7d instanceof B))throw _0x316b7d;this['_handleReconnectionError']();}}}}['destroy'](){const _0x760394=this['editor']['plugins']['get'](n),_0xed5e8f=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0xed5e8f['channelSessions']['has'](this['_channelId'])&&_0xed5e8f['unregister'](this['_channelId']),_0x760394['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4e0489){if(this['sessionId']!==_0x4e0489['sessionId']&&this['_lastSyncedOperationId']!==_0x4e0489['lastOperationId'])throw new B();return this['sessionId']=_0x4e0489['sessionId'],this['_handleServerResponse']([],{..._0x4e0489,'wereChangesApplied':!0x1,'data':_0x4e0489['data']},'reconnect');}async['_connectService'](_0x24f898,_0x5813e9=!0x1){const {connection:_0x2037f3}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x2037f3,this['_channelId'])['then'](_0x111f8a=>this['_initSessionsHandling'](_0x111f8a))['catch'](_0x450339=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x450339);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x228e59,_0x380406)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x380406);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x2cbb3e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x24f898);this['_isPendingUpdate']=!0x0;const _0x2a7bc0=await this['_service']['connect'](_0x2037f3,this['_compressOperations'](_0x24f898),_0x2cbb3e);if(this['sessionId']=_0x2a7bc0['sessionId'],_0x5813e9){if(!_0x2a7bc0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2a7bc0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x24f898,_0x2a7bc0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2a7bc0,_0x24f898);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x31db01=this['editor']['plugins']['get'](i),_0x2e2cdd=this['editor']['plugins']['get'](P),_0xda0496=_0x31db01['channelSessions']['get'](this['_channelId']);_0xda0496&&_0xda0496['length']>0x1?_0x2e2cdd['createUserMarkerOperations']():this['listenTo'](_0x31db01,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x31db01['channelSessions']['get'](this['_channelId'])['length']&&_0x2e2cdd['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x40ccbb,_0x14def3,_0x34d308,_0x132b01){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x14def3){const _0xbfc2d7=this['_decompressOperations'](_0x34d308,_0x132b01);await this['_fetchMissingUsers'](_0xbfc2d7),this['_handleExternalOperations'](_0xbfc2d7,_0x14def3,_0x34d308['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x102e71}=this['editor'];let _0x4fac6b;try{_0x4fac6b=await this['_service']['getDocumentDetails']();}catch{const _0xabef3a=U(_0x102e71,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0xabef3a);}const _0x2b173c=_0x4fac6b['currentDocumentSession']||_0x4fac6b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2b173c['lastOperationId']){const _0x404ef3=U(_0x102e71,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x404ef3);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2ca492){const _0x49b960=this['editor']['plugins']['get'](i);this['listenTo'](_0x49b960,'sessionAdd:'+this['_channelId'],(_0x1b4222,{session:_0x4eb91f})=>{if(_0x4eb91f['id']===_0x49b960['mySessionId']){_0x1b4222['off']();const _0x14a637=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1dcf6f=_0x4eb91f['permissions'];_0x14a637&&_0x14a637['isEnabled']&&(_0x1dcf6f=_0x1dcf6f['filter'](_0x4b990c=>'document:write'!==_0x4b990c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1dcf6f,this['_channelId']);}}),_0x49b960['register'](this['_channelId'],_0x2ca492);}['_initThrowingOnDataSet'](){const _0x484938=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1565d0)=>{if(!_0x1565d0[_0x1565d0['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2cb01c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x484938['apply'](this['editor']['data'],_0x1565d0);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x28ea90,[_0xe9dd11])=>{if(this['_document']['version'])throw new _0x2cb01c('realtimecollaborationclient-init-document-already-initialized',this);_0x28ea90['stop'](),this['_setPendingAction']();const _0x21731b=this['editor']['config']['get']('rootsAttributes'),_0x123c35=this['_getOperationsFromInitData'](_0xe9dd11,_0x21731b);0x0==_0x123c35['length']&&_0x123c35['push'](new _0x2e8c85(0x0)),_0x28ea90['return']=this['_connectService'](_0x123c35)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1902e4=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1902e4))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x46fb16,[_0x4ee1e0,_0x1691c1])=>{_0x46fb16['stop']();const _0x37d831=this['editor']['model']['document']['getRoot'](_0x4ee1e0);if(!this['_knownRootNames']['has'](_0x4ee1e0)){const _0x2cfdce=_0x1691c1&&_0x1691c1['data']?_0x1691c1['data']:'',_0x5ac82b=_0x1691c1&&_0x1691c1['attributes']?_0x1691c1['attributes']:{};await this['_loadRoot'](_0x4ee1e0,_0x2cfdce,_0x5ac82b);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x37d831['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x37d831);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x16506a){const _0x174b1d=this['editor']['plugins']['get'](_0x688a1d),{connection:_0x529e93}=this['editor']['plugins']['get'](n),_0x218367=new Set();for(const _0x49dd0f of _0x16506a){const _0x1f837e=_0x49dd0f['_authorId'];_0x1f837e&&!_0x174b1d['getUser'](_0x1f837e)&&_0x218367['add'](_0x1f837e);}if(0x0===_0x218367['size'])return;const _0x42a92d=await ut['getMany'](_0x529e93,Array['from'](_0x218367));for(const _0x24bb2b of _0x42a92d)_0x174b1d['getUser'](_0x24bb2b['id'])||_0x174b1d['addUser'](_0x24bb2b);}['_getOperationsFromInitData'](_0x1f0e8c,_0x54483c={}){const _0x190cb0=this['editor']['model'],_0x5a2bfa=[];let _0x5ce61c=0x0;const _0x5bd2ff='string'==typeof _0x1f0e8c?{'main':_0x1f0e8c}:_0x1f0e8c;for(const _0x1b3864 of Object['keys'](_0x5bd2ff)){if(!this['_document']['roots']['has'](_0x1b3864))throw new _0x2cb01c('realtimecollaborationclient-init-non-existent-root',this);const _0xe2ef20=this['editor']['data']['parse'](_0x5bd2ff[_0x1b3864]),_0x59f1f7=this['_document']['getRoot'](_0x1b3864),_0x369e02=new _0xa21fa5(_0x190cb0['createPositionAt'](_0x59f1f7,0x0),_0xe2ef20,_0x5ce61c++);_0x5a2bfa['push'](_0x369e02);for(const [_0x2d1f9d,_0xa296ff]of _0xe2ef20['markers']){const _0x2de683=_0x190cb0['createRange'](_0x190cb0['createPositionFromPath'](_0x59f1f7,_0xa296ff['start']['path']['slice']()),_0x190cb0['createPositionFromPath'](_0x59f1f7,_0xa296ff['end']['path']['slice']())),_0x1dfc9c=new _0x4e4c61(_0x2d1f9d,null,_0x2de683,_0x190cb0['markers'],!0x0,_0x5ce61c++);_0x5a2bfa['push'](_0x1dfc9c);}}if(_0x54483c)for(const [_0x453ff8,_0x5f1ae0]of Object['entries'](_0x54483c)){const _0x124d93=_0x190cb0['document']['getRoot'](_0x453ff8);if(!_0x124d93)throw new _0x2cb01c('multi-root-editor-root-attributes-no-root',null);for(const [_0x3bdc89,_0x1ac5a1]of Object['entries'](_0x5f1ae0))if(null!==_0x1ac5a1){const _0x17fcee=new _0x5749dc(_0x124d93,_0x3bdc89,null,_0x1ac5a1,_0x5ce61c++);_0x5a2bfa['push'](_0x17fcee);}}return _0x5a2bfa;}async['_loadRoot'](_0x3be1d3,_0x41e49b,_0x25048d){this['_getOperationsFromInitData']({[_0x3be1d3]:_0x41e49b},{[_0x3be1d3]:_0x25048d})['forEach']((_0x18a8e5,_0x1f97f6)=>{_0x18a8e5['baseVersion']=this['_document']['version']+_0x1f97f6,_0x18a8e5['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x18a8e5);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x16e69b,_0x16a8ff){let _0x647831;this['_offset']=_0x16e69b['offset'];const _0x29f60a=_0x16e69b['wereChangesApplied']&&!_0x16e69b['initData'],_0x22d35b=_0x29f60a?0x0:_0x16e69b['data']['baseVersion'];if(_0x16a8ff['forEach'](_0x5cfd64=>{_0x5cfd64['_isInit']=!0x0,_0x5cfd64['createdAt']=_0x16e69b['sessionCreatedAt'],_0x5cfd64['_authorId']=null;}),_0x29f60a)_0x647831=_0x16a8ff,this['_applyOperationsSet'](_0x647831,_0x29f60a);else{if(_0x16e69b['initData']){const _0x1240bd=this['_getOperationsFromInitData'](_0x16e69b['initData']);this['_document']['history']['version']=-_0x1240bd['length'],_0x1240bd['forEach'](_0x2e4fd=>{_0x2e4fd['baseVersion']-=_0x1240bd['length'],_0x2e4fd['createdAt']=_0x16e69b['sessionCreatedAt'],_0x2e4fd['_isInit']=!0x0,_0x2e4fd['_authorId']=null;}),this['_applyOperationsSet'](_0x1240bd,!0x0),this['serverHistory']['version']=-_0x1240bd['length']+this['_offset'],this['_updateServerHistory'](_0x1240bd);}this['_document']['history']['version']=_0x22d35b,_0x647831=this['_decompressOperations'](_0x16e69b['data'],_0x16e69b['metadata']),await this['_fetchMissingUsers'](_0x647831),this['_applyOperationsSet'](_0x647831,_0x29f60a);}_0x16e69b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x647831,_0x16e69b['lastOperationId']),this['_lastSyncedOperationId']=_0x16e69b['lastOperationId']),this['serverHistory']['version']=_0x22d35b+this['_offset'],this['_updateServerHistory'](_0x647831),_0x16a8ff['filter'](_0xa65958=>{const _0x37ff22=this['_getAffectedRoot'](_0xa65958);return _0x37ff22&&!this['_knownRootNames']['has'](_0x37ff22);})['forEach']((_0x24e505,_0x279958)=>{_0x24e505['baseVersion']=this['_document']['version']+_0x279958,this['_saveOperationInBuffer'](_0x24e505);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x21b57f,_0x21ee45){const _0x1a63e3=_0x21ee45&&_0x21ee45['message'];if(_0x1a63e3&&_0x1a63e3['startsWith']('realtimecollaborationclient'))throw _0x21ee45;const _0x2edaa6=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x2edaa6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2cb01c(_0x21b57f,this['editor'],_0x1a63e3?{'originalError':_0x1a63e3}:void 0x0);}['_saveOperationInBuffer'](_0x45b26e){this['_knownOperations']['has'](_0x45b26e)||(this['_knownOperations']['add'](_0x45b26e),this['_bufferedOperations']['push'](_0x45b26e),this['_pendingAction']||'marker'==_0x45b26e['type']&&!_0x45b26e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5d9b39=!0x1){!_0x5d9b39&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x46ca88=>{_0x46ca88&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x54799d=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x405880){return _0x405880['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x405880['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x405880['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x54799d)||this['_crash'](_0x54799d['message'],_0x54799d);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2eff59=>{this['on']('change:_isPendingUpdate',()=>{_0x2eff59();});});}async['_sendBufferedOperations'](){const _0x367c7b=this['editor']['plugins']['get'](P);if(this['_shouldSendSelectionUpdate']()&&(_0x367c7b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x351a62=[...this['_bufferedOperations']];for(const _0x4d5b39 of _0x351a62)_0x4d5b39['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4d5b39);const _0x43602=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x351a62),_0x2888e4=N++,_0x27544e=this['_compressOperations'](_0x351a62),_0x19a4fa=await this['_service']['sendOperations'](_0x27544e,_0x27544e['baseVersion'],_0x43602);try{return await this['_handleServerResponse'](_0x351a62,_0x19a4fa,_0x2888e4);}catch(_0x1fc5df){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1fc5df);}}async['_handleServerResponse'](_0x320914,_0x2831b3,_0x2b25b8){if('error'in _0x2831b3)throw _0x2831b3['error'];let _0x498266=!0x1;if(_0x2831b3['wereChangesApplied']){_0x2831b3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2831b3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xf3b663=>!_0x320914['includes'](_0xf3b663));for(const _0x4787e0 of _0x320914)_0x4787e0['createdAt']='lastOperationAcceptedAt'in _0x2831b3&&_0x2831b3['lastOperationAcceptedAt']||void 0x0;x(_0x320914,_0x2831b3['version']-_0x320914['length']),this['_updateServerHistory'](_0x320914);const _0x564aa9=_0x320914['filter'](_0x5925db=>{if(!_0x5925db['_isInit'])return!0x1;const _0x34dcac=this['_getAffectedRoot'](_0x5925db);return _0x34dcac&&!this['_knownRootNames']['has'](_0x34dcac);});x(_0x564aa9,this['_document']['version']),this['_applyOperationsSet'](_0x564aa9),_0x498266=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x432da0=this['_decompressOperations'](_0x2831b3['data'],_0x2831b3['metadata'])['filter'](_0x5c2474=>_0x5c2474['baseVersion']>=this['_lastServerVersion']);_0x432da0['forEach'](_0x1bfea4=>this['_addKnownRoot'](_0x1bfea4)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x68241b=>!_0x68241b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x68241b))),this['_bufferedOperations']['length']&&x(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x432da0),_0x498266=this['_handleExternalOperations'](_0x432da0,_0x2831b3['version'],_0x2831b3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x498266?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3c06fb,_0x4207f,_0x501ac7){try{const _0x22bf07={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x56bd19,operationsB:_0x48d238,originalOperations:_0x371797}=_0x4eebe0(_0x3c06fb,this['_bufferedOperations'],_0x22bf07);x(_0x56bd19,this['_document']['version']),x(_0x48d238,_0x4207f);for(const _0x93804c of _0x56bd19){const _0x59b0b4=_0x371797['get'](_0x93804c);_0x93804c['_authorId']=_0x59b0b4?_0x59b0b4['_authorId']:null;}_0x501ac7&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3c06fb,_0x501ac7),this['_lastSyncedOperationId']=_0x501ac7),this['_bufferedOperations']=[..._0x48d238],this['_applyOperationsSet'](_0x56bd19),this['_updateServerHistory'](_0x3c06fb);}catch(_0x46f3c2){return console['error'](_0x46f3c2),!0x1;}return!0x0;}['_applyOperationsSet'](_0x23b33a,_0x2b2ce8=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x49da41=>{for(const _0xf831fb of _0x23b33a)this['_knownOperations']['add'](_0xf831fb),this['_addKnownRoot'](_0xf831fb),_0x49da41['batch']['addOperation'](_0xf831fb),this['editor']['model']['applyOperation'](_0xf831fb);});}['_addKnownRoot'](_0x13fef6){const _0x7325aa=this['_getAffectedRoot'](_0x13fef6);_0x7325aa&&this['_knownRootNames']['add'](_0x7325aa);}['_getAffectedRoot'](_0x8eccc0){let _0x5e1e67,_0x4e2a50;switch(_0x8eccc0['type']){case'insert':_0x5e1e67=_0x8eccc0['position']['root'];break;case'marker':if(_0x4e2a50=_0x8eccc0['newRange'],!_0x4e2a50)return null;_0x5e1e67=_0x4e2a50['root'];break;case'addRootAttribute':_0x5e1e67=_0x8eccc0['root'];break;case'addRoot':_0x5e1e67=_0x8eccc0['affectedSelectable'];break;case'move':_0x5e1e67=_0x8eccc0['targetPosition']['root'];break;default:return null;}return _0x5e1e67['rootName'];}['_updateServerHistory'](_0x4f92b7){_0x4f92b7['forEach'](_0xd5a44a=>{const _0x115ad3=_0xd5a44a['clone']();_0x115ad3['_authorId']=_0xd5a44a['_authorId'],_0x115ad3['_isInit']=!!_0xd5a44a['_isInit'],_0x115ad3['createdAt']=_0xd5a44a['createdAt'],_0x115ad3['baseVersion']+=this['_offset'],_0xd5a44a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x115ad3),this['serverHistory']['addOperation'](_0x115ad3);});}['_handleReconnectionError'](_0x19438d){const _0x5e959a=this['editor']['plugins']['get']('Notification'),_0x4e993d=this['editor']['locale'];_0x19438d||(_0x19438d=U(_0x4e993d,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x5e959a['showWarning'](_0x19438d,{'title':U(_0x4e993d,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2a2a9f)['add'](U(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2a2a9f)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x30b50d){const _0x15c8ac=_0x30b50d['map'](_0x2b159e=>_0x2b159e['toJSON']());return this['_compressor']['compress'](_0x15c8ac);}['_decompressOperations'](_0x16f7af,_0x5a43b6){return this['_compressor']['decompress'](_0x16f7af)['map']((_0x33ed5c,_0x418a1d)=>{const _0x253865='init'==_0x5a43b6[_0x418a1d]['type'];if('InsertOperation'==_0x33ed5c['__className']){const _0x3e8748=_0x33ed5c['position']['root'];!this['_document']['getRoot'](_0x3e8748)&&(this['_document']['createRoot']('$root',_0x3e8748)['_isAttached']=!0x1);}const _0x358b37=_0x493c8d['fromJSON'](_0x33ed5c,this['_document']);return _0x358b37['wasUndone']=_0x33ed5c['wasUndone'],_0x358b37['_isInit']=_0x253865,_0x358b37['_authorId']=_0x253865?null:_0x5a43b6[_0x418a1d]['userId'],_0x358b37['_isDisconnection']='cs:removeUser'===_0x5a43b6[_0x418a1d]['type'],_0x358b37['createdAt']=_0x5a43b6[_0x418a1d]['createdAt'],_0x358b37;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x47afe7=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x47afe7&&_0x47afe7['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class B extends Error{}function x(_0x16641b,_0x5aecce){for(const _0x37770e of _0x16641b)_0x37770e['baseVersion']=_0x5aecce++;}class M{['_ignoredOperations'];['_operationToId'];constructor(_0x1134ec){this['_ignoredOperations']=_0x1134ec,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2e4f28){let _0x28b420=_0x2e4f28['length'];for(;_0x28b420--;){const _0x3bf032=_0x2e4f28[_0x28b420];if(!this['_ignoredOperations']['has'](_0x3bf032)){if(!this['_operationToId']['has'](_0x3bf032)){const _0x1c7c1d=_0x24a687()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3bf032,_0x1c7c1d);}return this['_operationToId']['get'](_0x3bf032);}}}['setIdForTheLastOperation'](_0x5b2323,_0x2d12ef){if(!_0x2d12ef)return;let _0x1a4d10=_0x5b2323['length'];for(;_0x1a4d10--;){const _0x1d9420=_0x5b2323[_0x1a4d10];this['_ignoredOperations']['has'](_0x1d9420)||this['_operationToId']['set'](_0x1d9420,_0x2d12ef);}}}class a extends _0x2f9917{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1e7b17{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x25f3cf)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x688a1d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x24eb2d){super(_0x24eb2d),this['_services']=new Map();}async['init'](){const _0x5df8ce=this['context'],_0xd0499d=_0x5df8ce['plugins']['get']('CommentsRepository');if(_0x5df8ce['plugins']['get'](n)['addToReconnectionStack'](this),_0xd0499d['adapter']={'addCommentThread':async({channelId:_0x16a85c,threadId:_0x57423e,comments:_0x49747a,resolvedAt:_0x4c4568,resolvedBy:_0x4fbd81,context:_0x2a7c2b,attributes:_0x334ccc})=>{const _0x387878=await this['_getService'](_0x16a85c)['addCommentThread']({'commentThreadId':_0x57423e,'comments':_0x49747a['map'](_0x54269e=>function(_0x1f002b,_0x12742b,_0x1dff46){return{'commentThreadId':_0x1dff46,'commentId':_0x1f002b['commentId'],'userId':_0x1f002b['authorId'],'content':_0x1f002b['content'],'documentId':_0x12742b,'createdAt':_0x1f002b['createdAt'],'attributes':_0x1f002b['attributes']||{}};}(_0x54269e,_0x16a85c,_0x57423e)),'resolvedAt':_0x4c4568,'resolvedBy':_0x4fbd81,'context':_0x2a7c2b,'attributes':_0x334ccc})['catch'](ft);return{'threadId':_0x387878['commentThreadId'],'comments':_0x387878['comments']};},'getCommentThread':async({channelId:_0x4ebbd3,threadId:_0x43bb15})=>{const _0x4aedd2=await this['_getService'](_0x4ebbd3)['getCommentThread'](_0x43bb15)['catch'](v)['catch'](ft);return _0x4aedd2?_0x4aedd2['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4aedd2]),{'threadId':_0x4aedd2['commentThreadId'],'comments':_0x4aedd2['comments']['map'](p),'context':_0x4aedd2['context'],'resolvedAt':_0x4aedd2['resolvedAt'],'resolvedBy':_0x4aedd2['resolvedBy'],'attributes':_0x4aedd2['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x266012,threadId:_0x21abd9,context:_0x368ae9,unlinkedAt:_0x413bda,attributes:_0x1c64e0})=>this['_getService'](_0x266012)['updateCommentThread']({'commentThreadId':_0x21abd9,'context':_0x368ae9,'attributes':_0x1c64e0,'unlinkedAt':_0x413bda})['catch'](v)['catch'](ft),'resolveCommentThread':async({channelId:_0x509f22,threadId:_0x8804ac})=>{const _0x1628c9=await this['_getService'](_0x509f22)['resolveCommentThread'](_0x8804ac)['catch'](v)['catch'](ft);return{'threadId':_0x1628c9['commentThreadId'],'resolvedAt':_0x1628c9['resolvedAt'],'resolvedBy':_0x1628c9['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3ef2cc,threadId:_0x286ba1})=>this['_getService'](_0x3ef2cc)['reopenCommentThread'](_0x286ba1)['catch'](v)['catch'](ft),'removeCommentThread':({channelId:_0x3e9377,threadId:_0x2e8184})=>this['_getService'](_0x3e9377)['removeCommentThread'](_0x2e8184)['catch'](v)['catch'](ft),'addComment':({channelId:_0x2c2b27,threadId:_0x297163,commentId:_0x220522,content:_0x4598ad,attributes:_0x442088})=>this['_getService'](_0x2c2b27)['addComment'](_0x297163,_0x220522,_0x4598ad,_0x442088)['catch'](ft),'updateComment':({channelId:_0x2e45ad,threadId:_0x453ccd,commentId:_0x21f088,content:_0x4c8f53,attributes:_0xa85960})=>this['_getService'](_0x2e45ad)['updateComment'](_0x453ccd,_0x21f088,_0x4c8f53,_0xa85960)['catch'](v)['catch'](ft),'removeComment':({channelId:_0x4bfe5b,threadId:_0x51d525,commentId:_0x2a1ed3})=>this['_getService'](_0x4bfe5b)['removeComment'](_0x51d525,_0x2a1ed3)['catch'](v)['catch'](ft)},_0x5df8ce instanceof _0x4399a8){const _0x465da3=_0x5df8ce['config']['get']('collaboration.channelId'),_0x47519d=_0x5df8ce['plugins']['get'](i);await this['_setUpService'](_0x465da3);const _0x5afe6a=await this['_services']['get'](_0x465da3)['getConnectedSessions']();this['listenTo'](_0x47519d,'sessionAdd:'+_0x465da3,(_0x2a2390,{session:_0x28d0f2})=>{_0x28d0f2['id']===_0x47519d['mySessionId']&&(_0x2a2390['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x28d0f2['permissions'],_0x465da3));}),_0x47519d['register'](_0x465da3,_0x5afe6a);}}async['_setUpService'](_0x4dbd45){if(this['_services']['has'](_0x4dbd45))throw new _0x2cb01c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4dbd45});const _0x392f49=this['context']['plugins']['get']('CommentsRepository'),_0x45a8ff=new s['CommentsService'](_0x4dbd45);this['_services']['set'](_0x4dbd45,_0x45a8ff),this['listenTo'](_0x45a8ff,'commentThreadAdded',(_0x2eaa75,_0x31e103)=>{const {commentThreadId:_0x4f6c25,documentId:_0x4a98fd,context:_0x356f6d,attributes:_0x34f189,resolvedAt:_0x31d795,resolvedBy:_0x4b1721,comments:_0x4a867a}=_0x31e103;_0x392f49['getCommentThread'](_0x4f6c25)||_0x392f49['addCommentThread']({'threadId':_0x4f6c25,'channelId':_0x4a98fd,'comments':_0x4a867a?_0x4a867a['map'](p):[],'context':_0x356f6d,'attributes':_0x34f189,'resolvedAt':_0x31d795,'resolvedBy':_0x4b1721,'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentThreadUpdated',(_0x16c2ae,{commentThreadId:_0x42d3bd,documentId:_0x39f51c,context:_0x1fef51,unlinkedAt:_0x3e1e89,attributes:_0x40fc30})=>{_0x392f49['getCommentThread'](_0x42d3bd)&&_0x392f49['updateCommentThread']({'threadId':_0x42d3bd,'channelId':_0x39f51c,'context':_0x1fef51,'unlinkedAt':_0x3e1e89,'attributes':_0x40fc30,'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentThreadResolved',(_0x384756,{commentThreadId:_0x1af342,resolvedBy:_0xd9f2e9,resolvedAt:_0x58efb7})=>{const _0x1d34e3=_0x392f49['getCommentThread'](_0x1af342);_0x1d34e3&&_0x1d34e3['resolve']({'resolvedBy':_0xd9f2e9,'resolvedAt':_0x58efb7,'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentThreadReopened',(_0x429923,{commentThreadId:_0x3e38db})=>{const _0xb14533=_0x392f49['getCommentThread'](_0x3e38db);_0xb14533&&_0xb14533['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentThreadRemoved',(_0x56dab3,{commentThreadId:_0xc339ae})=>{const _0x4616bc=_0x392f49['getCommentThread'](_0xc339ae);_0x4616bc&&_0x4616bc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentAdded',(_0x4a66be,_0xb872cf)=>{const _0x5852c9=_0xb872cf['commentThreadId'],_0x2c453f=_0x392f49['getCommentThread'](_0x5852c9);_0x2c453f&&_0x2c453f['addComment']({...p(_0xb872cf),'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentUpdated',(_0x467e1c,{commentThreadId:_0x488112,commentId:_0x3c4a53,content:_0x1fe032,attributes:_0x56cb81})=>{const _0xcf75a9=_0x392f49['getCommentThread'](_0x488112);if(_0xcf75a9){const _0x486ca2=_0xcf75a9['getComment'](_0x3c4a53);_0x486ca2&&_0x486ca2['update']({'content':_0x1fe032,'attributes':_0x56cb81,'isFromAdapter':!0x0});}}),this['listenTo'](_0x45a8ff,'commentRemoved',(_0xeb8026,{commentThreadId:_0x2b56fd,commentId:_0x8f504a})=>{const _0x200a1c=_0x392f49['getCommentThread'](_0x2b56fd);if(_0x200a1c){const _0x9d6055=_0x200a1c['getComment'](_0x8f504a);_0x9d6055&&_0x9d6055['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4dbd45);}['destroy'](){if(this['context']instanceof _0x4399a8){const _0x36578a=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x36578a);}}['_terminateService'](_0x3f89d6){if(!this['_services']['has'](_0x3f89d6))throw new _0x2cb01c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3f89d6});this['_getService'](_0x3f89d6)['disconnect'](),this['_services']['delete'](_0x3f89d6);}async['reconnect'](){for(const _0x30b733 of this['_services']['keys']())await this['_connectService'](_0x30b733);if(this['context']instanceof _0x4399a8){const _0x5e4180=this['context']['config']['get']('collaboration.channelId'),_0x58ae15=this['context']['plugins']['get'](i);_0x58ae15['unregister'](_0x5e4180);const _0x4152eb=await this['_services']['get'](_0x5e4180)['getConnectedSessions']();_0x58ae15['register'](_0x5e4180,_0x4152eb);}}async['_connectService'](_0x1cd287){const {connection:_0x3888ac}=this['context']['plugins']['get'](n),_0x35e34f=this['context']['plugins']['get']('CommentsRepository'),_0x51344f=this['_services']['get'](_0x1cd287),_0x1f4d2b=await _0x51344f['connect'](_0x3888ac);await this['_fetchMissingUsersForThreads'](_0x1f4d2b);const _0x3caff8=new Set(Array['from'](_0x35e34f['getCommentThreads']({'channelId':_0x1cd287}),_0x34ca56=>_0x34ca56['id']));for(const _0x25cdab of _0x1f4d2b)_0x25cdab['deletedAt']||_0x3caff8['delete'](_0x25cdab['commentThreadId']);for(const _0x41ec7c of _0x3caff8)_0x35e34f['getCommentThread'](_0x41ec7c)['remove']({'isFromAdapter':!0x0});for(const _0x587724 of _0x1f4d2b){let _0x348fb3=_0x35e34f['getCommentThread'](_0x587724['commentThreadId']);const {commentThreadId:_0x3ddf09,context:_0x5e114e,attributes:_0x1e5cb8,resolvedBy:_0x12232b,resolvedAt:_0xbc610c,unlinkedAt:_0x3d3843,deletedAt:_0x5bdffa}=_0x587724;if(_0x5bdffa)continue;_0x348fb3||(_0x348fb3=_0x35e34f['addCommentThread']({'channelId':_0x1cd287,'threadId':_0x3ddf09,'context':_0x5e114e,'attributes':_0x1e5cb8||{},'resolvedBy':_0x12232b,'resolvedAt':_0xbc610c,'unlinkedAt':_0x3d3843,'isFromAdapter':!0x0}));const _0x31632e=new Set(Array['from'](_0x348fb3['comments'],_0x36872b=>_0x36872b['id']));for(const _0x8ac10c of _0x587724['comments'])_0x31632e['delete'](_0x8ac10c['commentId']);for(const _0x580a8b of _0x31632e)_0x348fb3['getComment'](_0x580a8b)['remove']({'isFromAdapter':!0x0});for(const _0x160f55 of _0x587724['comments']){const _0x22dbb=_0x348fb3['getComment'](_0x160f55['commentId']);_0x22dbb?_0x22dbb['content']!==_0x160f55['content']&&_0x22dbb['update']({'content':_0x160f55['content'],'isFromAdapter':!0x0}):_0x348fb3['addComment'](Object['assign'](p(_0x160f55),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3c0411){if(!this['_services']['has'](_0x3c0411))throw new _0x2cb01c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3c0411});return this['_services']['get'](_0x3c0411);}async['_fetchMissingUsersForThreads'](_0x26d89d){const _0x23a77c=this['context']['plugins']['get'](_0x688a1d),{connection:_0xc196a0}=this['context']['plugins']['get'](n),_0x56db3f=new Set();for(const {resolvedBy:_0x2bcaf1,comments:_0x1b7ccd}of _0x26d89d){_0x2bcaf1&&!_0x23a77c['getUser'](_0x2bcaf1)&&_0x56db3f['add'](_0x2bcaf1);for(const {userId:_0x5e04bf}of _0x1b7ccd)_0x23a77c['getUser'](_0x5e04bf)||_0x56db3f['add'](_0x5e04bf);}if(0x0===_0x56db3f['size'])return;const _0x1e1ddb=await ut['getMany'](_0xc196a0,Array['from'](_0x56db3f));for(const _0x5c02de of _0x1e1ddb)_0x23a77c['getUser'](_0x5c02de['id'])||_0x23a77c['addUser'](_0x5c02de);}}async function v(_0x4db5ba){if('404'!==_0x4db5ba['code'])throw _0x4db5ba;}function ft(_0x5b104c){if((_0x215a82=_0x5b104c)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x215a82['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x215a82['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x215a82;throw _0x5b104c;}function p(_0x75ea5c){return{'threadId':_0x75ea5c['commentThreadId'],'commentId':_0x75ea5c['commentId'],'content':_0x75ea5c['content'],'createdAt':_0x75ea5c['createdAt'],'authorId':_0x75ea5c['userId'],'attributes':_0x75ea5c['attributes']||{}};}class m extends _0x2f9917{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>it)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x209a9e){super(_0x209a9e);const _0x2784b9=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x2784b9);}['init'](){const _0x45b966=this['editor']['plugins']['get'](n),_0x448551=this['editor']['plugins']['get']('TrackChangesEditing');return _0x448551['adapter']={'getSuggestion':async _0x3f30e2=>{await this['_waitForServiceReady']();const _0xaeefde=await this['_trackChangesService']['get'](_0x3f30e2)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0xaeefde]),_0xaeefde;},'addSuggestion':async({id:_0x67696a,type:_0x58ef08,data:_0x7739cd,originalSuggestionId:_0x3fd196,attributes:_0x178bc2})=>{await this['_waitForServiceReady']();const _0x19ecef={'id':_0x67696a,'type':_0x58ef08,'data':_0x7739cd,'originalSuggestionId':_0x3fd196,'attributes':_0x178bc2},_0xd90968=await this['_trackChangesService']['add'](_0x67696a,_0x58ef08,_0x7739cd,_0x3fd196,_0x178bc2)['catch'](_0x446e12=>{if(mt(_0x446e12))return new Promise(_0x36fdb7=>{this['_bufferedRequests']['set'](_0x67696a,{'resolve':_0x36fdb7,'suggestionData':_0x19ecef});});throw _0x446e12;});return this['_bufferedRequests']['delete'](_0x67696a),_0xd90968;},'updateSuggestion':async(_0x4d93bf,_0x3262cd)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3262cd['state'])return this['_trackChangesService']['update'](_0x4d93bf,_0x3262cd)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3c282b,_0x432970)=>{_0x448551['hasSuggestion'](_0x432970['id'])&&(_0x448551['getSuggestion'](_0x432970['id'])['attributes']=_0x432970['attributes']);}),this['_trackChangesService']['connect'](_0x45b966['connection'])['then'](_0x3b7edf=>(_0x45b966['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3b7edf)['then'](()=>{for(const _0x4488d4 of _0x3b7edf){_0x448551['addSuggestionData'](_0x4488d4)['_saved']=!0x0;}})));}async['reconnect'](){const _0x20acac=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1ef174}=this['editor']['plugins']['get'](n),_0x497ed0=await this['_trackChangesService']['connect'](_0x1ef174);await this['_fetchMissingUsersForThreads'](_0x497ed0);for(const {suggestionData:_0x1696f3,resolve:_0x433492}of this['_bufferedRequests']['values']()){let _0x38b5ba=_0x497ed0['find'](_0x40c9d1=>_0x40c9d1['id']===_0x1696f3['id']);_0x38b5ba||(_0x38b5ba=await this['_trackChangesService']['add'](_0x1696f3['id'],_0x1696f3['type'],_0x1696f3['data'],_0x1696f3['originalSuggestionId'])),_0x433492(_0x38b5ba);}for(const _0x4bf469 of _0x497ed0)_0x20acac['hasSuggestion'](_0x4bf469['id'])||_0x20acac['addSuggestionData'](_0x4bf469);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x309c70=>{this['listenTo'](this['_trackChangesService'],'connected',_0x22070f=>{_0x22070f['off'](),_0x309c70();});});}async['_fetchMissingUsersForThreads'](_0x3fb596){const _0x41ff40=this['editor']['plugins']['get'](_0x688a1d),{connection:_0x59372e}=this['editor']['plugins']['get'](n),_0x15f3c7=new Set();for(const {authorId:_0x3a45f1}of _0x3fb596)_0x41ff40['getUser'](_0x3a45f1)||_0x15f3c7['add'](_0x3a45f1);if(0x0===_0x15f3c7['size'])return;const _0x3503c9=await ut['getMany'](_0x59372e,Array['from'](_0x15f3c7));for(const _0x44ccf8 of _0x3503c9)_0x41ff40['getUser'](_0x44ccf8['id'])||_0x41ff40['addUser'](_0x44ccf8);}}function A(_0x40036e){if(mt(_0x40036e))return new Promise(()=>{});throw _0x40036e;}function mt(_0x4f01ec){return _0x4f01ec['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4f01ec['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x2f9917{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3f3d90=this['editor']['plugins']['get'](n),_0x2974d6=this['editor']['plugins']['get']('CommentsEditing'),_0x3eefae=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3f3d90,'change:state',(_0x566402,_0x1470c8,_0x233ab1)=>{_0x2974d6['isThreadsLoadingPaused']='connected'!==_0x233ab1;});}),this['listenTo'](_0x3f3d90,'change:state',(_0x214c1d,_0x541368,_0x13512c)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x13512c);}),_0x3eefae['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x2f9917{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x2f9917{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>rt)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x688a1d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2b8781){super(_0x2b8781);const _0x1bae24=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x1bae24);}async['init'](){const _0x25c16c=this['editor']['plugins']['get'](l),_0xfce1f0=_0x25c16c['serverHistory'],_0x1df47a=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0xfce1f0,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x25c16c['sessionId']});const _0x1e9f4f=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x558686=await ot['isBundleUploaded'](_0x1df47a['connection'],_0x1e9f4f);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x21572f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x21572f)),'updateRevisions':async _0x2b9cf9=>{await this['_waitForServiceReady']();const _0x1f444f=this['_revisionTracker']['currentRevision'];if(_0x558686&&0x1===_0x2b9cf9['length']&&_0x2b9cf9[0x0]['id']===_0x1f444f['id'])return _0x2b9cf9;for(const _0x28a4bd of _0x2b9cf9)_0x28a4bd['id']===_0x1f444f['id']&&(_0x28a4bd['isEmptyCurrent']=_0x28a4bd['fromVersion']===_0x28a4bd['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2b9cf9,this['_lastRequestId'])['then'](_0x4607a4=>(this['_lastRequestId']=_0x4607a4,_0x2b9cf9))['catch'](_0x238923=>{if(et(_0x238923)||'400'===_0x238923['code']&&void 0x0!==_0x238923['data']['wrongRequestId']){for(const _0xb513eb of _0x2b9cf9){!this['_revisionTracker']['repository']['getRevision'](_0xb513eb['id'])||this['_revisionTracker']['_bufferUpdate'](_0xb513eb['id'],_0xb513eb,!0x1);}if(et(_0x238923))throw _0x238923;return _0x2b9cf9;}throw _0x238923;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x45209a,{revisionsData:_0x3d103e,requestId:_0x318d8a})=>{Math['max'](..._0x3d103e['map'](_0x145222=>_0x145222['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3d103e,_0x318d8a);}):this['_handleRevisionsUpdate'](_0x3d103e,_0x318d8a);});const {revisions:_0x11ed43,requestId:_0x5198b1}=await this['_revisionHistoryService']['connect'](_0x1df47a['connection']);_0x1df47a['addToReconnectionStack'](this),this['_lastRequestId']=_0x5198b1,await this['_fetchMissingUsers'](_0x11ed43);for(const _0x131777 of _0x11ed43)this['_revisionTracker']['addRevisionData'](_0x131777);this['listenTo'](_0x25c16c,'change:_isConnected',(_0x53f992,_0x2fbfbb,_0x597004)=>{_0x597004&&(this['_oldOffset']=_0x25c16c['_offset'],_0x53f992['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1df47a,'state',_0x1bdc1b=>_0x1bdc1b===_0xc90cf7['CONNECTED']);}async['reconnect'](){const _0x559376=this['editor']['plugins']['get'](n),_0xce3a41=this['editor']['plugins']['get'](l),_0x203960=async()=>{const _0x48a4b4=this['_revisionTracker']['currentRevision'],_0x1d65d7=_0x48a4b4['id'],_0x358407=_0x1d65d7!==_0xce3a41['sessionId'];if(_0x358407){const _0x198f5b=_0xce3a41['_offset']-this['_oldOffset'],_0x166122=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x48a4b4['toVersion']+_0x198f5b!==_0x166122){const _0x58520a=_0x48a4b4['fromVersion']+_0x198f5b,_0x915936=this['editor']['plugins']['get'](_0x688a1d),_0x2d9a25=this['_revisionTracker']['buildRevisionData']({'revision':_0x48a4b4,'from':_0x58520a,'to':_0x166122});_0x2d9a25['id']=_0x48a4b4['id'];const _0x433dda=_0x2d9a25['authorsIds']['map'](_0x470e60=>_0x915936['getUser'](_0x470e60));_0x48a4b4['_update']({..._0x2d9a25,'authors':_0x433dda},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x48a4b4['id'],_0x2d9a25,!0x0);}this['_revisionTracker']['_startingVersion']=_0x166122,(_0x48a4b4['toVersion']===_0x48a4b4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1d65d7)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1d65d7),this['_revisionTracker']['_createCurrentRevision'](_0x166122));}const {revisions:_0x536d6c,requestId:_0xa7dba0}=await this['_revisionHistoryService']['reconnect'](_0x559376['connection'],this['_lastRequestId']);_0x358407&&_0x536d6c['length']>0x0?_0xce3a41['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x536d6c),this['_handleRevisionsUpdate'](_0x536d6c,_0xa7dba0),this['_revisionTracker']['sendBufferedUpdates']());};return _0xce3a41['_isConnected']?_0x203960():new Promise((_0x3d560b,_0x5f1728)=>{_0xce3a41['once']('change:_isConnected',()=>{_0x203960()['then'](_0x3d560b)['catch'](_0x5f1728);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4b0bd0=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5810f7=>{_0x5810f7['off'](),_0x4b0bd0();});});}['_getLatestVersionFromServerOperations'](){const _0x101180=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x26e746 of _0x101180)if('marker'!==_0x26e746['type']||_0x26e746['affectsData'])return _0x26e746['baseVersion']+0x1;}['_getLatestVersion'](){const _0x40f8a2=this['editor']['plugins']['get'](l);return new Promise(_0xea4467=>{_0x40f8a2['_isPendingUpdate']?_0x40f8a2['once']('change:_isPendingUpdate',()=>{_0xea4467(this['_getLatestVersionFromServerOperations']());}):_0xea4467(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x359b1d,_0x54c3f7){const _0x8ef625=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x54c3f7;for(const _0x3f1101 of _0x359b1d){const _0x33cebb=_0x8ef625['getRevision'](_0x3f1101['id']);if(_0x33cebb){if((_0x3f1101['fromVersion']||_0x3f1101['toVersion'])&&(_0x3f1101['diffData']=null),_0x33cebb===this['_revisionTracker']['currentRevision']){const _0x59a5c7=Math['max'](_0x33cebb['toVersion'],_0x3f1101['toVersion']),_0x4133d9=Math['max'](_0x33cebb['fromVersion'],_0x3f1101['fromVersion']);let _0x2a2bf2;_0x33cebb['toVersion']===_0x3f1101['toVersion']&&_0x33cebb['fromVersion']===_0x3f1101['fromVersion']?(_0x2a2bf2=!0x0,this['_preventResendingRevisionData'](_0x3f1101)):_0x3f1101['toVersion']===_0x59a5c7&&_0x3f1101['fromVersion']===_0x4133d9?_0x2a2bf2=!0x1:(_0x33cebb['toVersion']===_0x59a5c7&&_0x33cebb['fromVersion']===_0x4133d9||this['_fixRevision']({'revision':_0x33cebb,'from':_0x4133d9,'to':_0x59a5c7}),_0x2a2bf2=!0x0),_0x2a2bf2&&(delete _0x3f1101['fromVersion'],delete _0x3f1101['toVersion'],delete _0x3f1101['diffData'],delete _0x3f1101['createdAt'],delete _0x3f1101['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3f1101),this['_preventResendingRevisionData'](_0x3f1101);}else this['_revisionTracker']['addRevisionData'](_0x3f1101);}const _0x19e55b=_0x8ef625['getRevisions']();_0x19e55b['reverse']();for(let _0x3082b0=0x0;_0x3082b0<_0x19e55b['length']-0x1;_0x3082b0++){const _0x350aca=_0x19e55b[_0x3082b0],_0x15d574=_0x19e55b[_0x3082b0+0x1];if(_0x350aca['fromVersion']<_0x15d574['toVersion']){const _0x30adee=_0x15d574['toVersion'],_0x4adc24=Math['max'](_0x30adee,_0x350aca['toVersion']);this['_fixRevision']({'revision':_0x350aca,'from':_0x30adee,'to':_0x4adc24});}}}['_fixRevision']({revision:_0xbd505b,from:_0x5c118a,to:_0x23e7be}={}){const _0x102722=this['editor']['plugins']['get'](_0x688a1d),_0x4ea209=this['_revisionTracker']['buildRevisionData']({'revision':_0xbd505b,'from':_0x5c118a,'to':_0x23e7be});_0x4ea209['authors']=_0x4ea209['authorsIds']['map'](_0x1829dc=>_0x102722['getUser'](_0x1829dc)),_0xbd505b['_update'](_0x4ea209);}['_preventResendingRevisionData'](_0x2011cc){const _0x36f994={};_0x36f994['id']=_0x2011cc['id'];for(const _0x254c37 of Object['keys'](_0x2011cc))'id'!==_0x254c37&&(_0x36f994[_0x254c37]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x36f994['id'],_0x36f994,!0x0);}async['_fetchMissingUsers'](_0x8e41d8){const _0x16a8cf=this['editor']['plugins']['get'](_0x688a1d),{connection:_0x372832}=this['editor']['plugins']['get'](n),_0x4e107f=new Set();for(const _0x7b6bdb of _0x8e41d8){for(const _0x459103 of _0x7b6bdb['authorsIds'])_0x400099(_0x459103);_0x7b6bdb['creatorId']&&_0x400099(_0x7b6bdb['creatorId']);}if(0x0===_0x4e107f['size'])return;const _0x37a3e6=await ut['getMany'](_0x372832,Array['from'](_0x4e107f));for(const _0x40ed83 of _0x37a3e6)_0x16a8cf['getUser'](_0x40ed83['id'])||_0x16a8cf['addUser'](_0x40ed83);function _0x400099(_0x24f050){_0x16a8cf['getUser'](_0x24f050)||_0x4e107f['add'](_0x24f050);}}}function et(_0x2d5bb7){return _0x2d5bb7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2d5bb7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2d5bb7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x2f9917{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class X extends _0x1be5d6{['_collapseAt'];constructor(_0x288dad,_0x9b5176=0x6){super(_0x288dad);const _0x450196=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x9b5176,this['bind']('isHidden')['to'](this,'usersCount',_0xeb3206=>_0xeb3206<_0x9b5176),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x450196['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x450196['to']('usersCount',_0x33ac82=>'+'+(_0x33ac82-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x1be5d6{['items'];['keystrokes'];constructor(_0x127af2){super(_0x127af2);const _0x5eebec=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2cd7be(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5eebec['if']('hasPopup'),'aria-expanded':_0x5eebec['to']('isExpanded',_0x23ac17=>this['hasPopup']&&String(_0x23ac17)),'aria-label':_0x5eebec['to']('hasPopup',_0x2fd4fe=>U(_0x127af2,_0x2fd4fe?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5eebec['to']('hasPopup',_0x1d4572=>!!_0x1d4572&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5eebec['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5eebec['to'](_0xae621b=>{const _0x55e0ad=_0xae621b,_0x279c78=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3bf7a2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x279c78?.['contains'](_0x55e0ad['relatedTarget'])||_0x3bf7a2?.['contains'](_0x55e0ad['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x37062c,_0x2121da,_0x170abb)=>{this['element']&&(_0x170abb?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class Q extends _0x1be5d6{['counterView'];['inlineListView'];constructor(_0x3c2f91,_0x1c6b3e=0x6){super(_0x3c2f91);const _0x4a90b7=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new X(this['locale'],_0x1c6b3e),this['inlineListView']=new is(_0x3c2f91),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4e73ef of this['inlineListView']['items'])_0x4e73ef['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x4a90b7['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class Y extends _0x1be5d6{['listWrapperView'];constructor(_0x40b190,_0x53ec3c){super(_0x40b190);const _0x44efa3=this['bindTemplate'];this['listWrapperView']=new wt(_0x40b190,_0x53ec3c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':U(_0x40b190,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x44efa3['to'](_0x59ca68=>{const _0x95ec98=_0x59ca68,_0x142e9a=document['querySelector']('.ck-presence-list__list'),_0x495f92=document['querySelector']('.ck-balloon-panel_with-arrow');_0x142e9a?.['contains'](_0x95ec98['relatedTarget'])||_0x495f92?.['contains'](_0x95ec98['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x319183{constructor(_0x1a1f56,_0x12dd9e){super(_0x1a1f56);const _0x182ae4=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x12dd9e?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x182ae4['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x182ae4['to']('role'),'aria-label':_0x182ae4['to']('ariaLabel'),'aria-labelledby':_0x182ae4['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x27bd36['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5c14d1=this['element'];_0x5c14d1&&(this['_isScrollable']=Math['max'](_0x5c14d1['scrollHeight'],_0x5c14d1['clientHeight'])>0.8*window['innerHeight']);}}class Z extends ct{['userView'];constructor(_0x229eb5,_0x365b43,_0x3b24ab){super(_0x229eb5);const _0x475f35=this['bindTemplate'];this['userView']=new at(_0x229eb5,_0x365b43);const _0x43f6e6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x365b43['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x365b43['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x365b43['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x3b24ab&&(_0x43f6e6['tag']='button',_0x43f6e6['on']={'click':_0x475f35['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x43f6e6);}['focus'](){this['element']['focus']();}}class tt extends _0x1be5d6{['userView'];['markerView'];constructor(_0x7b68f4,_0x456902,_0x15b339){super(_0x7b68f4);const _0x4b2c03=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x7b68f4,_0x456902),this['markerView']=new nt(_0x7b68f4,_0x456902);const _0xdad5cb=new lt(_0x7b68f4);_0xdad5cb['template']['tag']='span',_0xdad5cb['text']=_0x456902['name'];const _0x3b6ce3={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4b2c03['to']('isFocusable',_0x5c78b1=>!!_0x5c78b1&&0x0),'aria-labelledby':_0xdad5cb['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4b2c03['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4b2c03['to']('hasTooltip',_0xa04f82=>!_0xa04f82),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0xdad5cb]};_0x15b339&&(_0x3b6ce3['tag']='button',_0x3b6ce3['on']={'click':_0x4b2c03['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3b6ce3);}}class nt extends _0x1be5d6{constructor(_0x16bbc2,_0x3299bf){super(_0x16bbc2),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3299bf['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const st={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1e7b17{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2e485a){super(_0x2e485a),this['context']['config']['define']('presenceList',st);const _0x3527ec=_0x2e485a['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3527ec)throw new _0x2cb01c('presencelist-collapseat-invalid-format',this);if(_0x3527ec<0x1)throw new _0x2cb01c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4ead9b(),this['balloonPanelView']=new _0x5cf855(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x19f02e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x19f02e);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2a4d59,_0x18669f)=>{this['_handleUserAdd'](_0x18669f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xa20f41,_0x5bdf0b)=>{this['_handleUserRemove'](_0x5bdf0b);});}['_createView'](){const _0x3892d1=this['context'],_0x298b38=new Q(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x983fbf=this['balloonPanelView'];if(!_0x36833e(_0x3892d1['config']['get']('presenceList.container')))throw new _0x2cb01c('presencelist-missing-container',this);return _0x298b38['counterView']['bind']('usersCount')['to'](this),_0x298b38['bind']('isCollapsed')['to'](this,'usersCount',_0x1cf5c2=>{const {collapseAt:_0x3a538e}=_0x3892d1['config']['get']('presenceList'),_0x345b3b=_0x1cf5c2>=_0x3a538e;if(_0x345b3b&&!_0x298b38['inlineListView']['items']['find'](_0x916910=>_0x916910 instanceof X)){const _0x2ea006=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2ea006&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x298b38['inlineListView']['items']['add'](_0x298b38['counterView']);}return _0x345b3b||this['hideDropdown'](),_0x345b3b;}),_0x298b38['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x307435=>{const _0x17d0b7=_0x3892d1['config']['get']('presenceList'),_0x5c9815=new tt(_0x3892d1['locale'],_0x307435,!!_0x17d0b7['onClick']);return _0x5c9815['bind']('hasTooltip')['to'](_0x298b38,'isCollapsed',_0x3a854d=>!_0x3a854d),_0x5c9815['bind']('isFocusable')['to'](_0x298b38,'isCollapsed',_0x2139d1=>!_0x2139d1),_0x17d0b7['onClick']&&this['listenTo'](_0x5c9815,'execute',()=>{this['view']['isCollapsed']||_0x17d0b7['onClick'](_0x307435,_0x5c9815['element']);}),_0x5c9815;}),this['listenTo'](_0x298b38['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x298b38['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x298b38['inlineListView']['keystrokes']['set']('Enter',(_0x241ce7,_0x3867e4)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3867e4());}),_0x298b38['render'](),_0x983fbf['render'](),_0x576ce6({'emitter':_0x298b38,'activator':()=>_0x983fbf['isVisible'],'contextElements':[_0x983fbf['element'],_0x298b38['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3892d1['config']['get']('presenceList.container')['appendChild'](_0x298b38['element']),this['_bodyCollection']=new _0x845acd(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x298b38;}['_handleUserAdd'](_0x3fa17d){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3fa17d['isMe'])return;const _0x26b97d=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x26b97d-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x48cd21=_0x3fa17d['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3fa17d,_0x48cd21);}['_handleUserRemove'](_0x1a3204){this['usersCount']--;const {collapseAt:_0x57bb54}=this['context']['config']['get']('presenceList'),_0x1451c6=this['usersCount']>=_0x57bb54;if(this['currentDisplayedUsers']['get'](_0x1a3204['id']))this['currentDisplayedUsers']['remove'](_0x1a3204['id']);else{if(_0x1451c6&&this['currentDisplayedUsers']['length']+0x1===_0x57bb54-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1451c6?0x1:0x0)<this['usersCount']){for(const _0x383d8e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x383d8e['id'])&&(this['currentDisplayedUsers']['add'](_0x383d8e,Math['min'](this['currentDisplayedUsers']['length']-(_0x1451c6?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1451c6?0x1:0x0)===_0x57bb54-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4b736e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Y(this['context']['locale'],!!_0x4b736e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4266da}=this['presenceDropdownView'];_0x4266da['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2eec61=>{if(!_0x4b736e['displayMe']&&_0x2eec61['isMe'])return null;const _0x57de6f=new Z(this['context']['locale'],_0x2eec61,!!_0x4b736e['onClick']);return _0x4b736e['onClick']&&this['listenTo'](_0x57de6f,'execute',()=>{_0x4b736e['onClick'](_0x2eec61,_0x57de6f['element']);}),_0x57de6f;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4266da['focus'](),_0x4266da['checkIfScrollable']();const _0x324a63=(_0x3167f1,_0x536cb8)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x536cb8();};_0x4266da['keystrokes']['set']('Esc',_0x324a63),_0x4266da['keystrokes']['set']('Shift+Tab',_0x324a63),_0x4266da['keystrokes']['set']('Tab',(_0x4e6ca7,_0x4f9294)=>{!function(_0x408115){const _0xb2a3a0=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x26fb5c=>_0x26fb5c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x36da19=[...document['body']['querySelectorAll'](_0xb2a3a0)]['filter'](_0x2954f3=>_0x2954f3===document['activeElement']||_0x2954f3['offsetWidth']+_0x2954f3['offsetHeight']>0x0)['sort']((_0x4685e7,_0x12dcc1)=>(_0x4685e7['tabIndex']||0x0)-(_0x12dcc1['tabIndex']||0x0)),_0x155a23=_0x36da19['indexOf'](_0x408115),_0x51a151=_0x36da19[(_0x155a23+0x1)%_0x36da19['length']];_0x51a151&&_0x51a151['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4f9294();}),_0x4266da['focusTracker']['add'](this['view']['element']),_0x4266da['focusTracker']['on']('change:isFocused',(_0x4a13fb,_0x3f338a,_0x12203)=>{_0x12203||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x1e7b17{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x257d3e,Plugin as _0x43cb95,PendingActions as _0x196d77,Context as _0xfb0d13}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1ea204,CKEditorError as _0x244de7,Collection as _0xe0a42b,global as _0x391e42,version as nt,uid as _0x2b2daf,KeystrokeHandler as _0x54ba1d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x153278,View as _0x3b55a6,ListView as _0x2e5dc4,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x353906,clickOutsideHandler as _0x2ca48e,BodyCollection as _0x107ff5}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x329566,History as _0x3123ea,NoOperation as _0xd5d778,InsertOperation as _0xf3c1f9,MarkerOperation as _0x3f5f19,RootAttributeOperation as _0x4dba5a,transformOperationSets as _0x538a47,OperationFactory as _0x565f60}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x18694e,User as lt,CommentsService as _0x1f5c88,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x252144,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xb1a4c7}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x5d7266}from'es-toolkit/compat';class n extends _0x257d3e{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x153278];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xf2ceed){super(_0xf2ceed),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1ea204())();}['init'](){const _0x403b4e=this['context'],_0x3ee6b4=_0x403b4e['plugins']['get']('CloudServices'),_0x4204d0=_0x403b4e['plugins']['get'](_0x153278);if(!_0x3ee6b4['token'])throw new _0x244de7('websocketgateway-missing-token',this);if(!_0x3ee6b4['webSocketUrl'])throw new _0x244de7('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x3ee6b4['token'],_0x3ee6b4['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x183f8b=>{if(this['connection']=_0x183f8b,this['bind']('state')['to'](_0x183f8b,'state',this,'_isBrowserOffline',(_0x20518e,_0x41aa4)=>('connected'!==_0x20518e&&(this['_shouldPluginsReconnect']=!0x0),_0x41aa4||_0x20518e!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x19402e,_0x423db2)=>{if('limitExceeded'!==_0x423db2['code'])throw console['error'](_0x423db2),new _0x244de7('cloudservices-init',null,{'originalError':_0x423db2});_0x4204d0['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x183f8b['me'])return new Promise(_0x1740b7=>_0x183f8b['on']('change:me',_0x1740b7));})['catch'](_0x4d24bb=>{throw console['error'](_0x4d24bb),new _0x244de7('cloudservices-init',null,{'originalError':_0x4d24bb});});}['addToReconnectionStack'](_0xca132a){if('function'!=typeof _0xca132a['reconnect'])throw new _0x244de7('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xca132a))throw new _0x244de7('websocketgateway-plugin-already-registered',this,{'name':_0xca132a['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xca132a);}['removeFromReconnectionStack'](_0x269fac){this['_reconnectionStack']['delete'](_0x269fac);}['isInReconnectionStack'](_0x32f7ab){return this['_reconnectionStack']['has'](_0x32f7ab);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x42d162=>_0x42d162['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x19acbe=>{throw console['error'](_0x19acbe),new _0x244de7('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x257d3e{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x252144];}constructor(_0x31f188){super(_0x31f188),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xe0a42b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x252144);}['init'](){const _0x4dfc82=this['context']['plugins']['get'](n);this['listenTo'](_0x4dfc82,'change:state',(_0x3923bc,_0x233f17,_0x404848)=>{if('connected'!==_0x404848)this['channelSessions']['forEach'](_0x59a1da=>_0x59a1da['clear']()),this['channelConnectedUsers']['forEach'](_0x39a3f7=>_0x39a3f7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x396928,_0x47e2c5]of this['_registeredSessions'])for(const _0xc9517c of _0x47e2c5)this['_handleSessionAdd'](_0x396928,_0xc9517c);}}),this['_createUser'](_0x4dfc82['connection']['me'],!0x0);}['register'](_0x2a55fe,_0x3d7f8a){if(this['_registeredSessions']['has'](_0x2a55fe))throw new _0x244de7('sessions-register-already-registered',null,{'channelId':_0x2a55fe});this['_registeredSessions']['set'](_0x2a55fe,_0x3d7f8a),this['channelSessions']['set'](_0x2a55fe,new _0xe0a42b()),this['channelConnectedUsers']['set'](_0x2a55fe,new _0xe0a42b()),this['listenTo'](_0x3d7f8a,'add',(_0x3f4eaa,_0x47e7c7)=>this['_handleSessionAdd'](_0x2a55fe,_0x47e7c7)),this['listenTo'](_0x3d7f8a,'remove',(_0x28c09c,_0x16a483)=>this['_handleSessionRemove'](_0x2a55fe,_0x16a483));for(const _0x18e5ba of _0x3d7f8a)this['_handleSessionAdd'](_0x2a55fe,_0x18e5ba);}['unregister'](_0x53c222){if(!this['_registeredSessions']['has'](_0x53c222))throw new _0x244de7('sessions-unregister-not-exist',null,{'channelId':_0x53c222});const _0x53bf39=this['_registeredSessions']['get'](_0x53c222);this['stopListening'](_0x53bf39);for(const _0x2eb35c of _0x53bf39)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x53c222,_0x2eb35c);this['_registeredSessions']['delete'](_0x53c222),this['channelSessions']['delete'](_0x53c222),this['channelConnectedUsers']['delete'](_0x53c222);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x9969f9){for(const _0x4534ef of this['channelSessions']['values']())for(const _0xff083c of _0x4534ef)if(_0xff083c['id']===_0x9969f9)return _0xff083c['user'];}['getUserSessions'](_0x1ffa16,_0x3ef1c9){const _0x3a928e=_0x3ef1c9?[this['channelSessions']['get'](_0x3ef1c9)]:this['channelSessions']['values'](),_0x34ef06=new Set();for(const _0xfb77ca of _0x3a928e)for(const _0x2049a3 of _0xfb77ca)_0x2049a3['user']['id']===_0x1ffa16['id']&&_0x34ef06['add'](_0x2049a3['id']);return _0x34ef06;}['getUserRole'](_0x3fb4b8){for(const _0xe3ac65 of this['channelSessions']['values']())for(const _0x3ce263 of _0xe3ac65)if(_0x3ce263['user']===_0x3fb4b8)return _0x3ce263['role'];}['_handleSessionAdd'](_0xce6779,_0x1ab29a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4f61f8=_0x1ab29a['user'],_0x19676d=this['_users']['getUser'](_0x4f61f8['id'])||this['_createUser'](_0x4f61f8),_0x573aeb=Object['assign']({},_0x1ab29a,{'user':_0x19676d});if(this['channelSessions']['get'](_0xce6779)['add'](_0x573aeb),!_0x4f61f8['hiddenInPresenceList']){const _0x5d68e0=this['channelConnectedUsers']['get'](_0xce6779);_0x5d68e0['has'](_0x19676d['id'])||_0x5d68e0['add'](_0x19676d),this['allConnectedUsers']['has'](_0x19676d['id'])||_0x4f61f8['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x19676d,_0x19676d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0xce6779,{'channelId':_0xce6779,'session':_0x573aeb});}['_handleSessionRemove'](_0x284a84,_0x4b7900){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x134c60=this['channelConnectedUsers']['get'](_0x284a84),_0x35da13=_0x4b7900['user'];_0x35da13['id']&&(this['channelSessions']['get'](_0x284a84)['remove'](_0x4b7900['id']),_0x134c60['has'](_0x35da13['id'])&&!this['getUserSessions'](_0x35da13,_0x284a84)['size']&&_0x134c60['remove'](_0x35da13['id']),this['allConnectedUsers']['get'](_0x35da13['id'])&&!this['getUserSessions'](_0x35da13)['size']&&this['allConnectedUsers']['remove'](_0x35da13['id']));}['_createUser'](_0x3577cb,_0x2ca3e2){const _0x6c47c8=this['_users']['addUser'](_0x3577cb);return _0x2ca3e2&&this['_users']['defineMe'](_0x3577cb['id']),_0x6c47c8['orderNumber']=this['_uniqueUsersCount']++,_0x6c47c8;}}class H extends _0x43cb95{['_domEmitter']=new(_0x1ea204())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x183948=this['editor'],_0x1e38eb=_0x183948['plugins']['get'](i);_0x183948['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3d147e,{writer:_0x25a816})=>function(_0x1a14dd,_0x4b6f53,_0x2b6bad,_0x16004e){const _0x2442fe=_0x1a14dd['markerName']['split'](':')[0x2],_0x441c0f=_0x2b6bad['getUserBySessionId'](_0x2442fe);if(!_0x441c0f||_0x2442fe===_0x2b6bad['mySessionId'])return;if(!_0x16004e['model']['schema']['checkChild'](_0x1a14dd['markerRange']['start'],'$text'))return;const _0x5c9e8d={'class':'ck-user__marker\x20'+_0x441c0f['color']['getMarkerClass'](),'data-name':_0x441c0f['name'],'data-session-id':_0x2442fe},_0x34377a=_0x16004e['model']['markers']['get'](_0x1a14dd['markerName']),_0x4b9243=_0x34377a['getStart'](),_0x43c42c=_0x4b9243['nodeAfter'],_0x1e5898=_0x16004e['model']['schema'];if(_0x43c42c&&_0x1e5898['isObject'](_0x43c42c)&&_0x1e5898['isInline'](_0x43c42c)&&!_0x16004e['model']['markers']['get']('user:range:'+_0x2442fe)['getRange']()['isCollapsed'])return;const _0x4c9a59=_0x4b9243['parent'];return _0x16004e['model']['schema']['isLimit'](_0x4c9a59)&&!_0x16004e['model']['hasContent'](_0x4c9a59)&&(_0x5c9e8d['contenteditable']=!0x1),function(_0x4b31e4,_0x13ff98,_0x3cb8a2){const _0x58ec69=_0x4b31e4['createUIElement']('span',_0x13ff98);return _0x4b31e4['setCustomProperty']('userPositionMarker',!0x0,_0x58ec69),_0x58ec69['render']=function(_0x5c3bf3){const _0x37d6d0=this['toDomElement'](_0x5c3bf3),_0x5395e3=document['createElement']('span');return _0x5395e3['classList']['add']('ck-user__marker-tooltip'),_0x5395e3['setAttribute']('contenteditable','false'),_0x5395e3['setAttribute']('spellcheck','false'),_0x5395e3['textContent']=_0x3cb8a2['name'],_0x37d6d0['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5395e3['outerHTML']+'⁠',_0x37d6d0['addEventListener']('mouseenter',()=>{_0x37d6d0['classList']['add']('ck-user__marker_hovered');}),_0x37d6d0['addEventListener']('mouseleave',()=>{_0x37d6d0['classList']['remove']('ck-user__marker_hovered');}),_0x37d6d0;},_0x58ec69['isSimilar']=function(_0x4d0c45){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4d0c45['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4d0c45['getAttribute']('data-session-id'));},_0x58ec69;}(_0x4b6f53,_0x5c9e8d,_0x441c0f);}(_0x3d147e,_0x25a816,_0x1e38eb,_0x183948)}),_0x183948['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xdced96=>function(_0x21b0fe,_0x2ec89b){const _0x290db5=_0x21b0fe['markerName']['split'](':')[0x2];if(_0x290db5===_0x2ec89b['mySessionId'])return null;const _0x264e74=_0x2ec89b['getUserBySessionId'](_0x290db5);if(!_0x264e74)return{'id':_0x290db5,'classes':[]};return{'id':_0x290db5,'classes':['ck-user__selection',_0x264e74['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x290db5},'priority':0x7d0+_0x264e74['orderNumber']};}(_0xdced96,_0x1e38eb)}),function(_0x18717c){const _0xd155c9=_0x18717c['model'],_0x261bed=new Map(),_0x41a616=_0x18717c['plugins']['get'](i);_0xd155c9['markers']['on']('update:user:range',(_0x10bf72,_0x1e911f,_0x258d25,_0x5df3cb)=>{if(!_0x5df3cb&&_0x261bed['get'](_0x1e911f['name']))return _0x261bed['get'](_0x1e911f['name'])['detach'](),void _0x261bed['delete'](_0x1e911f['name']);const _0xc5e666=_0x1e911f['name']['split'](':')[0x2];if(_0xc5e666===_0x41a616['mySessionId'])return;const _0x5a668c='user:position:'+_0xc5e666;_0xd155c9['markers']['has'](_0x5a668c)&&_0x18717c['editing']['reconvertMarker'](_0x5a668c),_0x1e911f['on']('change:range',(_0x5ccaf0,_0x235385,_0x276b26)=>{if('$graveyard'!=_0x235385['root']['rootName']&&'$graveyard'==_0x1e911f['getRange']()['root']['rootName']&&!_0x261bed['has'](_0x1e911f['name'])){const _0x3a370f=_0xd155c9['schema']['getNearestSelectionRange'](_0x276b26['deletionPosition']);if(_0x3a370f){const _0x36ff84=_0x329566['fromRange'](_0x3a370f);_0x261bed['set'](_0x1e911f['name'],_0x36ff84),_0x36ff84['on']('change:range',(_0x30af42,_0x393fe5,_0x527d48)=>{if('$graveyard'==_0x36ff84['root']['rootName']){const _0xb59640=_0xd155c9['schema']['getNearestSelectionRange'](_0x527d48['deletionPosition']);_0xb59640?(_0x36ff84['start']=_0xb59640['start'],_0x36ff84['end']=_0xb59640['end']):(_0x261bed['delete'](_0x1e911f['name']),_0x36ff84['detach']());}});}}});}),_0xd155c9['document']['on']('change',()=>{_0x261bed['size']>0x0&&_0xd155c9['enqueueChange']({'isUndoable':!0x1},_0x3f5c2e=>{for(const [_0x46292f,_0x3ec387]of _0x261bed)'$graveyard'==_0xd155c9['markers']['get'](_0x46292f)['getRange']()['root']['rootName']&&(Z(_0x46292f['split'](':')[0x2],_0x3ec387['toRange'](),_0xd155c9,_0x3f5c2e),_0x3ec387['detach']());_0x261bed['clear']();});});}(_0x183948),this['_domEmitter']['listenTo'](_0x391e42['document'],'keydown',(_0x933053,{key:_0x13d9a6})=>{'Escape'===_0x13d9a6&&function(_0x436ae0){_0x436ae0['editing']['view']['change'](_0x5c89ab=>{for(const _0xde993d of _0x436ae0['model']['markers']){if(!_0xde993d['name']['startsWith']('user:position'))continue;const _0x1f61e7=_0x436ae0['editing']['mapper']['markerNameToElements'](_0xde993d['name']);if(_0x1f61e7){for(const _0x296891 of _0x1f61e7)_0x5c89ab['removeClass']('ck-user__marker_hovered',_0x296891);}}});}(_0x183948);},{'useCapture':!0x0});}['afterInit'](){const _0x127823=this['editor'],_0x551b76=_0x127823['commands']['get']('undo');_0x551b76&&_0x127823['model']['on']('applyOperation',(_0x3e17ef,_0xbd08f6)=>{const _0x179ef5=_0xbd08f6[0x0];if(!_0x179ef5['isDocumentOperation'])return;if('marker'!=_0x179ef5['type']||!_0x179ef5['name']['startsWith']('user:'))return;const _0x36eb90=_0x179ef5['batch'];_0x551b76['_createdBatches']['has'](_0x36eb90)&&(_0x179ef5['newRange']=_0x179ef5['oldRange']?_0x127823['model']['createRange'](_0x179ef5['oldRange']['start'],_0x179ef5['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x227821=this['editor'],_0x1e8e16=_0x227821['model']['document'],_0x3a37be=_0x227821['plugins']['get'](i);_0x227821['model']['enqueueChange']({'isUndoable':!0x1},_0x93ff68=>{const _0x39c6ac='user:range:'+_0x3a37be['mySessionId'],_0x3d965a='user:position:'+_0x3a37be['mySessionId'],_0x302b53=_0x227821['model']['markers']['has'](_0x39c6ac);_0x227821['editing']['view']['hasDomSelection']?Z(_0x3a37be['mySessionId'],_0x1e8e16['selection']['getFirstRange'](),_0x227821['model'],_0x93ff68):_0x302b53&&(_0x93ff68['removeMarker'](_0x39c6ac),_0x93ff68['removeMarker'](_0x3d965a));});}}function Z(_0x3463d7,_0x254cc9,_0x35f79e,_0x13841d){const _0x27be0b='user:range:'+_0x3463d7,_0xf7698d='user:position:'+_0x3463d7,_0x2755ec=_0x254cc9['getContainedElement']();let _0x971701=_0x254cc9['start'];if(_0x2755ec&&_0x2755ec['is']('element','tableCell')){const _0x10c1ea=function(_0x30fc8d,_0x3fb86b){for(const _0x2ae524 of _0x30fc8d['getPositions']())if(_0x3fb86b['schema']['checkChild'](_0x2ae524,'$text'))return _0x2ae524;}(_0x254cc9,_0x35f79e);_0x10c1ea&&(_0x971701=_0x10c1ea,_0x254cc9=_0x13841d['createRange'](_0x971701));}const _0x44cfe5=_0x13841d['createRange'](_0x971701);_0x35f79e['markers']['has'](_0x27be0b)?(_0x13841d['updateMarker'](_0x27be0b,{'range':_0x254cc9}),_0x13841d['updateMarker'](_0xf7698d,{'range':_0x44cfe5})):(_0x13841d['addMarker'](_0x27be0b,{'range':_0x254cc9,'usingOperation':!0x0}),_0x13841d['addMarker'](_0xf7698d,{'range':_0x44cfe5,'usingOperation':!0x0}));}function V(_0x3877c0,_0x82a606,_0x345ca3){const _0x337151=_0x3877c0['t'],t=_0x3877c0['t'];switch(_0x82a606){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x337151({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x345ca3);default:return'';}}let G=0x1;class l extends _0x43cb95{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x18694e)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x196d77,_0x252144,_0x153278];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x573d4f=this['serverHistory']['getOperations']();for(let _0x27ef7a=_0x573d4f['length']-0x1;_0x27ef7a>=0x0;_0x27ef7a--){const _0x2db0a1=_0x573d4f[_0x27ef7a];if(!this['_disconnectionOperations']['has'](_0x2db0a1))return _0x2db0a1['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x45ebbf){if(super(_0x45ebbf),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3123ea(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x244de7('collaboration-missing-channelid',this);const _0x160ffd=_0x45ebbf['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x160ffd,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xb1a4c7(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x128f48=this['editor'],_0x242659=_0x128f48['plugins']['get'](_0x252144),_0x419db3=_0x128f48['plugins']['get'](n);this['listenTo'](_0x242659,'getOperationAuthor',(_0x10ace3,_0x1b0d98)=>{const _0x3af29c=_0x1b0d98[0x0];_0x3af29c['_authorId']&&(_0x10ace3['return']=_0x242659['getUser'](_0x3af29c['_authorId']),_0x10ace3['stop']()),null===_0x3af29c['_authorId']&&(_0x10ace3['return']=null,_0x10ace3['stop']());},{'priority':'high'}),this['listenTo'](_0x128f48['model']['document']['selection'],'change:range',(_0x2cb1ce,_0x3713b1)=>{_0x3713b1['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x128f48['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x128f48['model']['on']('applyOperation',(_0x186268,_0x5333c2)=>{const _0x4f412b=_0x5333c2[0x0];_0x4f412b['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4f412b),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x419db3,'state',this,'_hasSynchronizationProblem',(_0x45594e,_0x19243d)=>'connected'===_0x45594e&&!_0x19243d),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x128f48['disableReadOnlyMode']('rtc-offline'):_0x128f48['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x128f48['disableReadOnlyMode']('rtc-offline'):_0x128f48['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x57aad8=this['editor']['plugins']['get'](i),_0x2913a1=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x57aad8['unregister'](this['_channelId']);const _0x32565d=await this['_service']['reconnect'](_0x2913a1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x32565d)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5682ba=await this['_service']['getConnectedSessions']();_0x57aad8['register'](this['_channelId'],_0x5682ba),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4a4b6e){if(function(_0x485b13){return'404'===_0x485b13['code'];}(_0x4a4b6e)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4d2916){return'409'===_0x4d2916['code'];}(_0x4a4b6e)){const _0x5ed5ab=V(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x5ed5ab);}else{if(!(_0x4a4b6e instanceof $))throw _0x4a4b6e;this['_handleReconnectionError']();}}}}['destroy'](){const _0x425e20=this['editor']['plugins']['get'](n),_0x37b445=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x37b445['channelSessions']['has'](this['_channelId'])&&_0x37b445['unregister'](this['_channelId']),_0x425e20['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x404eb8){if(this['sessionId']!==_0x404eb8['sessionId']&&this['_lastSyncedOperationId']!==_0x404eb8['lastOperationId'])throw new $();return this['sessionId']=_0x404eb8['sessionId'],this['_handleServerResponse']([],{..._0x404eb8,'wereChangesApplied':!0x1,'data':_0x404eb8['data']},'reconnect');}async['_connectService'](_0xd6957,_0x1e33c8=!0x1){const {connection:_0x54d5a5}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x54d5a5,this['_channelId'])['then'](_0x20a310=>this['_initSessionsHandling'](_0x20a310))['catch'](_0x4421a5=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4421a5);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5b21d9,_0x594f5f)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x594f5f);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x55ba91=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xd6957);this['_isPendingUpdate']=!0x0;const _0x5e2256=await this['_service']['connect'](_0x54d5a5,this['_compressOperations'](_0xd6957),_0x55ba91);if(this['sessionId']=_0x5e2256['sessionId'],_0x1e33c8){if(!_0x5e2256['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5e2256['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xd6957,_0x5e2256,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5e2256,_0xd6957);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x531ece=this['editor']['plugins']['get'](i),_0x167b9a=this['editor']['plugins']['get'](H),_0x3ceaa3=_0x531ece['channelSessions']['get'](this['_channelId']);_0x3ceaa3&&_0x3ceaa3['length']>0x1?_0x167b9a['createUserMarkerOperations']():this['listenTo'](_0x531ece,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x531ece['channelSessions']['get'](this['_channelId'])['length']&&_0x167b9a['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1db553,_0x3da764,_0x131320,_0x3ab4ee){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3da764){const _0x2baeb7=this['_decompressOperations'](_0x131320,_0x3ab4ee);await this['_fetchMissingUsers'](_0x2baeb7),this['_handleExternalOperations'](_0x2baeb7,_0x3da764,_0x131320['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xeede45}=this['editor'];let _0x474aa5;try{_0x474aa5=await this['_service']['getDocumentDetails']();}catch{const _0x293a73=V(_0xeede45,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x293a73);}const _0x39b0e6=_0x474aa5['currentDocumentSession']||_0x474aa5['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x39b0e6['lastOperationId']){const _0x2dcfd0=V(_0xeede45,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x2dcfd0);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x26c04e){const _0x4b3280=this['editor']['plugins']['get'](i);this['listenTo'](_0x4b3280,'sessionAdd:'+this['_channelId'],(_0x5527c1,{session:_0x140074})=>{if(_0x140074['id']===_0x4b3280['mySessionId']){_0x5527c1['off']();const _0x1df2bb=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xf8fb8c=_0x140074['permissions'];_0x1df2bb&&_0x1df2bb['isEnabled']&&(_0xf8fb8c=_0xf8fb8c['filter'](_0xe39846=>'document:write'!==_0xe39846)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xf8fb8c,this['_channelId']);}}),_0x4b3280['register'](this['_channelId'],_0x26c04e);}['_initThrowingOnDataSet'](){const _0x1c9a9d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x347b5d)=>{if(!_0x347b5d[_0x347b5d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x244de7('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1c9a9d['apply'](this['editor']['data'],_0x347b5d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xfef3d2,[_0x2e0880])=>{if(this['_document']['version'])throw new _0x244de7('realtimecollaborationclient-init-document-already-initialized',this);_0xfef3d2['stop'](),this['_setPendingAction']();const _0x3a9051=this['editor']['config']['get']('rootsAttributes'),_0x290dff=this['_getOperationsFromInitData'](_0x2e0880,_0x3a9051);0x0==_0x290dff['length']&&_0x290dff['push'](new _0xd5d778(0x0)),_0xfef3d2['return']=this['_connectService'](_0x290dff)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5c9123=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5c9123))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x48f44a,[_0x5b9f20,_0x3b8814])=>{_0x48f44a['stop']();const _0x511233=this['editor']['model']['document']['getRoot'](_0x5b9f20);if(!this['_knownRootNames']['has'](_0x5b9f20)){const _0x234428=_0x3b8814&&_0x3b8814['data']?_0x3b8814['data']:'',_0x4410b9=_0x3b8814&&_0x3b8814['attributes']?_0x3b8814['attributes']:{};await this['_loadRoot'](_0x5b9f20,_0x234428,_0x4410b9);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x511233['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x511233);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x4b30f9){const _0x4454fa=this['editor']['plugins']['get'](_0x252144),{connection:_0x32c7d8}=this['editor']['plugins']['get'](n),_0xaf68bf=new Set();for(const _0x206154 of _0x4b30f9){const _0x59f8e0=_0x206154['_authorId'];_0x59f8e0&&!_0x4454fa['getUser'](_0x59f8e0)&&_0xaf68bf['add'](_0x59f8e0);}if(0x0===_0xaf68bf['size'])return;const _0x482e9c=await lt['getMany'](_0x32c7d8,Array['from'](_0xaf68bf));for(const _0x43e999 of _0x482e9c)_0x4454fa['getUser'](_0x43e999['id'])||_0x4454fa['addUser'](_0x43e999);}['_getOperationsFromInitData'](_0x379902,_0x24e17d={}){const _0x14bbdf=this['editor']['model'],_0xe1fe8d=[];let _0xbbd9be=0x0;const _0x6be06='string'==typeof _0x379902?{'main':_0x379902}:_0x379902;for(const _0x49ae3b of Object['keys'](_0x6be06)){if(!this['_document']['roots']['has'](_0x49ae3b))throw new _0x244de7('realtimecollaborationclient-init-non-existent-root',this);const _0x4b8818=this['editor']['data']['parse'](_0x6be06[_0x49ae3b]),_0x566eef=this['_document']['getRoot'](_0x49ae3b),_0x40ab58=new _0xf3c1f9(_0x14bbdf['createPositionAt'](_0x566eef,0x0),_0x4b8818,_0xbbd9be++);_0xe1fe8d['push'](_0x40ab58);for(const [_0x4af4f9,_0xa32433]of _0x4b8818['markers']){const _0x5d9216=_0x14bbdf['createRange'](_0x14bbdf['createPositionFromPath'](_0x566eef,_0xa32433['start']['path']['slice']()),_0x14bbdf['createPositionFromPath'](_0x566eef,_0xa32433['end']['path']['slice']())),_0x5e477a=new _0x3f5f19(_0x4af4f9,null,_0x5d9216,_0x14bbdf['markers'],!0x0,_0xbbd9be++);_0xe1fe8d['push'](_0x5e477a);}}if(_0x24e17d)for(const [_0x28175f,_0x2f4779]of Object['entries'](_0x24e17d)){const _0x524128=_0x14bbdf['document']['getRoot'](_0x28175f);if(!_0x524128)throw new _0x244de7('multi-root-editor-root-attributes-no-root',null);for(const [_0x21380f,_0x5bb5fb]of Object['entries'](_0x2f4779))if(null!==_0x5bb5fb){const _0x1814ad=new _0x4dba5a(_0x524128,_0x21380f,null,_0x5bb5fb,_0xbbd9be++);_0xe1fe8d['push'](_0x1814ad);}}return _0xe1fe8d;}async['_loadRoot'](_0x31e1ab,_0x46be90,_0x385c38){this['_getOperationsFromInitData']({[_0x31e1ab]:_0x46be90},{[_0x31e1ab]:_0x385c38})['forEach']((_0x355ad2,_0x272d6e)=>{_0x355ad2['baseVersion']=this['_document']['version']+_0x272d6e,_0x355ad2['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x355ad2);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x474a61,_0x4c92a0){let _0x4be9f9;this['_offset']=_0x474a61['offset'];const _0x3b5203=_0x474a61['wereChangesApplied']&&!_0x474a61['initData'],_0x25d175=_0x3b5203?0x0:_0x474a61['data']['baseVersion'];if(_0x4c92a0['forEach'](_0x187715=>{_0x187715['_isInit']=!0x0,_0x187715['createdAt']=_0x474a61['sessionCreatedAt'],_0x187715['_authorId']=null;}),_0x3b5203)_0x4be9f9=_0x4c92a0,this['_applyOperationsSet'](_0x4be9f9,_0x3b5203);else{if(_0x474a61['initData']){const _0x5a25d3=this['_getOperationsFromInitData'](_0x474a61['initData']);this['_document']['history']['version']=-_0x5a25d3['length'],_0x5a25d3['forEach'](_0xcab0f5=>{_0xcab0f5['baseVersion']-=_0x5a25d3['length'],_0xcab0f5['createdAt']=_0x474a61['sessionCreatedAt'],_0xcab0f5['_isInit']=!0x0,_0xcab0f5['_authorId']=null;}),this['_applyOperationsSet'](_0x5a25d3,!0x0),this['serverHistory']['version']=-_0x5a25d3['length']+this['_offset'],this['_updateServerHistory'](_0x5a25d3);}this['_document']['history']['version']=_0x25d175,_0x4be9f9=this['_decompressOperations'](_0x474a61['data'],_0x474a61['metadata']),await this['_fetchMissingUsers'](_0x4be9f9),this['_applyOperationsSet'](_0x4be9f9,_0x3b5203);}_0x474a61['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4be9f9,_0x474a61['lastOperationId']),this['_lastSyncedOperationId']=_0x474a61['lastOperationId']),this['serverHistory']['version']=_0x25d175+this['_offset'],this['_updateServerHistory'](_0x4be9f9),_0x4c92a0['filter'](_0x181a1c=>{const _0x16810a=this['_getAffectedRoot'](_0x181a1c);return _0x16810a&&!this['_knownRootNames']['has'](_0x16810a);})['forEach']((_0x6e0af5,_0x5336ce)=>{_0x6e0af5['baseVersion']=this['_document']['version']+_0x5336ce,this['_saveOperationInBuffer'](_0x6e0af5);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa01f6b,_0x2d262f){const _0x2d7a56=_0x2d262f&&_0x2d262f['message'];if(_0x2d7a56&&_0x2d7a56['startsWith']('realtimecollaborationclient'))throw _0x2d262f;const _0x2d50ce=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x2d50ce['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x244de7(_0xa01f6b,this['editor'],_0x2d7a56?{'originalError':_0x2d7a56}:void 0x0);}['_saveOperationInBuffer'](_0xf3c2b9){this['_knownOperations']['has'](_0xf3c2b9)||(this['_knownOperations']['add'](_0xf3c2b9),this['_bufferedOperations']['push'](_0xf3c2b9),this['_pendingAction']||'marker'==_0xf3c2b9['type']&&!_0xf3c2b9['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x45089b=!0x1){!_0x45089b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x6f5b40=>{_0x6f5b40&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5d55c7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1868a0){return _0x1868a0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1868a0['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1868a0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5d55c7)||this['_crash'](_0x5d55c7['message'],_0x5d55c7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1ebe7c=>{this['on']('change:_isPendingUpdate',()=>{_0x1ebe7c();});});}async['_sendBufferedOperations'](){const _0x754589=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x754589['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x11687a=[...this['_bufferedOperations']];for(const _0xf87ade of _0x11687a)_0xf87ade['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xf87ade);const _0x11cb80=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x11687a),_0x4669d7=G++,_0x2c6bb3=this['_compressOperations'](_0x11687a),_0x51badb=await this['_service']['sendOperations'](_0x2c6bb3,_0x2c6bb3['baseVersion'],_0x11cb80);try{return await this['_handleServerResponse'](_0x11687a,_0x51badb,_0x4669d7);}catch(_0x1a6be1){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1a6be1);}}async['_handleServerResponse'](_0x1a17f1,_0x19fc0c,_0x2797c0){if('error'in _0x19fc0c)throw _0x19fc0c['error'];let _0x357892=!0x1;if(_0x19fc0c['wereChangesApplied']){_0x19fc0c['lastOperationId']&&(this['_lastSyncedOperationId']=_0x19fc0c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5dd40c=>!_0x1a17f1['includes'](_0x5dd40c));for(const _0x5b3988 of _0x1a17f1)_0x5b3988['createdAt']='lastOperationAcceptedAt'in _0x19fc0c&&_0x19fc0c['lastOperationAcceptedAt']||void 0x0;K(_0x1a17f1,_0x19fc0c['version']-_0x1a17f1['length']),this['_updateServerHistory'](_0x1a17f1);const _0x221851=_0x1a17f1['filter'](_0x2d4e6b=>{if(!_0x2d4e6b['_isInit'])return!0x1;const _0x45040c=this['_getAffectedRoot'](_0x2d4e6b);return _0x45040c&&!this['_knownRootNames']['has'](_0x45040c);});K(_0x221851,this['_document']['version']),this['_applyOperationsSet'](_0x221851),_0x357892=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3a28bb=this['_decompressOperations'](_0x19fc0c['data'],_0x19fc0c['metadata'])['filter'](_0x5f0ad0=>_0x5f0ad0['baseVersion']>=this['_lastServerVersion']);_0x3a28bb['forEach'](_0x44ccce=>this['_addKnownRoot'](_0x44ccce)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x595121=>!_0x595121['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x595121))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3a28bb),_0x357892=this['_handleExternalOperations'](_0x3a28bb,_0x19fc0c['version'],_0x19fc0c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x357892?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x45e11e,_0x59cc4f,_0x8c7464){try{const _0x317a8a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x47436b,operationsB:_0x2f6d24,originalOperations:_0x3d81db}=_0x538a47(_0x45e11e,this['_bufferedOperations'],_0x317a8a);K(_0x47436b,this['_document']['version']),K(_0x2f6d24,_0x59cc4f);for(const _0x2e8497 of _0x47436b){const _0x167ab7=_0x3d81db['get'](_0x2e8497);_0x2e8497['_authorId']=_0x167ab7?_0x167ab7['_authorId']:null;}_0x8c7464&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x45e11e,_0x8c7464),this['_lastSyncedOperationId']=_0x8c7464),this['_bufferedOperations']=[..._0x2f6d24],this['_applyOperationsSet'](_0x47436b),this['_updateServerHistory'](_0x45e11e);}catch(_0x2d7e74){return console['error'](_0x2d7e74),!0x1;}return!0x0;}['_applyOperationsSet'](_0x583f12,_0x5f0282=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1fc17e=>{for(const _0x4bf4b8 of _0x583f12)this['_knownOperations']['add'](_0x4bf4b8),this['_addKnownRoot'](_0x4bf4b8),_0x1fc17e['batch']['addOperation'](_0x4bf4b8),this['editor']['model']['applyOperation'](_0x4bf4b8);});}['_addKnownRoot'](_0x5def0d){const _0x2fa61a=this['_getAffectedRoot'](_0x5def0d);_0x2fa61a&&this['_knownRootNames']['add'](_0x2fa61a);}['_getAffectedRoot'](_0x215216){let _0x53ab46,_0x73ea97;switch(_0x215216['type']){case'insert':_0x53ab46=_0x215216['position']['root'];break;case'marker':if(_0x73ea97=_0x215216['newRange'],!_0x73ea97)return null;_0x53ab46=_0x73ea97['root'];break;case'addRootAttribute':_0x53ab46=_0x215216['root'];break;case'addRoot':_0x53ab46=_0x215216['affectedSelectable'];break;case'move':_0x53ab46=_0x215216['targetPosition']['root'];break;default:return null;}return _0x53ab46['rootName'];}['_updateServerHistory'](_0x268da2){_0x268da2['forEach'](_0x42daad=>{const _0x401295=_0x42daad['clone']();_0x401295['_authorId']=_0x42daad['_authorId'],_0x401295['_isInit']=!!_0x42daad['_isInit'],_0x401295['createdAt']=_0x42daad['createdAt'],_0x401295['baseVersion']+=this['_offset'],_0x42daad['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x401295),this['serverHistory']['addOperation'](_0x401295);});}['_handleReconnectionError'](_0x3a8955){const _0x5d7b4a=this['editor']['plugins']['get']('Notification'),_0x5b6b4a=this['editor']['locale'];_0x3a8955||(_0x3a8955=V(_0x5b6b4a,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x5d7b4a['showWarning'](_0x3a8955,{'title':V(_0x5b6b4a,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x196d77)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x196d77)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x50530f){const _0x5b7c58=_0x50530f['map'](_0xcafc6d=>_0xcafc6d['toJSON']());return this['_compressor']['compress'](_0x5b7c58);}['_decompressOperations'](_0x21170d,_0x5b9f89){return this['_compressor']['decompress'](_0x21170d)['map']((_0xf1c9e2,_0x27ce27)=>{const _0x3180a7='init'==_0x5b9f89[_0x27ce27]['type'];if('InsertOperation'==_0xf1c9e2['__className']){const _0x237236=_0xf1c9e2['position']['root'];!this['_document']['getRoot'](_0x237236)&&(this['_document']['createRoot']('$root',_0x237236)['_isAttached']=!0x1);}const _0x5f12aa=_0x565f60['fromJSON'](_0xf1c9e2,this['_document']);return _0x5f12aa['wasUndone']=_0xf1c9e2['wasUndone'],_0x5f12aa['_isInit']=_0x3180a7,_0x5f12aa['_authorId']=_0x3180a7?null:_0x5b9f89[_0x27ce27]['userId'],_0x5f12aa['_isDisconnection']='cs:removeUser'===_0x5b9f89[_0x27ce27]['type'],_0x5f12aa['createdAt']=_0x5b9f89[_0x27ce27]['createdAt'],_0x5f12aa;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5bbbe2=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5bbbe2&&_0x5bbbe2['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x9432d5,_0x108c47){for(const _0x37755d of _0x9432d5)_0x37755d['baseVersion']=_0x108c47++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x3a5067){this['_ignoredOperations']=_0x3a5067,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x398e0f){let _0x5a28c4=_0x398e0f['length'];for(;_0x5a28c4--;){const _0x4245ca=_0x398e0f[_0x5a28c4];if(!this['_ignoredOperations']['has'](_0x4245ca)){if(!this['_operationToId']['has'](_0x4245ca)){const _0x2611e5=_0x2b2daf()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4245ca,_0x2611e5);}return this['_operationToId']['get'](_0x4245ca);}}}['setIdForTheLastOperation'](_0x395976,_0x2055a9){if(!_0x2055a9)return;let _0x227c96=_0x395976['length'];for(;_0x227c96--;){const _0x28cade=_0x395976[_0x227c96];this['_ignoredOperations']['has'](_0x28cade)||this['_operationToId']['set'](_0x28cade,_0x2055a9);}}}class a extends _0x43cb95{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x257d3e{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x1f5c88)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x252144];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x57b873){super(_0x57b873),this['_services']=new Map();}async['init'](){const _0x4cf185=this['context'],_0x2dc388=_0x4cf185['plugins']['get']('CommentsRepository');if(_0x4cf185['plugins']['get'](n)['addToReconnectionStack'](this),_0x2dc388['adapter']={'addCommentThread':async({channelId:_0x498123,threadId:_0x55122e,comments:_0xac828c,resolvedAt:_0xf147e9,resolvedBy:_0x41c7a6,context:_0x230816,attributes:_0x1e24d5})=>{const _0x78b9c0=await this['_getService'](_0x498123)['addCommentThread']({'commentThreadId':_0x55122e,'comments':_0xac828c['map'](_0x19bcab=>function(_0x30faf8,_0x119e95,_0x538ebf){return{'commentThreadId':_0x538ebf,'commentId':_0x30faf8['commentId'],'userId':_0x30faf8['authorId'],'content':_0x30faf8['content'],'documentId':_0x119e95,'createdAt':_0x30faf8['createdAt'],'attributes':_0x30faf8['attributes']||{}};}(_0x19bcab,_0x498123,_0x55122e)),'resolvedAt':_0xf147e9,'resolvedBy':_0x41c7a6,'context':_0x230816,'attributes':_0x1e24d5})['catch'](dt);return{'threadId':_0x78b9c0['commentThreadId'],'comments':_0x78b9c0['comments']};},'getCommentThread':async({channelId:_0x5e9ec6,threadId:_0x1ac0ce})=>{const _0x3d1d70=await this['_getService'](_0x5e9ec6)['getCommentThread'](_0x1ac0ce)['catch'](F)['catch'](dt);return _0x3d1d70?_0x3d1d70['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3d1d70]),{'threadId':_0x3d1d70['commentThreadId'],'comments':_0x3d1d70['comments']['map'](B),'context':_0x3d1d70['context'],'resolvedAt':_0x3d1d70['resolvedAt'],'resolvedBy':_0x3d1d70['resolvedBy'],'attributes':_0x3d1d70['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1cf67a,threadId:_0x403b6d,context:_0x3d1458,unlinkedAt:_0x56e433,attributes:_0x543e84})=>this['_getService'](_0x1cf67a)['updateCommentThread']({'commentThreadId':_0x403b6d,'context':_0x3d1458,'attributes':_0x543e84,'unlinkedAt':_0x56e433})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x3ac471,threadId:_0x13d68b})=>{const _0x4eda22=await this['_getService'](_0x3ac471)['resolveCommentThread'](_0x13d68b)['catch'](F)['catch'](dt);return{'threadId':_0x4eda22['commentThreadId'],'resolvedAt':_0x4eda22['resolvedAt'],'resolvedBy':_0x4eda22['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5cd4ad,threadId:_0x2afef9})=>this['_getService'](_0x5cd4ad)['reopenCommentThread'](_0x2afef9)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x4383a8,threadId:_0x1122c9})=>this['_getService'](_0x4383a8)['removeCommentThread'](_0x1122c9)['catch'](F)['catch'](dt),'addComment':({channelId:_0x173d5d,threadId:_0xa53d21,commentId:_0x2b6912,content:_0x153c73,attributes:_0x832f49})=>this['_getService'](_0x173d5d)['addComment'](_0xa53d21,_0x2b6912,_0x153c73,_0x832f49)['catch'](dt),'updateComment':({channelId:_0xcd1a96,threadId:_0x117e91,commentId:_0x3bcb54,content:_0x5c29cd,attributes:_0x53cde8})=>this['_getService'](_0xcd1a96)['updateComment'](_0x117e91,_0x3bcb54,_0x5c29cd,_0x53cde8)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x2df491,threadId:_0xdc9cf5,commentId:_0x5d4160})=>this['_getService'](_0x2df491)['removeComment'](_0xdc9cf5,_0x5d4160)['catch'](F)['catch'](dt)},_0x4cf185 instanceof _0xfb0d13){const _0x302991=_0x4cf185['config']['get']('collaboration.channelId'),_0x259123=_0x4cf185['plugins']['get'](i);await this['_setUpService'](_0x302991);const _0x5a21a6=await this['_services']['get'](_0x302991)['getConnectedSessions']();this['listenTo'](_0x259123,'sessionAdd:'+_0x302991,(_0x8e5600,{session:_0x4afeb7})=>{_0x4afeb7['id']===_0x259123['mySessionId']&&(_0x8e5600['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x4afeb7['permissions'],_0x302991));}),_0x259123['register'](_0x302991,_0x5a21a6);}}async['_setUpService'](_0x15c9df){if(this['_services']['has'](_0x15c9df))throw new _0x244de7('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x15c9df});const _0x2053e9=this['context']['plugins']['get']('CommentsRepository'),_0x1825e3=new s['CommentsService'](_0x15c9df);this['_services']['set'](_0x15c9df,_0x1825e3),this['listenTo'](_0x1825e3,'commentThreadAdded',(_0x3452e3,_0x42a6fd)=>{const {commentThreadId:_0x322504,documentId:_0x53898b,context:_0x246db9,attributes:_0x8ad608,resolvedAt:_0x3b814f,resolvedBy:_0x2da162,comments:_0x240508}=_0x42a6fd;_0x2053e9['getCommentThread'](_0x322504)||_0x2053e9['addCommentThread']({'threadId':_0x322504,'channelId':_0x53898b,'comments':_0x240508?_0x240508['map'](B):[],'context':_0x246db9,'attributes':_0x8ad608,'resolvedAt':_0x3b814f,'resolvedBy':_0x2da162,'isFromAdapter':!0x0});}),this['listenTo'](_0x1825e3,'commentThreadUpdated',(_0x40d923,{commentThreadId:_0x3b4bdd,documentId:_0x1627d9,context:_0x5641fa,unlinkedAt:_0x44b38c,attributes:_0x4a7bab})=>{_0x2053e9['getCommentThread'](_0x3b4bdd)&&_0x2053e9['updateCommentThread']({'threadId':_0x3b4bdd,'channelId':_0x1627d9,'context':_0x5641fa,'unlinkedAt':_0x44b38c,'attributes':_0x4a7bab,'isFromAdapter':!0x0});}),this['listenTo'](_0x1825e3,'commentThreadResolved',(_0x407ecd,{commentThreadId:_0x1f2cba,resolvedBy:_0x11fe7b,resolvedAt:_0x313c61})=>{const _0x443f2c=_0x2053e9['getCommentThread'](_0x1f2cba);_0x443f2c&&_0x443f2c['resolve']({'resolvedBy':_0x11fe7b,'resolvedAt':_0x313c61,'isFromAdapter':!0x0});}),this['listenTo'](_0x1825e3,'commentThreadReopened',(_0x226912,{commentThreadId:_0x20333a})=>{const _0x3452e6=_0x2053e9['getCommentThread'](_0x20333a);_0x3452e6&&_0x3452e6['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1825e3,'commentThreadRemoved',(_0x3b965a,{commentThreadId:_0x4f1424})=>{const _0x3cae78=_0x2053e9['getCommentThread'](_0x4f1424);_0x3cae78&&_0x3cae78['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1825e3,'commentAdded',(_0x82fdd,_0x4278ac)=>{const _0x53745c=_0x4278ac['commentThreadId'],_0x12e045=_0x2053e9['getCommentThread'](_0x53745c);_0x12e045&&_0x12e045['addComment']({...B(_0x4278ac),'isFromAdapter':!0x0});}),this['listenTo'](_0x1825e3,'commentUpdated',(_0x5b1de4,{commentThreadId:_0x111179,commentId:_0x1ccf38,content:_0x12a9ef,attributes:_0x17ef90})=>{const _0xbdc69a=_0x2053e9['getCommentThread'](_0x111179);if(_0xbdc69a){const _0x61105=_0xbdc69a['getComment'](_0x1ccf38);_0x61105&&_0x61105['update']({'content':_0x12a9ef,'attributes':_0x17ef90,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1825e3,'commentRemoved',(_0xcb492f,{commentThreadId:_0x3b2e33,commentId:_0x3030db})=>{const _0x14d67b=_0x2053e9['getCommentThread'](_0x3b2e33);if(_0x14d67b){const _0x1ad89e=_0x14d67b['getComment'](_0x3030db);_0x1ad89e&&_0x1ad89e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x15c9df);}['destroy'](){if(this['context']instanceof _0xfb0d13){const _0x15cbfd=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x15cbfd);}}['_terminateService'](_0x3d52d4){if(!this['_services']['has'](_0x3d52d4))throw new _0x244de7('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3d52d4});this['_getService'](_0x3d52d4)['disconnect'](),this['_services']['delete'](_0x3d52d4);}async['reconnect'](){for(const _0x5aae4d of this['_services']['keys']())await this['_connectService'](_0x5aae4d);if(this['context']instanceof _0xfb0d13){const _0x3e4d45=this['context']['config']['get']('collaboration.channelId'),_0x24a190=this['context']['plugins']['get'](i);_0x24a190['unregister'](_0x3e4d45);const _0x36ca94=await this['_services']['get'](_0x3e4d45)['getConnectedSessions']();_0x24a190['register'](_0x3e4d45,_0x36ca94);}}async['_connectService'](_0x49b08c){const {connection:_0x55543a}=this['context']['plugins']['get'](n),_0x32b323=this['context']['plugins']['get']('CommentsRepository'),_0x2b7d5b=this['_services']['get'](_0x49b08c),_0xf52a4c=await _0x2b7d5b['connect'](_0x55543a);await this['_fetchMissingUsersForThreads'](_0xf52a4c);const _0x55f821=new Set(Array['from'](_0x32b323['getCommentThreads']({'channelId':_0x49b08c}),_0x577200=>_0x577200['id']));for(const _0x7f30af of _0xf52a4c)_0x7f30af['deletedAt']||_0x55f821['delete'](_0x7f30af['commentThreadId']);for(const _0x38f4c2 of _0x55f821)_0x32b323['getCommentThread'](_0x38f4c2)['remove']({'isFromAdapter':!0x0});for(const _0x52ea8d of _0xf52a4c){let _0x3eb69b=_0x32b323['getCommentThread'](_0x52ea8d['commentThreadId']);const {commentThreadId:_0x346416,context:_0x1e553d,attributes:_0x43cac1,resolvedBy:_0x53eb54,resolvedAt:_0x2d8ab8,unlinkedAt:_0xcc6dc8,deletedAt:_0xd75f7}=_0x52ea8d;if(_0xd75f7)continue;_0x3eb69b||(_0x3eb69b=_0x32b323['addCommentThread']({'channelId':_0x49b08c,'threadId':_0x346416,'context':_0x1e553d,'attributes':_0x43cac1||{},'resolvedBy':_0x53eb54,'resolvedAt':_0x2d8ab8,'unlinkedAt':_0xcc6dc8,'isFromAdapter':!0x0}));const _0xe43b0a=new Set(Array['from'](_0x3eb69b['comments'],_0x2e3aea=>_0x2e3aea['id']));for(const _0x3f14a6 of _0x52ea8d['comments'])_0xe43b0a['delete'](_0x3f14a6['commentId']);for(const _0x20e08b of _0xe43b0a)_0x3eb69b['getComment'](_0x20e08b)['remove']({'isFromAdapter':!0x0});for(const _0x18351f of _0x52ea8d['comments']){const _0x52b538=_0x3eb69b['getComment'](_0x18351f['commentId']);_0x52b538?_0x52b538['content']!==_0x18351f['content']&&_0x52b538['update']({'content':_0x18351f['content'],'isFromAdapter':!0x0}):_0x3eb69b['addComment'](Object['assign'](B(_0x18351f),{'isFromAdapter':!0x0}));}}}['_getService'](_0x19bb3b){if(!this['_services']['has'](_0x19bb3b))throw new _0x244de7('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x19bb3b});return this['_services']['get'](_0x19bb3b);}async['_fetchMissingUsersForThreads'](_0x5e879a){const _0x368e20=this['context']['plugins']['get'](_0x252144),{connection:_0x157a2a}=this['context']['plugins']['get'](n),_0x3aa6cf=new Set();for(const {resolvedBy:_0x115ebf,comments:_0x1f3bc3}of _0x5e879a){_0x115ebf&&!_0x368e20['getUser'](_0x115ebf)&&_0x3aa6cf['add'](_0x115ebf);for(const {userId:_0x6c349d}of _0x1f3bc3)_0x368e20['getUser'](_0x6c349d)||_0x3aa6cf['add'](_0x6c349d);}if(0x0===_0x3aa6cf['size'])return;const _0x1ac126=await lt['getMany'](_0x157a2a,Array['from'](_0x3aa6cf));for(const _0x3ccdd5 of _0x1ac126)_0x368e20['getUser'](_0x3ccdd5['id'])||_0x368e20['addUser'](_0x3ccdd5);}}async function F(_0x9cf079){if('404'!==_0x9cf079['code'])throw _0x9cf079;}function dt(_0x2b3324){if((_0x16731d=_0x2b3324)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x16731d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x16731d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x16731d;throw _0x2b3324;}function B(_0x39357e){return{'threadId':_0x39357e['commentThreadId'],'commentId':_0x39357e['commentId'],'content':_0x39357e['content'],'createdAt':_0x39357e['createdAt'],'authorId':_0x39357e['userId'],'attributes':_0x39357e['attributes']||{}};}class m extends _0x43cb95{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ce5e0){super(_0x5ce5e0);const _0x65c755=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x65c755);}['init'](){const _0x427af3=this['editor']['plugins']['get'](n),_0x38ab43=this['editor']['plugins']['get']('TrackChangesEditing');return _0x38ab43['adapter']={'getSuggestion':async _0x5613eb=>{await this['_waitForServiceReady']();const _0x4c3311=await this['_trackChangesService']['get'](_0x5613eb)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x4c3311]),_0x4c3311;},'addSuggestion':async({id:_0x5c5495,type:_0x274843,data:_0x31b5fa,originalSuggestionId:_0x12d542,attributes:_0x2533a8})=>{await this['_waitForServiceReady']();const _0x139c49={'id':_0x5c5495,'type':_0x274843,'data':_0x31b5fa,'originalSuggestionId':_0x12d542,'attributes':_0x2533a8},_0x110cf5=await this['_trackChangesService']['add'](_0x5c5495,_0x274843,_0x31b5fa,_0x12d542,_0x2533a8)['catch'](_0x130a12=>{if(ut(_0x130a12))return new Promise(_0x53542e=>{this['_bufferedRequests']['set'](_0x5c5495,{'resolve':_0x53542e,'suggestionData':_0x139c49});});throw _0x130a12;});return this['_bufferedRequests']['delete'](_0x5c5495),_0x110cf5;},'updateSuggestion':async(_0x499278,_0x12f2a8)=>{if(await this['_waitForServiceReady'](),'open'!==_0x12f2a8['state'])return this['_trackChangesService']['update'](_0x499278,_0x12f2a8)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x49b159,_0x134bbd)=>{_0x38ab43['hasSuggestion'](_0x134bbd['id'])&&(_0x38ab43['getSuggestion'](_0x134bbd['id'])['attributes']=_0x134bbd['attributes']);}),this['_trackChangesService']['connect'](_0x427af3['connection'])['then'](_0x55e9bc=>(_0x427af3['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x55e9bc)['then'](()=>{for(const _0x45e6d1 of _0x55e9bc){_0x38ab43['addSuggestionData'](_0x45e6d1)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3d5c7e=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x395915}=this['editor']['plugins']['get'](n),_0x1e429f=await this['_trackChangesService']['connect'](_0x395915);await this['_fetchMissingUsersForThreads'](_0x1e429f);for(const {suggestionData:_0x313003,resolve:_0x1564c7}of this['_bufferedRequests']['values']()){let _0x21ed0c=_0x1e429f['find'](_0x143be3=>_0x143be3['id']===_0x313003['id']);_0x21ed0c||(_0x21ed0c=await this['_trackChangesService']['add'](_0x313003['id'],_0x313003['type'],_0x313003['data'],_0x313003['originalSuggestionId'])),_0x1564c7(_0x21ed0c);}for(const _0x381b5a of _0x1e429f)_0x3d5c7e['hasSuggestion'](_0x381b5a['id'])||_0x3d5c7e['addSuggestionData'](_0x381b5a);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4f561d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x4bdae9=>{_0x4bdae9['off'](),_0x4f561d();});});}async['_fetchMissingUsersForThreads'](_0x2efcbb){const _0x699d34=this['editor']['plugins']['get'](_0x252144),{connection:_0x268048}=this['editor']['plugins']['get'](n),_0x4083e2=new Set();for(const {authorId:_0xde7291}of _0x2efcbb)_0x699d34['getUser'](_0xde7291)||_0x4083e2['add'](_0xde7291);if(0x0===_0x4083e2['size'])return;const _0x250843=await lt['getMany'](_0x268048,Array['from'](_0x4083e2));for(const _0x402bca of _0x250843)_0x699d34['getUser'](_0x402bca['id'])||_0x699d34['addUser'](_0x402bca);}}function k(_0x2c9bfd){if(ut(_0x2c9bfd))return new Promise(()=>{});throw _0x2c9bfd;}function ut(_0x338b6d){return _0x338b6d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x338b6d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x43cb95{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4fc2dc=this['editor']['plugins']['get'](n),_0x915fbf=this['editor']['plugins']['get']('CommentsEditing'),_0x318261=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4fc2dc,'change:state',(_0x59b2b6,_0x354869,_0x6ef87b)=>{_0x915fbf['isThreadsLoadingPaused']='connected'!==_0x6ef87b;});}),this['listenTo'](_0x4fc2dc,'change:state',(_0x2b7089,_0x9484a8,_0xe6d216)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0xe6d216);}),_0x318261['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x43cb95{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x43cb95{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x252144];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x25e284){super(_0x25e284);const _0x5c7049=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5c7049);}async['init'](){const _0x15aef9=this['editor']['plugins']['get'](l),_0x13aa72=_0x15aef9['serverHistory'],_0x4efc53=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x13aa72,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x15aef9['sessionId']});const _0x199515=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x20fe1f=await tt['isBundleUploaded'](_0x4efc53['connection'],_0x199515);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x59e76d})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x59e76d)),'updateRevisions':async _0x39203f=>{await this['_waitForServiceReady']();const _0x38bbfb=this['_revisionTracker']['currentRevision'];if(_0x20fe1f&&0x1===_0x39203f['length']&&_0x39203f[0x0]['id']===_0x38bbfb['id'])return _0x39203f;for(const _0x1af34a of _0x39203f)_0x1af34a['id']===_0x38bbfb['id']&&(_0x1af34a['isEmptyCurrent']=_0x1af34a['fromVersion']===_0x1af34a['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x39203f,this['_lastRequestId'])['then'](_0x52574b=>(this['_lastRequestId']=_0x52574b,_0x39203f))['catch'](_0x4b4c54=>{if(st(_0x4b4c54)||'400'===_0x4b4c54['code']&&void 0x0!==_0x4b4c54['data']['wrongRequestId']){for(const _0xd7fda7 of _0x39203f){!this['_revisionTracker']['repository']['getRevision'](_0xd7fda7['id'])||this['_revisionTracker']['_bufferUpdate'](_0xd7fda7['id'],_0xd7fda7,!0x1);}if(st(_0x4b4c54))throw _0x4b4c54;return _0x39203f;}throw _0x4b4c54;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x180082,{revisionsData:_0x43315a,requestId:_0x4137e3})=>{Math['max'](..._0x43315a['map'](_0x1e27a9=>_0x1e27a9['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x43315a,_0x4137e3);}):this['_handleRevisionsUpdate'](_0x43315a,_0x4137e3);});const {revisions:_0x183ce9,requestId:_0x2c9049}=await this['_revisionHistoryService']['connect'](_0x4efc53['connection']);_0x4efc53['addToReconnectionStack'](this),this['_lastRequestId']=_0x2c9049,await this['_fetchMissingUsers'](_0x183ce9);for(const _0x2ecf3a of _0x183ce9)this['_revisionTracker']['addRevisionData'](_0x2ecf3a);this['listenTo'](_0x15aef9,'change:_isConnected',(_0x3bdf98,_0x49926e,_0x39359e)=>{_0x39359e&&(this['_oldOffset']=_0x15aef9['_offset'],_0x3bdf98['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4efc53,'state',_0x47df91=>_0x47df91===te['CONNECTED']);}async['reconnect'](){const _0x25cdb9=this['editor']['plugins']['get'](n),_0x38023f=this['editor']['plugins']['get'](l),_0x2c9d70=async()=>{const _0x1310af=this['_revisionTracker']['currentRevision'],_0x4030e1=_0x1310af['id'],_0x46c5ad=_0x4030e1!==_0x38023f['sessionId'];if(_0x46c5ad){const _0x126c04=_0x38023f['_offset']-this['_oldOffset'],_0x116658=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1310af['toVersion']+_0x126c04!==_0x116658){const _0xa17db8=_0x1310af['fromVersion']+_0x126c04,_0x2bc7cc=this['editor']['plugins']['get'](_0x252144),_0x1d41d7=this['_revisionTracker']['buildRevisionData']({'revision':_0x1310af,'from':_0xa17db8,'to':_0x116658});_0x1d41d7['id']=_0x1310af['id'];const _0xeed2d8=_0x1d41d7['authorsIds']['map'](_0x42193d=>_0x2bc7cc['getUser'](_0x42193d));_0x1310af['_update']({..._0x1d41d7,'authors':_0xeed2d8},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1310af['id'],_0x1d41d7,!0x0);}this['_revisionTracker']['_startingVersion']=_0x116658,(_0x1310af['toVersion']===_0x1310af['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4030e1)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4030e1),this['_revisionTracker']['_createCurrentRevision'](_0x116658));}const {revisions:_0x140ecf,requestId:_0x58a48e}=await this['_revisionHistoryService']['reconnect'](_0x25cdb9['connection'],this['_lastRequestId']);_0x46c5ad&&_0x140ecf['length']>0x0?_0x38023f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x140ecf),this['_handleRevisionsUpdate'](_0x140ecf,_0x58a48e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x38023f['_isConnected']?_0x2c9d70():new Promise((_0x140638,_0x5317e5)=>{_0x38023f['once']('change:_isConnected',()=>{_0x2c9d70()['then'](_0x140638)['catch'](_0x5317e5);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x32b0ea=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3fb864=>{_0x3fb864['off'](),_0x32b0ea();});});}['_getLatestVersionFromServerOperations'](){const _0x2bb9d1=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1cb45e of _0x2bb9d1)if('marker'!==_0x1cb45e['type']||_0x1cb45e['affectsData'])return _0x1cb45e['baseVersion']+0x1;}['_getLatestVersion'](){const _0x34e54a=this['editor']['plugins']['get'](l);return new Promise(_0x5473ad=>{_0x34e54a['_isPendingUpdate']?_0x34e54a['once']('change:_isPendingUpdate',()=>{_0x5473ad(this['_getLatestVersionFromServerOperations']());}):_0x5473ad(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4e23ea,_0xac9e3e){const _0x3636c6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0xac9e3e;for(const _0x49326f of _0x4e23ea){const _0x4e2ffb=_0x3636c6['getRevision'](_0x49326f['id']);if(_0x4e2ffb){if((_0x49326f['fromVersion']||_0x49326f['toVersion'])&&(_0x49326f['diffData']=null),_0x4e2ffb===this['_revisionTracker']['currentRevision']){const _0x2b3afb=Math['max'](_0x4e2ffb['toVersion'],_0x49326f['toVersion']),_0x5ce69e=Math['max'](_0x4e2ffb['fromVersion'],_0x49326f['fromVersion']);let _0x4c6663;_0x4e2ffb['toVersion']===_0x49326f['toVersion']&&_0x4e2ffb['fromVersion']===_0x49326f['fromVersion']?(_0x4c6663=!0x0,this['_preventResendingRevisionData'](_0x49326f)):_0x49326f['toVersion']===_0x2b3afb&&_0x49326f['fromVersion']===_0x5ce69e?_0x4c6663=!0x1:(_0x4e2ffb['toVersion']===_0x2b3afb&&_0x4e2ffb['fromVersion']===_0x5ce69e||this['_fixRevision']({'revision':_0x4e2ffb,'from':_0x5ce69e,'to':_0x2b3afb}),_0x4c6663=!0x0),_0x4c6663&&(delete _0x49326f['fromVersion'],delete _0x49326f['toVersion'],delete _0x49326f['diffData'],delete _0x49326f['createdAt'],delete _0x49326f['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x49326f),this['_preventResendingRevisionData'](_0x49326f);}else this['_revisionTracker']['addRevisionData'](_0x49326f);}const _0x19591e=_0x3636c6['getRevisions']();_0x19591e['reverse']();for(let _0x4533f4=0x0;_0x4533f4<_0x19591e['length']-0x1;_0x4533f4++){const _0x26240d=_0x19591e[_0x4533f4],_0x4be9ef=_0x19591e[_0x4533f4+0x1];if(_0x26240d['fromVersion']<_0x4be9ef['toVersion']){const _0x1b4fe2=_0x4be9ef['toVersion'],_0x418094=Math['max'](_0x1b4fe2,_0x26240d['toVersion']);this['_fixRevision']({'revision':_0x26240d,'from':_0x1b4fe2,'to':_0x418094});}}}['_fixRevision']({revision:_0x444f7f,from:_0x275839,to:_0x3854c5}={}){const _0x38655d=this['editor']['plugins']['get'](_0x252144),_0x188aea=this['_revisionTracker']['buildRevisionData']({'revision':_0x444f7f,'from':_0x275839,'to':_0x3854c5});_0x188aea['authors']=_0x188aea['authorsIds']['map'](_0x16c0f1=>_0x38655d['getUser'](_0x16c0f1)),_0x444f7f['_update'](_0x188aea);}['_preventResendingRevisionData'](_0x23a04f){const _0x310b3f={};_0x310b3f['id']=_0x23a04f['id'];for(const _0xa45032 of Object['keys'](_0x23a04f))'id'!==_0xa45032&&(_0x310b3f[_0xa45032]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x310b3f['id'],_0x310b3f,!0x0);}async['_fetchMissingUsers'](_0x48d9cd){const _0x2b22fa=this['editor']['plugins']['get'](_0x252144),{connection:_0x487a85}=this['editor']['plugins']['get'](n),_0xdd95a6=new Set();for(const _0x144449 of _0x48d9cd){for(const _0x48f9d2 of _0x144449['authorsIds'])_0x428b33(_0x48f9d2);_0x144449['creatorId']&&_0x428b33(_0x144449['creatorId']);}if(0x0===_0xdd95a6['size'])return;const _0x48edb6=await lt['getMany'](_0x487a85,Array['from'](_0xdd95a6));for(const _0x52ae35 of _0x48edb6)_0x2b22fa['getUser'](_0x52ae35['id'])||_0x2b22fa['addUser'](_0x52ae35);function _0x428b33(_0x4a9cb7){_0x2b22fa['getUser'](_0x4a9cb7)||_0xdd95a6['add'](_0x4a9cb7);}}}function st(_0x9b5494){return _0x9b5494['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x9b5494['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x9b5494['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x43cb95{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x3b55a6{['_collapseAt'];constructor(_0x179ba1,_0x44eb86=0x6){super(_0x179ba1);const _0x47b625=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x44eb86,this['bind']('isHidden')['to'](this,'usersCount',_0x48d50f=>_0x48d50f<_0x44eb86),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x47b625['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x47b625['to']('usersCount',_0x130ea4=>'+'+(_0x130ea4-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x3b55a6{['items'];['keystrokes'];constructor(_0xd06696){super(_0xd06696);const _0x481705=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x54ba1d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x481705['if']('hasPopup'),'aria-expanded':_0x481705['to']('isExpanded',_0x22c59b=>this['hasPopup']&&String(_0x22c59b)),'aria-label':_0x481705['to']('hasPopup',_0x356350=>V(_0xd06696,_0x356350?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x481705['to']('hasPopup',_0x1ea5a3=>!!_0x1ea5a3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x481705['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x481705['to'](_0x380d4a=>{const _0x5aff51=_0x380d4a,_0x1c8009=document['querySelector']('.ck-presence-list__dropdown-list'),_0x255514=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1c8009?.['contains'](_0x5aff51['relatedTarget'])||_0x255514?.['contains'](_0x5aff51['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x398245,_0xceced2,_0x48ffeb)=>{this['element']&&(_0x48ffeb?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x3b55a6{['counterView'];['inlineListView'];constructor(_0x540976,_0x5c7f32=0x6){super(_0x540976);const _0x54879b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x5c7f32),this['inlineListView']=new is(_0x540976),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x128d72 of this['inlineListView']['items'])_0x128d72['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x54879b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x3b55a6{['listWrapperView'];constructor(_0x19a54c,_0x12c853){super(_0x19a54c);const _0x56a5f0=this['bindTemplate'];this['listWrapperView']=new pt(_0x19a54c,_0x12c853),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x19a54c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x56a5f0['to'](_0x1d625c=>{const _0x13793e=_0x1d625c,_0x324333=document['querySelector']('.ck-presence-list__list'),_0x1f695f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x324333?.['contains'](_0x13793e['relatedTarget'])||_0x1f695f?.['contains'](_0x13793e['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x2e5dc4{constructor(_0x375a22,_0x38fd6f){super(_0x375a22);const _0x5c1401=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x38fd6f?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5c1401['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5c1401['to']('role'),'aria-label':_0x5c1401['to']('ariaLabel'),'aria-labelledby':_0x5c1401['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x391e42['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x186552=this['element'];_0x186552&&(this['_isScrollable']=Math['max'](_0x186552['scrollHeight'],_0x186552['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x10c827,_0x150e74,_0x53fd85){super(_0x10c827);const _0x5102fc=this['bindTemplate'];this['userView']=new ct(_0x10c827,_0x150e74);const _0x40ceaf={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x150e74['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x150e74['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x150e74['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x53fd85&&(_0x40ceaf['tag']='button',_0x40ceaf['on']={'click':_0x5102fc['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x40ceaf);}['focus'](){this['element']['focus']();}}class A extends _0x3b55a6{['userView'];['markerView'];constructor(_0x2ef540,_0x11bb27,_0xb55c4b){super(_0x2ef540);const _0x2768f5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x2ef540,_0x11bb27),this['markerView']=new at(_0x2ef540,_0x11bb27);const _0x2698d3=new ot(_0x2ef540);_0x2698d3['template']['tag']='span',_0x2698d3['text']=_0x11bb27['name'];const _0x3e50c0={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2768f5['to']('isFocusable',_0x10a7bd=>!!_0x10a7bd&&0x0),'aria-labelledby':_0x2698d3['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2768f5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2768f5['to']('hasTooltip',_0x10553f=>!_0x10553f),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2698d3]};_0xb55c4b&&(_0x3e50c0['tag']='button',_0x3e50c0['on']={'click':_0x2768f5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3e50c0);}}class at extends _0x3b55a6{constructor(_0x562af7,_0x28a719){super(_0x562af7),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x28a719['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x257d3e{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b3712){super(_0x5b3712),this['context']['config']['define']('presenceList',x);const _0x2f2e81=_0x5b3712['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2f2e81)throw new _0x244de7('presencelist-collapseat-invalid-format',this);if(_0x2f2e81<0x1)throw new _0x244de7('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xe0a42b(),this['balloonPanelView']=new _0x353906(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x13bce0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x13bce0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x13bee8,_0x36b129)=>{this['_handleUserAdd'](_0x36b129);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4e234c,_0x5ccd5d)=>{this['_handleUserRemove'](_0x5ccd5d);});}['_createView'](){const _0x106984=this['context'],_0x19639b=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x44b4ea=this['balloonPanelView'];if(!_0x5d7266(_0x106984['config']['get']('presenceList.container')))throw new _0x244de7('presencelist-missing-container',this);return _0x19639b['counterView']['bind']('usersCount')['to'](this),_0x19639b['bind']('isCollapsed')['to'](this,'usersCount',_0x5616f3=>{const {collapseAt:_0x32ae40}=_0x106984['config']['get']('presenceList'),_0x292463=_0x5616f3>=_0x32ae40;if(_0x292463&&!_0x19639b['inlineListView']['items']['find'](_0x18b72d=>_0x18b72d instanceof b)){const _0x183b3b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x183b3b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x19639b['inlineListView']['items']['add'](_0x19639b['counterView']);}return _0x292463||this['hideDropdown'](),_0x292463;}),_0x19639b['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x101695=>{const _0x4598ca=_0x106984['config']['get']('presenceList'),_0x8f0458=new A(_0x106984['locale'],_0x101695,!!_0x4598ca['onClick']);return _0x8f0458['bind']('hasTooltip')['to'](_0x19639b,'isCollapsed',_0x3c7533=>!_0x3c7533),_0x8f0458['bind']('isFocusable')['to'](_0x19639b,'isCollapsed',_0x57ad0f=>!_0x57ad0f),_0x4598ca['onClick']&&this['listenTo'](_0x8f0458,'execute',()=>{this['view']['isCollapsed']||_0x4598ca['onClick'](_0x101695,_0x8f0458['element']);}),_0x8f0458;}),this['listenTo'](_0x19639b['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x19639b['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x19639b['inlineListView']['keystrokes']['set']('Enter',(_0x40e611,_0x136ad8)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x136ad8());}),_0x19639b['render'](),_0x44b4ea['render'](),_0x2ca48e({'emitter':_0x19639b,'activator':()=>_0x44b4ea['isVisible'],'contextElements':[_0x44b4ea['element'],_0x19639b['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x106984['config']['get']('presenceList.container')['appendChild'](_0x19639b['element']),this['_bodyCollection']=new _0x107ff5(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x19639b;}['_handleUserAdd'](_0x3de27c){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3de27c['isMe'])return;const _0x2ec5d8=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2ec5d8-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4ae509=_0x3de27c['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3de27c,_0x4ae509);}['_handleUserRemove'](_0x1fc264){this['usersCount']--;const {collapseAt:_0x43659c}=this['context']['config']['get']('presenceList'),_0x54e89a=this['usersCount']>=_0x43659c;if(this['currentDisplayedUsers']['get'](_0x1fc264['id']))this['currentDisplayedUsers']['remove'](_0x1fc264['id']);else{if(_0x54e89a&&this['currentDisplayedUsers']['length']+0x1===_0x43659c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x54e89a?0x1:0x0)<this['usersCount']){for(const _0x19f83d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x19f83d['id'])&&(this['currentDisplayedUsers']['add'](_0x19f83d,Math['min'](this['currentDisplayedUsers']['length']-(_0x54e89a?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x54e89a?0x1:0x0)===_0x43659c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1e4b72=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x1e4b72['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x446ed0}=this['presenceDropdownView'];_0x446ed0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1b5cbd=>{if(!_0x1e4b72['displayMe']&&_0x1b5cbd['isMe'])return null;const _0x206703=new j(this['context']['locale'],_0x1b5cbd,!!_0x1e4b72['onClick']);return _0x1e4b72['onClick']&&this['listenTo'](_0x206703,'execute',()=>{_0x1e4b72['onClick'](_0x1b5cbd,_0x206703['element']);}),_0x206703;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x446ed0['focus'](),_0x446ed0['checkIfScrollable']();const _0x21d578=(_0x5ccfa9,_0x430b93)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x430b93();};_0x446ed0['keystrokes']['set']('Esc',_0x21d578),_0x446ed0['keystrokes']['set']('Shift+Tab',_0x21d578),_0x446ed0['keystrokes']['set']('Tab',(_0x4f0f12,_0x3f4b13)=>{!function(_0xf1e376){const _0x224934=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x49faa6=>_0x49faa6+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x3f2c56=[...document['body']['querySelectorAll'](_0x224934)]['filter'](_0x3081ad=>_0x3081ad===document['activeElement']||_0x3081ad['offsetWidth']+_0x3081ad['offsetHeight']>0x0)['sort']((_0x4a99b7,_0x54e327)=>(_0x4a99b7['tabIndex']||0x0)-(_0x54e327['tabIndex']||0x0)),_0xb88a4=_0x3f2c56['indexOf'](_0xf1e376),_0x1151e0=_0x3f2c56[(_0xb88a4+0x1)%_0x3f2c56['length']];_0x1151e0&&_0x1151e0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3f4b13();}),_0x446ed0['focusTracker']['add'](this['view']['element']),_0x446ed0['focusTracker']['on']('change:isFocused',(_0x47d9e7,_0x505495,_0x10e737)=>{_0x10e737||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x257d3e{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};