@ckeditor/ckeditor5-real-time-collaboration 47.4.0-alpha.6 → 47.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x1c6eb3,Plugin as _0x5bfa53,PendingActions as _0x32fe04,Context as _0x23c0a4}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5524d7,CKEditorError as _0x1ce47a,Collection as _0x38d74d,global as _0x26dcab,version as nt,uid as _0x440ce5,KeystrokeHandler as _0x3bfa3c}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2148b5,View as _0x59df29,ListView as _0x514ed5,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x5008c7,clickOutsideHandler as _0x35631f,BodyCollection as _0x33e143}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x69ae37,History as _0x5c976a,NoOperation as _0x43d8a1,InsertOperation as _0x81060,MarkerOperation as _0x6193d1,RootAttributeOperation as _0x4ee1b8,transformOperationSets as _0x52fab2,OperationFactory as _0x59cd5d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x7ab6d,User as lt,CommentsService as _0x319e55,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4020f1,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3a4b00}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x6bd037}from'es-toolkit/compat';class n extends _0x1c6eb3{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2148b5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e4b24){super(_0x1e4b24),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5524d7())();}['init'](){const _0x4ab8e6=this['context'],_0x17623d=_0x4ab8e6['plugins']['get']('CloudServices'),_0x11d0e5=_0x4ab8e6['plugins']['get'](_0x2148b5);if(!_0x17623d['token'])throw new _0x1ce47a('websocketgateway-missing-token',this);if(!_0x17623d['webSocketUrl'])throw new _0x1ce47a('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'](_0x17623d['token'],_0x17623d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x19f921=>{if(this['connection']=_0x19f921,this['bind']('state')['to'](_0x19f921,'state',this,'_isBrowserOffline',(_0x3bbd4e,_0x61110)=>('connected'!==_0x3bbd4e&&(this['_shouldPluginsReconnect']=!0x0),_0x61110||_0x3bbd4e!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x310cca,_0x47470a)=>{if('limitExceeded'!==_0x47470a['code'])throw console['error'](_0x47470a),new _0x1ce47a('cloudservices-init',null,{'originalError':_0x47470a});_0x11d0e5['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'});}),!_0x19f921['me'])return new Promise(_0x4d0bf5=>_0x19f921['on']('change:me',_0x4d0bf5));})['catch'](_0x8278a2=>{throw console['error'](_0x8278a2),new _0x1ce47a('cloudservices-init',null,{'originalError':_0x8278a2});});}['addToReconnectionStack'](_0x4f7f68){if('function'!=typeof _0x4f7f68['reconnect'])throw new _0x1ce47a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4f7f68))throw new _0x1ce47a('websocketgateway-plugin-already-registered',this,{'name':_0x4f7f68['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4f7f68);}['removeFromReconnectionStack'](_0x3628a2){this['_reconnectionStack']['delete'](_0x3628a2);}['isInReconnectionStack'](_0x3c0930){return this['_reconnectionStack']['has'](_0x3c0930);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5a6757=>_0x5a6757['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x2a0424=>{throw console['error'](_0x2a0424),new _0x1ce47a('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 _0x1c6eb3{['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,_0x4020f1];}constructor(_0x1d512e){super(_0x1d512e),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x38d74d(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4020f1);}['init'](){const _0x437e7a=this['context']['plugins']['get'](n);this['listenTo'](_0x437e7a,'change:state',(_0x456af9,_0x3393ee,_0x48c48f)=>{if('connected'!==_0x48c48f)this['channelSessions']['forEach'](_0x3f57f0=>_0x3f57f0['clear']()),this['channelConnectedUsers']['forEach'](_0x381c2d=>_0x381c2d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x188890,_0x1a45e4]of this['_registeredSessions'])for(const _0x23dbdb of _0x1a45e4)this['_handleSessionAdd'](_0x188890,_0x23dbdb);}}),this['_createUser'](_0x437e7a['connection']['me'],!0x0);}['register'](_0xc1602d,_0x332b4e){if(this['_registeredSessions']['has'](_0xc1602d))throw new _0x1ce47a('sessions-register-already-registered',null,{'channelId':_0xc1602d});this['_registeredSessions']['set'](_0xc1602d,_0x332b4e),this['channelSessions']['set'](_0xc1602d,new _0x38d74d()),this['channelConnectedUsers']['set'](_0xc1602d,new _0x38d74d()),this['listenTo'](_0x332b4e,'add',(_0x210627,_0x542f4c)=>this['_handleSessionAdd'](_0xc1602d,_0x542f4c)),this['listenTo'](_0x332b4e,'remove',(_0x112cb2,_0x4990ee)=>this['_handleSessionRemove'](_0xc1602d,_0x4990ee));for(const _0x149752 of _0x332b4e)this['_handleSessionAdd'](_0xc1602d,_0x149752);}['unregister'](_0x2df282){if(!this['_registeredSessions']['has'](_0x2df282))throw new _0x1ce47a('sessions-unregister-not-exist',null,{'channelId':_0x2df282});const _0x3ccf22=this['_registeredSessions']['get'](_0x2df282);this['stopListening'](_0x3ccf22);for(const _0x239a9c of _0x3ccf22)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2df282,_0x239a9c);this['_registeredSessions']['delete'](_0x2df282),this['channelSessions']['delete'](_0x2df282),this['channelConnectedUsers']['delete'](_0x2df282);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x1ae92f){for(const _0x3d7b30 of this['channelSessions']['values']())for(const _0x28f8c6 of _0x3d7b30)if(_0x28f8c6['id']===_0x1ae92f)return _0x28f8c6['user'];}['getUserSessions'](_0x5635b2,_0x4c335c){const _0x1a3751=_0x4c335c?[this['channelSessions']['get'](_0x4c335c)]:this['channelSessions']['values'](),_0x36c405=new Set();for(const _0x3eb6a0 of _0x1a3751)for(const _0x57ea55 of _0x3eb6a0)_0x57ea55['user']['id']===_0x5635b2['id']&&_0x36c405['add'](_0x57ea55['id']);return _0x36c405;}['getUserRole'](_0x1aee49){for(const _0x1a00f7 of this['channelSessions']['values']())for(const _0x2e9b6d of _0x1a00f7)if(_0x2e9b6d['user']===_0x1aee49)return _0x2e9b6d['role'];}['_handleSessionAdd'](_0x373ea8,_0x306378){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x486a66=_0x306378['user'],_0x1d24a4=this['_users']['getUser'](_0x486a66['id'])||this['_createUser'](_0x486a66),_0x273963=Object['assign']({},_0x306378,{'user':_0x1d24a4});if(this['channelSessions']['get'](_0x373ea8)['add'](_0x273963),!_0x486a66['hiddenInPresenceList']){const _0x5e9764=this['channelConnectedUsers']['get'](_0x373ea8);_0x5e9764['has'](_0x1d24a4['id'])||_0x5e9764['add'](_0x1d24a4),this['allConnectedUsers']['has'](_0x1d24a4['id'])||_0x486a66['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1d24a4,_0x1d24a4['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x373ea8,{'channelId':_0x373ea8,'session':_0x273963});}['_handleSessionRemove'](_0xc58058,_0x340686){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x31d876=this['channelConnectedUsers']['get'](_0xc58058),_0x3b915f=_0x340686['user'];_0x3b915f['id']&&(this['channelSessions']['get'](_0xc58058)['remove'](_0x340686['id']),_0x31d876['has'](_0x3b915f['id'])&&!this['getUserSessions'](_0x3b915f,_0xc58058)['size']&&_0x31d876['remove'](_0x3b915f['id']),this['allConnectedUsers']['get'](_0x3b915f['id'])&&!this['getUserSessions'](_0x3b915f)['size']&&this['allConnectedUsers']['remove'](_0x3b915f['id']));}['_createUser'](_0x3d9192,_0x44e521){const _0x1f959f=this['_users']['addUser'](_0x3d9192);return _0x44e521&&this['_users']['defineMe'](_0x3d9192['id']),_0x1f959f['orderNumber']=this['_uniqueUsersCount']++,_0x1f959f;}}class H extends _0x5bfa53{['_domEmitter']=new(_0x5524d7())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5acb36=this['editor'],_0x460f0d=_0x5acb36['plugins']['get'](i);_0x5acb36['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xeea9a5,{writer:_0x1a1d32})=>function(_0x13bddc,_0x3e5a65,_0x1a24a6,_0x6c670e){const _0x304ae3=_0x13bddc['markerName']['split'](':')[0x2],_0x58938a=_0x1a24a6['getUserBySessionId'](_0x304ae3);if(!_0x58938a||_0x304ae3===_0x1a24a6['mySessionId'])return;if(!_0x6c670e['model']['schema']['checkChild'](_0x13bddc['markerRange']['start'],'$text'))return;const _0x2519da={'class':'ck-user__marker\x20'+_0x58938a['color']['getMarkerClass'](),'data-name':_0x58938a['name'],'data-session-id':_0x304ae3},_0x1979b9=_0x6c670e['model']['markers']['get'](_0x13bddc['markerName']),_0x588d73=_0x1979b9['getStart'](),_0x43f393=_0x588d73['nodeAfter'],_0x97faf1=_0x6c670e['model']['schema'];if(_0x43f393&&_0x97faf1['isObject'](_0x43f393)&&_0x97faf1['isInline'](_0x43f393)&&!_0x6c670e['model']['markers']['get']('user:range:'+_0x304ae3)['getRange']()['isCollapsed'])return;const _0x4054b2=_0x588d73['parent'];return _0x6c670e['model']['schema']['isLimit'](_0x4054b2)&&!_0x6c670e['model']['hasContent'](_0x4054b2)&&(_0x2519da['contenteditable']=!0x1),function(_0x9eb503,_0xfb7cd4,_0x49e7bc){const _0x20b0fb=_0x9eb503['createUIElement']('span',_0xfb7cd4);return _0x9eb503['setCustomProperty']('userPositionMarker',!0x0,_0x20b0fb),_0x20b0fb['render']=function(_0xd323dd){const _0x5f01ae=this['toDomElement'](_0xd323dd),_0x1f269c=document['createElement']('span');return _0x1f269c['classList']['add']('ck-user__marker-tooltip'),_0x1f269c['setAttribute']('contenteditable','false'),_0x1f269c['setAttribute']('spellcheck','false'),_0x1f269c['textContent']=_0x49e7bc['name'],_0x5f01ae['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1f269c['outerHTML']+'⁠',_0x5f01ae['addEventListener']('mouseenter',()=>{_0x5f01ae['classList']['add']('ck-user__marker_hovered');}),_0x5f01ae['addEventListener']('mouseleave',()=>{_0x5f01ae['classList']['remove']('ck-user__marker_hovered');}),_0x5f01ae;},_0x20b0fb['isSimilar']=function(_0x725620){return!(!this['getCustomProperty']('userPositionMarker')||!_0x725620['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x725620['getAttribute']('data-session-id'));},_0x20b0fb;}(_0x3e5a65,_0x2519da,_0x58938a);}(_0xeea9a5,_0x1a1d32,_0x460f0d,_0x5acb36)}),_0x5acb36['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2c905e=>function(_0x1a4041,_0x13e2c8){const _0x17acf9=_0x1a4041['markerName']['split'](':')[0x2];if(_0x17acf9===_0x13e2c8['mySessionId'])return null;const _0x3604c7=_0x13e2c8['getUserBySessionId'](_0x17acf9);if(!_0x3604c7)return{'id':_0x17acf9,'classes':[]};return{'id':_0x17acf9,'classes':['ck-user__selection',_0x3604c7['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x17acf9},'priority':0x7d0+_0x3604c7['orderNumber']};}(_0x2c905e,_0x460f0d)}),function(_0x2e8b65){const _0x54641d=_0x2e8b65['model'],_0x350f5b=new Map(),_0x57a84b=_0x2e8b65['plugins']['get'](i);_0x54641d['markers']['on']('update:user:range',(_0x458c8b,_0x3d007a,_0x521f96,_0x51ba43)=>{if(!_0x51ba43&&_0x350f5b['get'](_0x3d007a['name']))return _0x350f5b['get'](_0x3d007a['name'])['detach'](),void _0x350f5b['delete'](_0x3d007a['name']);const _0x4f6627=_0x3d007a['name']['split'](':')[0x2];if(_0x4f6627===_0x57a84b['mySessionId'])return;const _0x2d5328='user:position:'+_0x4f6627;_0x54641d['markers']['has'](_0x2d5328)&&_0x2e8b65['editing']['reconvertMarker'](_0x2d5328),_0x3d007a['on']('change:range',(_0x4c134c,_0x18f5ba,_0x292e20)=>{if('$graveyard'!=_0x18f5ba['root']['rootName']&&'$graveyard'==_0x3d007a['getRange']()['root']['rootName']&&!_0x350f5b['has'](_0x3d007a['name'])){const _0x57f512=_0x54641d['schema']['getNearestSelectionRange'](_0x292e20['deletionPosition']);if(_0x57f512){const _0xd2bffc=_0x69ae37['fromRange'](_0x57f512);_0x350f5b['set'](_0x3d007a['name'],_0xd2bffc),_0xd2bffc['on']('change:range',(_0x34164a,_0xff7358,_0x38a5e1)=>{if('$graveyard'==_0xd2bffc['root']['rootName']){const _0x44911f=_0x54641d['schema']['getNearestSelectionRange'](_0x38a5e1['deletionPosition']);_0x44911f?(_0xd2bffc['start']=_0x44911f['start'],_0xd2bffc['end']=_0x44911f['end']):(_0x350f5b['delete'](_0x3d007a['name']),_0xd2bffc['detach']());}});}}});}),_0x54641d['document']['on']('change',()=>{_0x350f5b['size']>0x0&&_0x54641d['enqueueChange']({'isUndoable':!0x1},_0x42bbbe=>{for(const [_0x19c9eb,_0x5b0e36]of _0x350f5b)'$graveyard'==_0x54641d['markers']['get'](_0x19c9eb)['getRange']()['root']['rootName']&&(Z(_0x19c9eb['split'](':')[0x2],_0x5b0e36['toRange'](),_0x54641d,_0x42bbbe),_0x5b0e36['detach']());_0x350f5b['clear']();});});}(_0x5acb36),this['_domEmitter']['listenTo'](_0x26dcab['document'],'keydown',(_0x49ddcf,{key:_0xe948d6})=>{'Escape'===_0xe948d6&&function(_0x232ccc){_0x232ccc['editing']['view']['change'](_0x7883d8=>{for(const _0x5c0a7d of _0x232ccc['model']['markers']){if(!_0x5c0a7d['name']['startsWith']('user:position'))continue;const _0x3159a7=_0x232ccc['editing']['mapper']['markerNameToElements'](_0x5c0a7d['name']);if(_0x3159a7){for(const _0x513113 of _0x3159a7)_0x7883d8['removeClass']('ck-user__marker_hovered',_0x513113);}}});}(_0x5acb36);},{'useCapture':!0x0});}['afterInit'](){const _0xb69463=this['editor'],_0xbba0c2=_0xb69463['commands']['get']('undo');_0xbba0c2&&_0xb69463['model']['on']('applyOperation',(_0x437125,_0x2af55b)=>{const _0x262f3f=_0x2af55b[0x0];if(!_0x262f3f['isDocumentOperation'])return;if('marker'!=_0x262f3f['type']||!_0x262f3f['name']['startsWith']('user:'))return;const _0x390bd9=_0x262f3f['batch'];_0xbba0c2['_createdBatches']['has'](_0x390bd9)&&(_0x262f3f['newRange']=_0x262f3f['oldRange']?_0xb69463['model']['createRange'](_0x262f3f['oldRange']['start'],_0x262f3f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3ee6af=this['editor'],_0x6af2da=_0x3ee6af['model']['document'],_0x2262c=_0x3ee6af['plugins']['get'](i);_0x3ee6af['model']['enqueueChange']({'isUndoable':!0x1},_0x59928f=>{const _0x4f7137='user:range:'+_0x2262c['mySessionId'],_0x3ac8b6='user:position:'+_0x2262c['mySessionId'],_0x4e5b4d=_0x3ee6af['model']['markers']['has'](_0x4f7137);_0x3ee6af['editing']['view']['hasDomSelection']?Z(_0x2262c['mySessionId'],_0x6af2da['selection']['getFirstRange'](),_0x3ee6af['model'],_0x59928f):_0x4e5b4d&&(_0x59928f['removeMarker'](_0x4f7137),_0x59928f['removeMarker'](_0x3ac8b6));});}}function Z(_0x56e6a9,_0x3d0af5,_0x34330d,_0x107aff){const _0x53f681='user:range:'+_0x56e6a9,_0xfe0908='user:position:'+_0x56e6a9,_0x22e094=_0x3d0af5['getContainedElement']();let _0x62cbd5=_0x3d0af5['start'];if(_0x22e094&&_0x22e094['is']('element','tableCell')){const _0x4b0fcf=function(_0x20285d,_0x3c39e9){for(const _0x43c1b3 of _0x20285d['getPositions']())if(_0x3c39e9['schema']['checkChild'](_0x43c1b3,'$text'))return _0x43c1b3;}(_0x3d0af5,_0x34330d);_0x4b0fcf&&(_0x62cbd5=_0x4b0fcf,_0x3d0af5=_0x107aff['createRange'](_0x62cbd5));}const _0x169c6e=_0x107aff['createRange'](_0x62cbd5);_0x34330d['markers']['has'](_0x53f681)?(_0x107aff['updateMarker'](_0x53f681,{'range':_0x3d0af5}),_0x107aff['updateMarker'](_0xfe0908,{'range':_0x169c6e})):(_0x107aff['addMarker'](_0x53f681,{'range':_0x3d0af5,'usingOperation':!0x0}),_0x107aff['addMarker'](_0xfe0908,{'range':_0x169c6e,'usingOperation':!0x0}));}function V(_0x10b1a6,_0x4cf1c6,_0x375204){const _0x39490c=_0x10b1a6['t'],t=_0x10b1a6['t'];switch(_0x4cf1c6){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 _0x39490c({'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'},_0x375204);default:return'';}}let G=0x1;class l extends _0x5bfa53{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x7ab6d)());['_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,_0x32fe04,_0x4020f1,_0x2148b5];}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 _0x4df03b=this['serverHistory']['getOperations']();for(let _0x5327b0=_0x4df03b['length']-0x1;_0x5327b0>=0x0;_0x5327b0--){const _0x5b44dd=_0x4df03b[_0x5327b0];if(!this['_disconnectionOperations']['has'](_0x5b44dd))return _0x5b44dd['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x58f6ed){if(super(_0x58f6ed),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5c976a(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1ce47a('collaboration-missing-channelid',this);const _0x437300=_0x58f6ed['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x437300,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3a4b00(),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 _0x279a80=this['editor'],_0xd403c2=_0x279a80['plugins']['get'](_0x4020f1),_0x8a27eb=_0x279a80['plugins']['get'](n);this['listenTo'](_0xd403c2,'getOperationAuthor',(_0x477621,_0x34f87d)=>{const _0x46f02b=_0x34f87d[0x0];_0x46f02b['_authorId']&&(_0x477621['return']=_0xd403c2['getUser'](_0x46f02b['_authorId']),_0x477621['stop']()),null===_0x46f02b['_authorId']&&(_0x477621['return']=null,_0x477621['stop']());},{'priority':'high'}),this['listenTo'](_0x279a80['model']['document']['selection'],'change:range',(_0x2561aa,_0xe42261)=>{_0xe42261['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x279a80['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x279a80['model']['on']('applyOperation',(_0x7b8545,_0x9ec93)=>{const _0x21d569=_0x9ec93[0x0];_0x21d569['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x21d569),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x8a27eb,'state',this,'_hasSynchronizationProblem',(_0x4693d7,_0x2efb08)=>'connected'===_0x4693d7&&!_0x2efb08),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x279a80['disableReadOnlyMode']('rtc-offline'):_0x279a80['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x279a80['disableReadOnlyMode']('rtc-offline'):_0x279a80['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xf7d892=this['editor']['plugins']['get'](i),_0x40f0c9=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0xf7d892['unregister'](this['_channelId']);const _0x36bfdf=await this['_service']['reconnect'](_0x40f0c9['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x36bfdf)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x200bce=await this['_service']['getConnectedSessions']();_0xf7d892['register'](this['_channelId'],_0x200bce),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x9952f){if(function(_0x46f61a){return'404'===_0x46f61a['code'];}(_0x9952f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x124844){return'409'===_0x124844['code'];}(_0x9952f)){const _0x32122e=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'](_0x32122e);}else{if(!(_0x9952f instanceof $))throw _0x9952f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x574b37=this['editor']['plugins']['get'](n),_0x5af106=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5af106['channelSessions']['has'](this['_channelId'])&&_0x5af106['unregister'](this['_channelId']),_0x574b37['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1e904a){if(this['sessionId']!==_0x1e904a['sessionId']&&this['_lastSyncedOperationId']!==_0x1e904a['lastOperationId'])throw new $();return this['sessionId']=_0x1e904a['sessionId'],this['_handleServerResponse']([],{..._0x1e904a,'wereChangesApplied':!0x1,'data':_0x1e904a['data']},'reconnect');}async['_connectService'](_0x513aac,_0x1018a5=!0x1){const {connection:_0x376468}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x376468,this['_channelId'])['then'](_0x114704=>this['_initSessionsHandling'](_0x114704))['catch'](_0x1f18ea=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1f18ea);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x48a207,_0x207505)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x207505);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xd6e0d7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x513aac);this['_isPendingUpdate']=!0x0;const _0x10540e=await this['_service']['connect'](_0x376468,this['_compressOperations'](_0x513aac),_0xd6e0d7);if(this['sessionId']=_0x10540e['sessionId'],_0x1018a5){if(!_0x10540e['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x10540e['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x513aac,_0x10540e,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x10540e,_0x513aac);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5bee5a=this['editor']['plugins']['get'](i),_0xdf7d49=this['editor']['plugins']['get'](H),_0x3ef8e7=_0x5bee5a['channelSessions']['get'](this['_channelId']);_0x3ef8e7&&_0x3ef8e7['length']>0x1?_0xdf7d49['createUserMarkerOperations']():this['listenTo'](_0x5bee5a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5bee5a['channelSessions']['get'](this['_channelId'])['length']&&_0xdf7d49['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x136a8c,_0x334998,_0x5bfbfb,_0x4d2388){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x334998){const _0x32e579=this['_decompressOperations'](_0x5bfbfb,_0x4d2388);await this['_fetchMissingUsers'](_0x32e579),this['_handleExternalOperations'](_0x32e579,_0x334998,_0x5bfbfb['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x310874}=this['editor'];let _0x448b06;try{_0x448b06=await this['_service']['getDocumentDetails']();}catch{const _0x12e6e0=V(_0x310874,'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'](_0x12e6e0);}const _0x26545e=_0x448b06['currentDocumentSession']||_0x448b06['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x26545e['lastOperationId']){const _0x34cb82=V(_0x310874,'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'](_0x34cb82);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xef7909){const _0x4d2d7a=this['editor']['plugins']['get'](i);this['listenTo'](_0x4d2d7a,'sessionAdd:'+this['_channelId'],(_0x3d0437,{session:_0x4075b8})=>{if(_0x4075b8['id']===_0x4d2d7a['mySessionId']){_0x3d0437['off']();const _0x94557f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3fec84=_0x4075b8['permissions'];_0x94557f&&_0x94557f['isEnabled']&&(_0x3fec84=_0x3fec84['filter'](_0x37851a=>'document:write'!==_0x37851a)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3fec84,this['_channelId']);}}),_0x4d2d7a['register'](this['_channelId'],_0xef7909);}['_initThrowingOnDataSet'](){const _0x5af901=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3d087d)=>{if(!_0x3d087d[_0x3d087d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1ce47a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5af901['apply'](this['editor']['data'],_0x3d087d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x10c654,[_0x38f454])=>{if(this['_document']['version'])throw new _0x1ce47a('realtimecollaborationclient-init-document-already-initialized',this);_0x10c654['stop'](),this['_setPendingAction']();const _0x35f96c=this['editor']['config']['get']('rootsAttributes'),_0x1731ea=this['_getOperationsFromInitData'](_0x38f454,_0x35f96c);0x0==_0x1731ea['length']&&_0x1731ea['push'](new _0x43d8a1(0x0)),_0x10c654['return']=this['_connectService'](_0x1731ea)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x14bcad=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x14bcad))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xebec4a,[_0xf6223f,_0x1627b2])=>{_0xebec4a['stop']();const _0x6e691d=this['editor']['model']['document']['getRoot'](_0xf6223f);if(!this['_knownRootNames']['has'](_0xf6223f)){const _0x4cbf5b=_0x1627b2&&_0x1627b2['data']?_0x1627b2['data']:'',_0x2fb7b7=_0x1627b2&&_0x1627b2['attributes']?_0x1627b2['attributes']:{};await this['_loadRoot'](_0xf6223f,_0x4cbf5b,_0x2fb7b7);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x6e691d['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x6e691d);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x430908){const _0x4abf0d=this['editor']['plugins']['get'](_0x4020f1),{connection:_0x4ae34b}=this['editor']['plugins']['get'](n),_0x36c102=new Set();for(const _0x34455b of _0x430908){const _0x3cbe2e=_0x34455b['_authorId'];_0x3cbe2e&&!_0x4abf0d['getUser'](_0x3cbe2e)&&_0x36c102['add'](_0x3cbe2e);}if(0x0===_0x36c102['size'])return;const _0xd796ab=await lt['getMany'](_0x4ae34b,Array['from'](_0x36c102));for(const _0x5b63e7 of _0xd796ab)_0x4abf0d['getUser'](_0x5b63e7['id'])||_0x4abf0d['addUser'](_0x5b63e7);}['_getOperationsFromInitData'](_0x51d15a,_0x39acbc={}){const _0xb9e400=this['editor']['model'],_0x4590b8=[];let _0x24abb6=0x0;const _0x3789fb='string'==typeof _0x51d15a?{'main':_0x51d15a}:_0x51d15a;for(const _0xb84ba3 of Object['keys'](_0x3789fb)){if(!this['_document']['roots']['has'](_0xb84ba3))throw new _0x1ce47a('realtimecollaborationclient-init-non-existent-root',this);const _0x242dac=this['editor']['data']['parse'](_0x3789fb[_0xb84ba3]),_0x3d224d=this['_document']['getRoot'](_0xb84ba3),_0x38aad9=new _0x81060(_0xb9e400['createPositionAt'](_0x3d224d,0x0),_0x242dac,_0x24abb6++);_0x4590b8['push'](_0x38aad9);for(const [_0x3b2fd2,_0x51f5ad]of _0x242dac['markers']){const _0x76b825=_0xb9e400['createRange'](_0xb9e400['createPositionFromPath'](_0x3d224d,_0x51f5ad['start']['path']['slice']()),_0xb9e400['createPositionFromPath'](_0x3d224d,_0x51f5ad['end']['path']['slice']())),_0x2635a0=new _0x6193d1(_0x3b2fd2,null,_0x76b825,_0xb9e400['markers'],!0x0,_0x24abb6++);_0x4590b8['push'](_0x2635a0);}}if(_0x39acbc)for(const [_0x43ca7d,_0xec90d2]of Object['entries'](_0x39acbc)){const _0x352207=_0xb9e400['document']['getRoot'](_0x43ca7d);if(!_0x352207)throw new _0x1ce47a('multi-root-editor-root-attributes-no-root',null);for(const [_0x876128,_0x460986]of Object['entries'](_0xec90d2))if(null!==_0x460986){const _0x1c8903=new _0x4ee1b8(_0x352207,_0x876128,null,_0x460986,_0x24abb6++);_0x4590b8['push'](_0x1c8903);}}return _0x4590b8;}async['_loadRoot'](_0x166350,_0x223dea,_0xa038c1){this['_getOperationsFromInitData']({[_0x166350]:_0x223dea},{[_0x166350]:_0xa038c1})['forEach']((_0x1121ee,_0x2169fe)=>{_0x1121ee['baseVersion']=this['_document']['version']+_0x2169fe,_0x1121ee['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1121ee);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1d3a88,_0xba1d8a){let _0x4c8b38;this['_offset']=_0x1d3a88['offset'];const _0x3e60d8=_0x1d3a88['wereChangesApplied']&&!_0x1d3a88['initData'],_0x30ee6c=_0x3e60d8?0x0:_0x1d3a88['data']['baseVersion'];if(_0xba1d8a['forEach'](_0x519dde=>{_0x519dde['_isInit']=!0x0,_0x519dde['createdAt']=_0x1d3a88['sessionCreatedAt'],_0x519dde['_authorId']=null;}),_0x3e60d8)_0x4c8b38=_0xba1d8a,this['_applyOperationsSet'](_0x4c8b38,_0x3e60d8);else{if(_0x1d3a88['initData']){const _0x2c08f2=this['_getOperationsFromInitData'](_0x1d3a88['initData']);this['_document']['history']['version']=-_0x2c08f2['length'],_0x2c08f2['forEach'](_0xba31b=>{_0xba31b['baseVersion']-=_0x2c08f2['length'],_0xba31b['createdAt']=_0x1d3a88['sessionCreatedAt'],_0xba31b['_isInit']=!0x0,_0xba31b['_authorId']=null;}),this['_applyOperationsSet'](_0x2c08f2,!0x0),this['serverHistory']['version']=-_0x2c08f2['length']+this['_offset'],this['_updateServerHistory'](_0x2c08f2);}this['_document']['history']['version']=_0x30ee6c,_0x4c8b38=this['_decompressOperations'](_0x1d3a88['data'],_0x1d3a88['metadata']),await this['_fetchMissingUsers'](_0x4c8b38),this['_applyOperationsSet'](_0x4c8b38,_0x3e60d8);}_0x1d3a88['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4c8b38,_0x1d3a88['lastOperationId']),this['_lastSyncedOperationId']=_0x1d3a88['lastOperationId']),this['serverHistory']['version']=_0x30ee6c+this['_offset'],this['_updateServerHistory'](_0x4c8b38),_0xba1d8a['filter'](_0x5429ea=>{const _0x271219=this['_getAffectedRoot'](_0x5429ea);return _0x271219&&!this['_knownRootNames']['has'](_0x271219);})['forEach']((_0x2f7d24,_0x23ec53)=>{_0x2f7d24['baseVersion']=this['_document']['version']+_0x23ec53,this['_saveOperationInBuffer'](_0x2f7d24);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x28e5b6,_0x10d43c){const _0x6f0432=_0x10d43c&&_0x10d43c['message'];if(_0x6f0432&&_0x6f0432['startsWith']('realtimecollaborationclient'))throw _0x10d43c;const _0x101208=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x101208['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1ce47a(_0x28e5b6,this['editor'],_0x6f0432?{'originalError':_0x6f0432}:void 0x0);}['_saveOperationInBuffer'](_0x4117a1){this['_knownOperations']['has'](_0x4117a1)||(this['_knownOperations']['add'](_0x4117a1),this['_bufferedOperations']['push'](_0x4117a1),this['_pendingAction']||'marker'==_0x4117a1['type']&&!_0x4117a1['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4705b5=!0x1){!_0x4705b5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2a7b9a=>{_0x2a7b9a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x38d369=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2328dd){return _0x2328dd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2328dd['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2328dd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x38d369)||this['_crash'](_0x38d369['message'],_0x38d369);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x57a0ec=>{this['on']('change:_isPendingUpdate',()=>{_0x57a0ec();});});}async['_sendBufferedOperations'](){const _0x3f9aee=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x3f9aee['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3db74b=[...this['_bufferedOperations']];for(const _0x5ef795 of _0x3db74b)_0x5ef795['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5ef795);const _0x45763d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3db74b),_0x3f9737=G++,_0x3780fe=this['_compressOperations'](_0x3db74b),_0x49bb3d=await this['_service']['sendOperations'](_0x3780fe,_0x3780fe['baseVersion'],_0x45763d);try{return await this['_handleServerResponse'](_0x3db74b,_0x49bb3d,_0x3f9737);}catch(_0x2fbec1){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2fbec1);}}async['_handleServerResponse'](_0x88765d,_0x102998,_0x1d2457){if('error'in _0x102998)throw _0x102998['error'];let _0x15efef=!0x1;if(_0x102998['wereChangesApplied']){_0x102998['lastOperationId']&&(this['_lastSyncedOperationId']=_0x102998['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xe12a7c=>!_0x88765d['includes'](_0xe12a7c));for(const _0x79bc44 of _0x88765d)_0x79bc44['createdAt']='lastOperationAcceptedAt'in _0x102998&&_0x102998['lastOperationAcceptedAt']||void 0x0;K(_0x88765d,_0x102998['version']-_0x88765d['length']),this['_updateServerHistory'](_0x88765d);const _0x597015=_0x88765d['filter'](_0x4ce00a=>{if(!_0x4ce00a['_isInit'])return!0x1;const _0x52ba65=this['_getAffectedRoot'](_0x4ce00a);return _0x52ba65&&!this['_knownRootNames']['has'](_0x52ba65);});K(_0x597015,this['_document']['version']),this['_applyOperationsSet'](_0x597015),_0x15efef=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x58db68=this['_decompressOperations'](_0x102998['data'],_0x102998['metadata'])['filter'](_0x2d18bc=>_0x2d18bc['baseVersion']>=this['_lastServerVersion']);_0x58db68['forEach'](_0x2784e4=>this['_addKnownRoot'](_0x2784e4)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5ce65e=>!_0x5ce65e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5ce65e))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x58db68),_0x15efef=this['_handleExternalOperations'](_0x58db68,_0x102998['version'],_0x102998['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x15efef?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x23b832,_0x42b66d,_0x5c45de){try{const _0x187266={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x39e9e1,operationsB:_0x4f4f12,originalOperations:_0x485d50}=_0x52fab2(_0x23b832,this['_bufferedOperations'],_0x187266);K(_0x39e9e1,this['_document']['version']),K(_0x4f4f12,_0x42b66d);for(const _0xa50cbe of _0x39e9e1){const _0x1f7537=_0x485d50['get'](_0xa50cbe);_0xa50cbe['_authorId']=_0x1f7537?_0x1f7537['_authorId']:null;}_0x5c45de&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x23b832,_0x5c45de),this['_lastSyncedOperationId']=_0x5c45de),this['_bufferedOperations']=[..._0x4f4f12],this['_applyOperationsSet'](_0x39e9e1),this['_updateServerHistory'](_0x23b832);}catch(_0x296421){return console['error'](_0x296421),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5ca5a6,_0x3b40f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x219ea3=>{for(const _0x25c06f of _0x5ca5a6)this['_knownOperations']['add'](_0x25c06f),this['_addKnownRoot'](_0x25c06f),_0x219ea3['batch']['addOperation'](_0x25c06f),this['editor']['model']['applyOperation'](_0x25c06f);});}['_addKnownRoot'](_0x22cfc2){const _0x52471a=this['_getAffectedRoot'](_0x22cfc2);_0x52471a&&this['_knownRootNames']['add'](_0x52471a);}['_getAffectedRoot'](_0x5edb40){let _0x19346f,_0x13645c;switch(_0x5edb40['type']){case'insert':_0x19346f=_0x5edb40['position']['root'];break;case'marker':if(_0x13645c=_0x5edb40['newRange'],!_0x13645c)return null;_0x19346f=_0x13645c['root'];break;case'addRootAttribute':_0x19346f=_0x5edb40['root'];break;case'addRoot':_0x19346f=_0x5edb40['affectedSelectable'];break;case'move':_0x19346f=_0x5edb40['targetPosition']['root'];break;default:return null;}return _0x19346f['rootName'];}['_updateServerHistory'](_0x56e76a){_0x56e76a['forEach'](_0x5a25a2=>{const _0x1dc57d=_0x5a25a2['clone']();_0x1dc57d['_authorId']=_0x5a25a2['_authorId'],_0x1dc57d['_isInit']=!!_0x5a25a2['_isInit'],_0x1dc57d['createdAt']=_0x5a25a2['createdAt'],_0x1dc57d['baseVersion']+=this['_offset'],_0x5a25a2['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1dc57d),this['serverHistory']['addOperation'](_0x1dc57d);});}['_handleReconnectionError'](_0x593e3b){const _0x108d4f=this['editor']['plugins']['get']('Notification'),_0x50d1b8=this['editor']['locale'];_0x593e3b||(_0x593e3b=V(_0x50d1b8,'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.')),_0x108d4f['showWarning'](_0x593e3b,{'title':V(_0x50d1b8,'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'](_0x32fe04)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x32fe04)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5a6d96){const _0x152187=_0x5a6d96['map'](_0x5e92dd=>_0x5e92dd['toJSON']());return this['_compressor']['compress'](_0x152187);}['_decompressOperations'](_0x25fa53,_0x316dec){return this['_compressor']['decompress'](_0x25fa53)['map']((_0x1d5123,_0x2494d5)=>{const _0x480e49='init'==_0x316dec[_0x2494d5]['type'];if('InsertOperation'==_0x1d5123['__className']){const _0x2099f2=_0x1d5123['position']['root'];!this['_document']['getRoot'](_0x2099f2)&&(this['_document']['createRoot']('$root',_0x2099f2)['_isAttached']=!0x1);}const _0x18454a=_0x59cd5d['fromJSON'](_0x1d5123,this['_document']);return _0x18454a['wasUndone']=_0x1d5123['wasUndone'],_0x18454a['_isInit']=_0x480e49,_0x18454a['_authorId']=_0x480e49?null:_0x316dec[_0x2494d5]['userId'],_0x18454a['_isDisconnection']='cs:removeUser'===_0x316dec[_0x2494d5]['type'],_0x18454a['createdAt']=_0x316dec[_0x2494d5]['createdAt'],_0x18454a;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x58fc4d=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x58fc4d&&_0x58fc4d['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x563a64,_0x548ad3){for(const _0x2e3a52 of _0x563a64)_0x2e3a52['baseVersion']=_0x548ad3++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x59d31d){this['_ignoredOperations']=_0x59d31d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x21c050){let _0x338d4f=_0x21c050['length'];for(;_0x338d4f--;){const _0x34a407=_0x21c050[_0x338d4f];if(!this['_ignoredOperations']['has'](_0x34a407)){if(!this['_operationToId']['has'](_0x34a407)){const _0x354328=_0x440ce5()['slice'](0x1,0x12);this['_operationToId']['set'](_0x34a407,_0x354328);}return this['_operationToId']['get'](_0x34a407);}}}['setIdForTheLastOperation'](_0x38544b,_0x2fcf0c){if(!_0x2fcf0c)return;let _0x263926=_0x38544b['length'];for(;_0x263926--;){const _0x4feedc=_0x38544b[_0x263926];this['_ignoredOperations']['has'](_0x4feedc)||this['_operationToId']['set'](_0x4feedc,_0x2fcf0c);}}}class a extends _0x5bfa53{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1c6eb3{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x319e55)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x4020f1];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12f2ff){super(_0x12f2ff),this['_services']=new Map();}async['init'](){const _0x127f6d=this['context'],_0x1c2cd6=_0x127f6d['plugins']['get']('CommentsRepository');if(_0x127f6d['plugins']['get'](n)['addToReconnectionStack'](this),_0x1c2cd6['adapter']={'addCommentThread':async({channelId:_0x373901,threadId:_0x103b91,comments:_0x4844ff,resolvedAt:_0xe13029,resolvedBy:_0xf54943,context:_0x21b5e3,attributes:_0x4aff57})=>{const _0x284cf1=await this['_getService'](_0x373901)['addCommentThread']({'commentThreadId':_0x103b91,'comments':_0x4844ff['map'](_0x2c3e3c=>function(_0x501d65,_0x4b642b,_0x1bcfa8){return{'commentThreadId':_0x1bcfa8,'commentId':_0x501d65['commentId'],'userId':_0x501d65['authorId'],'content':_0x501d65['content'],'documentId':_0x4b642b,'createdAt':_0x501d65['createdAt'],'attributes':_0x501d65['attributes']||{}};}(_0x2c3e3c,_0x373901,_0x103b91)),'resolvedAt':_0xe13029,'resolvedBy':_0xf54943,'context':_0x21b5e3,'attributes':_0x4aff57})['catch'](dt);return{'threadId':_0x284cf1['commentThreadId'],'comments':_0x284cf1['comments']};},'getCommentThread':async({channelId:_0x190f36,threadId:_0xbc7799})=>{const _0x3df458=await this['_getService'](_0x190f36)['getCommentThread'](_0xbc7799)['catch'](F)['catch'](dt);return _0x3df458?_0x3df458['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3df458]),{'threadId':_0x3df458['commentThreadId'],'comments':_0x3df458['comments']['map'](S),'context':_0x3df458['context'],'resolvedAt':_0x3df458['resolvedAt'],'resolvedBy':_0x3df458['resolvedBy'],'attributes':_0x3df458['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x323576,threadId:_0x1b6fec,context:_0x438565,unlinkedAt:_0x42e250,attributes:_0x467e74})=>this['_getService'](_0x323576)['updateCommentThread']({'commentThreadId':_0x1b6fec,'context':_0x438565,'attributes':_0x467e74,'unlinkedAt':_0x42e250})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x98e58b,threadId:_0x580a9f})=>{const _0x15971d=await this['_getService'](_0x98e58b)['resolveCommentThread'](_0x580a9f)['catch'](F)['catch'](dt);return{'threadId':_0x15971d['commentThreadId'],'resolvedAt':_0x15971d['resolvedAt'],'resolvedBy':_0x15971d['resolvedBy']};},'reopenCommentThread':async({channelId:_0x38ae54,threadId:_0x2116d5})=>this['_getService'](_0x38ae54)['reopenCommentThread'](_0x2116d5)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x4402a9,threadId:_0x240a6b})=>this['_getService'](_0x4402a9)['removeCommentThread'](_0x240a6b)['catch'](F)['catch'](dt),'addComment':({channelId:_0x1cdcc7,threadId:_0x30e9f5,commentId:_0x5f23c0,content:_0x2fd50d,attributes:_0x15e019})=>this['_getService'](_0x1cdcc7)['addComment'](_0x30e9f5,_0x5f23c0,_0x2fd50d,_0x15e019)['catch'](dt),'updateComment':({channelId:_0x365cf9,threadId:_0x79e5ff,commentId:_0x2feb37,content:_0x1493d1,attributes:_0x243fb7})=>this['_getService'](_0x365cf9)['updateComment'](_0x79e5ff,_0x2feb37,_0x1493d1,_0x243fb7)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x3f8a5e,threadId:_0x328e2f,commentId:_0x33085a})=>this['_getService'](_0x3f8a5e)['removeComment'](_0x328e2f,_0x33085a)['catch'](F)['catch'](dt)},_0x127f6d instanceof _0x23c0a4){const _0x3e5865=_0x127f6d['config']['get']('collaboration.channelId'),_0x4c0934=_0x127f6d['plugins']['get'](i);await this['_setUpService'](_0x3e5865);const _0x2d1de6=await this['_services']['get'](_0x3e5865)['getConnectedSessions']();this['listenTo'](_0x4c0934,'sessionAdd:'+_0x3e5865,(_0x319486,{session:_0x4ccb3a})=>{_0x4ccb3a['id']===_0x4c0934['mySessionId']&&(_0x319486['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x4ccb3a['permissions'],_0x3e5865));}),_0x4c0934['register'](_0x3e5865,_0x2d1de6);}}async['_setUpService'](_0x594cec){if(this['_services']['has'](_0x594cec))throw new _0x1ce47a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x594cec});const _0x1c5247=this['context']['plugins']['get']('CommentsRepository'),_0x109be8=new s['CommentsService'](_0x594cec);this['_services']['set'](_0x594cec,_0x109be8),this['listenTo'](_0x109be8,'commentThreadAdded',(_0x82211d,_0x2303b8)=>{const {commentThreadId:_0x3026a1,documentId:_0x310e4c,context:_0x3d4021,attributes:_0x18f186,resolvedAt:_0x5ebb2d,resolvedBy:_0x212b81,comments:_0x2959de}=_0x2303b8;_0x1c5247['getCommentThread'](_0x3026a1)||_0x1c5247['addCommentThread']({'threadId':_0x3026a1,'channelId':_0x310e4c,'comments':_0x2959de?_0x2959de['map'](S):[],'context':_0x3d4021,'attributes':_0x18f186,'resolvedAt':_0x5ebb2d,'resolvedBy':_0x212b81,'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadUpdated',(_0x28fdc6,{commentThreadId:_0x5afd82,documentId:_0x1dee70,context:_0x3f40c3,unlinkedAt:_0x228bb8,attributes:_0x6234ae})=>{_0x1c5247['getCommentThread'](_0x5afd82)&&_0x1c5247['updateCommentThread']({'threadId':_0x5afd82,'channelId':_0x1dee70,'context':_0x3f40c3,'unlinkedAt':_0x228bb8,'attributes':_0x6234ae,'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadResolved',(_0x14c233,{commentThreadId:_0x14bd26,resolvedBy:_0x23bc3d,resolvedAt:_0xb252cd})=>{const _0x393095=_0x1c5247['getCommentThread'](_0x14bd26);_0x393095&&_0x393095['resolve']({'resolvedBy':_0x23bc3d,'resolvedAt':_0xb252cd,'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadReopened',(_0x54fcad,{commentThreadId:_0x3835fc})=>{const _0x554a32=_0x1c5247['getCommentThread'](_0x3835fc);_0x554a32&&_0x554a32['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadRemoved',(_0x6ff8c1,{commentThreadId:_0x41f420})=>{const _0x1f0fc3=_0x1c5247['getCommentThread'](_0x41f420);_0x1f0fc3&&_0x1f0fc3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentAdded',(_0x409a64,_0x3f5bcb)=>{const _0x21f701=_0x3f5bcb['commentThreadId'],_0x1462b5=_0x1c5247['getCommentThread'](_0x21f701);_0x1462b5&&_0x1462b5['addComment']({...S(_0x3f5bcb),'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentUpdated',(_0x961a13,{commentThreadId:_0x17f227,commentId:_0x165138,content:_0x39589a,attributes:_0x55b211})=>{const _0x45b6c3=_0x1c5247['getCommentThread'](_0x17f227);if(_0x45b6c3){const _0x5610f9=_0x45b6c3['getComment'](_0x165138);_0x5610f9&&_0x5610f9['update']({'content':_0x39589a,'attributes':_0x55b211,'isFromAdapter':!0x0});}}),this['listenTo'](_0x109be8,'commentRemoved',(_0x2dc7c4,{commentThreadId:_0x1ef805,commentId:_0x53f7bf})=>{const _0x4578e1=_0x1c5247['getCommentThread'](_0x1ef805);if(_0x4578e1){const _0x4a98b0=_0x4578e1['getComment'](_0x53f7bf);_0x4a98b0&&_0x4a98b0['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x594cec);}['destroy'](){if(this['context']instanceof _0x23c0a4){const _0x13e2b3=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x13e2b3);}}['_terminateService'](_0x11be9b){if(!this['_services']['has'](_0x11be9b))throw new _0x1ce47a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x11be9b});this['_getService'](_0x11be9b)['disconnect'](),this['_services']['delete'](_0x11be9b);}async['reconnect'](){for(const _0x251e38 of this['_services']['keys']())await this['_connectService'](_0x251e38);if(this['context']instanceof _0x23c0a4){const _0x6805c1=this['context']['config']['get']('collaboration.channelId'),_0xddd2fc=this['context']['plugins']['get'](i);_0xddd2fc['unregister'](_0x6805c1);const _0x369f78=await this['_services']['get'](_0x6805c1)['getConnectedSessions']();_0xddd2fc['register'](_0x6805c1,_0x369f78);}}async['_connectService'](_0x16f309){const {connection:_0xc0cce7}=this['context']['plugins']['get'](n),_0x1a35d2=this['context']['plugins']['get']('CommentsRepository'),_0x4c4ebb=this['_services']['get'](_0x16f309),_0x3b0938=await _0x4c4ebb['connect'](_0xc0cce7);await this['_fetchMissingUsersForThreads'](_0x3b0938);const _0xfba7ac=new Set(Array['from'](_0x1a35d2['getCommentThreads']({'channelId':_0x16f309}),_0x104b6a=>_0x104b6a['id']));for(const _0x40e34e of _0x3b0938)_0x40e34e['deletedAt']||_0xfba7ac['delete'](_0x40e34e['commentThreadId']);for(const _0x301ffa of _0xfba7ac)_0x1a35d2['getCommentThread'](_0x301ffa)['remove']({'isFromAdapter':!0x0});for(const _0x4de2a0 of _0x3b0938){let _0x46a800=_0x1a35d2['getCommentThread'](_0x4de2a0['commentThreadId']);const {commentThreadId:_0x4b5a18,context:_0x4ff777,attributes:_0x4ee7f9,resolvedBy:_0x29e503,resolvedAt:_0x1690ef,unlinkedAt:_0x4773f8,deletedAt:_0x5ac8cb}=_0x4de2a0;if(_0x5ac8cb)continue;_0x46a800||(_0x46a800=_0x1a35d2['addCommentThread']({'channelId':_0x16f309,'threadId':_0x4b5a18,'context':_0x4ff777,'attributes':_0x4ee7f9||{},'resolvedBy':_0x29e503,'resolvedAt':_0x1690ef,'unlinkedAt':_0x4773f8,'isFromAdapter':!0x0}));const _0x3f225e=new Set(Array['from'](_0x46a800['comments'],_0x39fc84=>_0x39fc84['id']));for(const _0x233ae7 of _0x4de2a0['comments'])_0x3f225e['delete'](_0x233ae7['commentId']);for(const _0x20c1f5 of _0x3f225e)_0x46a800['getComment'](_0x20c1f5)['remove']({'isFromAdapter':!0x0});for(const _0x4b4af2 of _0x4de2a0['comments']){const _0x5cd47e=_0x46a800['getComment'](_0x4b4af2['commentId']);_0x5cd47e?_0x5cd47e['content']!==_0x4b4af2['content']&&_0x5cd47e['update']({'content':_0x4b4af2['content'],'isFromAdapter':!0x0}):_0x46a800['addComment'](Object['assign'](S(_0x4b4af2),{'isFromAdapter':!0x0}));}}}['_getService'](_0x39cab4){if(!this['_services']['has'](_0x39cab4))throw new _0x1ce47a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x39cab4});return this['_services']['get'](_0x39cab4);}async['_fetchMissingUsersForThreads'](_0x4181f3){const _0x819f00=this['context']['plugins']['get'](_0x4020f1),{connection:_0x9abb0}=this['context']['plugins']['get'](n),_0x1f33c4=new Set();for(const {resolvedBy:_0xc4f42a,comments:_0x12d33a}of _0x4181f3){_0xc4f42a&&!_0x819f00['getUser'](_0xc4f42a)&&_0x1f33c4['add'](_0xc4f42a);for(const {userId:_0x2c0f35}of _0x12d33a)_0x819f00['getUser'](_0x2c0f35)||_0x1f33c4['add'](_0x2c0f35);}if(0x0===_0x1f33c4['size'])return;const _0x17f33e=await lt['getMany'](_0x9abb0,Array['from'](_0x1f33c4));for(const _0x129fad of _0x17f33e)_0x819f00['getUser'](_0x129fad['id'])||_0x819f00['addUser'](_0x129fad);}}async function F(_0x233594){if('404'!==_0x233594['code'])throw _0x233594;}function dt(_0x38d02b){if((_0x53308d=_0x38d02b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x53308d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x53308d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x53308d;throw _0x38d02b;}function S(_0x2b9baa){return{'threadId':_0x2b9baa['commentThreadId'],'commentId':_0x2b9baa['commentId'],'content':_0x2b9baa['content'],'createdAt':_0x2b9baa['createdAt'],'authorId':_0x2b9baa['userId'],'attributes':_0x2b9baa['attributes']||{}};}class m extends _0x5bfa53{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(_0x96ad98){super(_0x96ad98);const _0x24a078=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x24a078);}['init'](){const _0x200f7f=this['editor']['plugins']['get'](n),_0x595aa0=this['editor']['plugins']['get']('TrackChangesEditing');return _0x595aa0['adapter']={'getSuggestion':async _0x49d5c3=>{await this['_waitForServiceReady']();const _0x4b39b9=await this['_trackChangesService']['get'](_0x49d5c3)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x4b39b9]),_0x4b39b9;},'addSuggestion':async({id:_0x31a21b,type:_0x461b07,data:_0x1a4c14,originalSuggestionId:_0x4ffbcc,attributes:_0x5774fa})=>{await this['_waitForServiceReady']();const _0x3b7d1c={'id':_0x31a21b,'type':_0x461b07,'data':_0x1a4c14,'originalSuggestionId':_0x4ffbcc,'attributes':_0x5774fa},_0x25c6a5=await this['_trackChangesService']['add'](_0x31a21b,_0x461b07,_0x1a4c14,_0x4ffbcc,_0x5774fa)['catch'](_0xd34898=>{if(ut(_0xd34898))return new Promise(_0x2cae5a=>{this['_bufferedRequests']['set'](_0x31a21b,{'resolve':_0x2cae5a,'suggestionData':_0x3b7d1c});});throw _0xd34898;});return this['_bufferedRequests']['delete'](_0x31a21b),_0x25c6a5;},'updateSuggestion':async(_0x5761e9,_0x3d9b39)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3d9b39['state'])return this['_trackChangesService']['update'](_0x5761e9,_0x3d9b39)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x34d66c,_0x4b9fea)=>{_0x595aa0['hasSuggestion'](_0x4b9fea['id'])&&(_0x595aa0['getSuggestion'](_0x4b9fea['id'])['attributes']=_0x4b9fea['attributes']);}),this['_trackChangesService']['connect'](_0x200f7f['connection'])['then'](_0x1592fd=>(_0x200f7f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1592fd)['then'](()=>{for(const _0x88471f of _0x1592fd){_0x595aa0['addSuggestionData'](_0x88471f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x515eab=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x463945}=this['editor']['plugins']['get'](n),_0x88217a=await this['_trackChangesService']['connect'](_0x463945);await this['_fetchMissingUsersForThreads'](_0x88217a);for(const {suggestionData:_0x31b724,resolve:_0x42565e}of this['_bufferedRequests']['values']()){let _0x568fd4=_0x88217a['find'](_0x163be3=>_0x163be3['id']===_0x31b724['id']);_0x568fd4||(_0x568fd4=await this['_trackChangesService']['add'](_0x31b724['id'],_0x31b724['type'],_0x31b724['data'],_0x31b724['originalSuggestionId'])),_0x42565e(_0x568fd4);}for(const _0x3bea55 of _0x88217a)_0x515eab['hasSuggestion'](_0x3bea55['id'])||_0x515eab['addSuggestionData'](_0x3bea55);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2cb001=>{this['listenTo'](this['_trackChangesService'],'connected',_0x176c18=>{_0x176c18['off'](),_0x2cb001();});});}async['_fetchMissingUsersForThreads'](_0x5b6a07){const _0x59ec68=this['editor']['plugins']['get'](_0x4020f1),{connection:_0x42c036}=this['editor']['plugins']['get'](n),_0x20b193=new Set();for(const {authorId:_0xb903ec}of _0x5b6a07)_0x59ec68['getUser'](_0xb903ec)||_0x20b193['add'](_0xb903ec);if(0x0===_0x20b193['size'])return;const _0x133870=await lt['getMany'](_0x42c036,Array['from'](_0x20b193));for(const _0x5f3d16 of _0x133870)_0x59ec68['getUser'](_0x5f3d16['id'])||_0x59ec68['addUser'](_0x5f3d16);}}function k(_0x1e114b){if(ut(_0x1e114b))return new Promise(()=>{});throw _0x1e114b;}function ut(_0x26f207){return _0x26f207['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26f207['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5bfa53{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 _0x503ca6=this['editor']['plugins']['get'](n),_0x2f09ad=this['editor']['plugins']['get']('CommentsEditing'),_0x1e5edc=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x503ca6,'change:state',(_0x5014c4,_0x2539bb,_0x409c87)=>{_0x2f09ad['isThreadsLoadingPaused']='connected'!==_0x409c87;});}),this['listenTo'](_0x503ca6,'change:state',(_0x550d6e,_0x40a918,_0x377c38)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x377c38);}),_0x1e5edc['_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 _0x5bfa53{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 _0x5bfa53{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x4020f1];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bdf1b){super(_0x1bdf1b);const _0x2526cf=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x2526cf);}async['init'](){const _0x32935d=this['editor']['plugins']['get'](l),_0x4668c7=_0x32935d['serverHistory'],_0x513249=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x4668c7,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x32935d['sessionId']});const _0x4a812e=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x2e48b5=await tt['isBundleUploaded'](_0x513249['connection'],_0x4a812e);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x25b706})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x25b706)),'updateRevisions':async _0x38edea=>{await this['_waitForServiceReady']();const _0x4cd9b8=this['_revisionTracker']['currentRevision'];if(_0x2e48b5&&0x1===_0x38edea['length']&&_0x38edea[0x0]['id']===_0x4cd9b8['id'])return _0x38edea;for(const _0x113e00 of _0x38edea)_0x113e00['id']===_0x4cd9b8['id']&&(_0x113e00['isEmptyCurrent']=_0x113e00['fromVersion']===_0x113e00['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x38edea,this['_lastRequestId'])['then'](_0x3abb81=>(this['_lastRequestId']=_0x3abb81,_0x38edea))['catch'](_0x5c85ed=>{if(st(_0x5c85ed)||'400'===_0x5c85ed['code']&&void 0x0!==_0x5c85ed['data']['wrongRequestId']){for(const _0x220277 of _0x38edea){!this['_revisionTracker']['repository']['getRevision'](_0x220277['id'])||this['_revisionTracker']['_bufferUpdate'](_0x220277['id'],_0x220277,!0x1);}if(st(_0x5c85ed))throw _0x5c85ed;return _0x38edea;}throw _0x5c85ed;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x142de3,{revisionsData:_0x269bb8,requestId:_0x7d8252})=>{Math['max'](..._0x269bb8['map'](_0x5498b9=>_0x5498b9['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x269bb8,_0x7d8252);}):this['_handleRevisionsUpdate'](_0x269bb8,_0x7d8252);});const {revisions:_0x55f0a3,requestId:_0x3da673}=await this['_revisionHistoryService']['connect'](_0x513249['connection']);_0x513249['addToReconnectionStack'](this),this['_lastRequestId']=_0x3da673,await this['_fetchMissingUsers'](_0x55f0a3);for(const _0x243d07 of _0x55f0a3)this['_revisionTracker']['addRevisionData'](_0x243d07);this['listenTo'](_0x32935d,'change:_isConnected',(_0xaaa955,_0xafb43c,_0x188599)=>{_0x188599&&(this['_oldOffset']=_0x32935d['_offset'],_0xaaa955['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x513249,'state',_0x46de27=>_0x46de27===te['CONNECTED']);}async['reconnect'](){const _0x47e895=this['editor']['plugins']['get'](n),_0x5cf48b=this['editor']['plugins']['get'](l),_0x3614b1=async()=>{const _0x159a1e=this['_revisionTracker']['currentRevision'],_0x537bd4=_0x159a1e['id'],_0x64b3f3=_0x537bd4!==_0x5cf48b['sessionId'];if(_0x64b3f3){const _0x441ff5=_0x5cf48b['_offset']-this['_oldOffset'],_0x2d3844=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x159a1e['toVersion']+_0x441ff5!==_0x2d3844){const _0x4fba7c=_0x159a1e['fromVersion']+_0x441ff5,_0x3cd58a=this['editor']['plugins']['get'](_0x4020f1),_0x517e45=this['_revisionTracker']['buildRevisionData']({'revision':_0x159a1e,'from':_0x4fba7c,'to':_0x2d3844});_0x517e45['id']=_0x159a1e['id'];const _0x4efb16=_0x517e45['authorsIds']['map'](_0x202952=>_0x3cd58a['getUser'](_0x202952));_0x159a1e['_update']({..._0x517e45,'authors':_0x4efb16},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x159a1e['id'],_0x517e45,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2d3844,(_0x159a1e['toVersion']===_0x159a1e['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x537bd4)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x537bd4),this['_revisionTracker']['_createCurrentRevision'](_0x2d3844));}const {revisions:_0x481d28,requestId:_0x178081}=await this['_revisionHistoryService']['reconnect'](_0x47e895['connection'],this['_lastRequestId']);_0x64b3f3&&_0x481d28['length']>0x0?_0x5cf48b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x481d28),this['_handleRevisionsUpdate'](_0x481d28,_0x178081),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5cf48b['_isConnected']?_0x3614b1():new Promise((_0x10e287,_0x4f43b3)=>{_0x5cf48b['once']('change:_isConnected',()=>{_0x3614b1()['then'](_0x10e287)['catch'](_0x4f43b3);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x323227=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1398f6=>{_0x1398f6['off'](),_0x323227();});});}['_getLatestVersionFromServerOperations'](){const _0x420475=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3a90c0 of _0x420475)if('marker'!==_0x3a90c0['type']||_0x3a90c0['affectsData'])return _0x3a90c0['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1e1b98=this['editor']['plugins']['get'](l);return new Promise(_0x588ff8=>{_0x1e1b98['_isPendingUpdate']?_0x1e1b98['once']('change:_isPendingUpdate',()=>{_0x588ff8(this['_getLatestVersionFromServerOperations']());}):_0x588ff8(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x261083,_0x2cb873){const _0x41bbfa=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2cb873;for(const _0xa93004 of _0x261083){const _0x8502d5=_0x41bbfa['getRevision'](_0xa93004['id']);if(_0x8502d5){if((_0xa93004['fromVersion']||_0xa93004['toVersion'])&&(_0xa93004['diffData']=null),_0x8502d5===this['_revisionTracker']['currentRevision']){const _0x1da3a4=Math['max'](_0x8502d5['toVersion'],_0xa93004['toVersion']),_0x446a6b=Math['max'](_0x8502d5['fromVersion'],_0xa93004['fromVersion']);let _0x3f9235;_0x8502d5['toVersion']===_0xa93004['toVersion']&&_0x8502d5['fromVersion']===_0xa93004['fromVersion']?(_0x3f9235=!0x0,this['_preventResendingRevisionData'](_0xa93004)):_0xa93004['toVersion']===_0x1da3a4&&_0xa93004['fromVersion']===_0x446a6b?_0x3f9235=!0x1:(_0x8502d5['toVersion']===_0x1da3a4&&_0x8502d5['fromVersion']===_0x446a6b||this['_fixRevision']({'revision':_0x8502d5,'from':_0x446a6b,'to':_0x1da3a4}),_0x3f9235=!0x0),_0x3f9235&&(delete _0xa93004['fromVersion'],delete _0xa93004['toVersion'],delete _0xa93004['diffData'],delete _0xa93004['createdAt'],delete _0xa93004['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xa93004),this['_preventResendingRevisionData'](_0xa93004);}else this['_revisionTracker']['addRevisionData'](_0xa93004);}const _0x5bfba4=_0x41bbfa['getRevisions']();_0x5bfba4['reverse']();for(let _0x22ecd2=0x0;_0x22ecd2<_0x5bfba4['length']-0x1;_0x22ecd2++){const _0x155e44=_0x5bfba4[_0x22ecd2],_0x328027=_0x5bfba4[_0x22ecd2+0x1];if(_0x155e44['fromVersion']<_0x328027['toVersion']){const _0x482e02=_0x328027['toVersion'],_0x5f491d=Math['max'](_0x482e02,_0x155e44['toVersion']);this['_fixRevision']({'revision':_0x155e44,'from':_0x482e02,'to':_0x5f491d});}}}['_fixRevision']({revision:_0x279d80,from:_0x2165c4,to:_0x422b02}={}){const _0x4e1fac=this['editor']['plugins']['get'](_0x4020f1),_0x4197be=this['_revisionTracker']['buildRevisionData']({'revision':_0x279d80,'from':_0x2165c4,'to':_0x422b02});_0x4197be['authors']=_0x4197be['authorsIds']['map'](_0x17999f=>_0x4e1fac['getUser'](_0x17999f)),_0x279d80['_update'](_0x4197be);}['_preventResendingRevisionData'](_0x5a8855){const _0x4cf8dd={};_0x4cf8dd['id']=_0x5a8855['id'];for(const _0x59d390 of Object['keys'](_0x5a8855))'id'!==_0x59d390&&(_0x4cf8dd[_0x59d390]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4cf8dd['id'],_0x4cf8dd,!0x0);}async['_fetchMissingUsers'](_0x2738dc){const _0x1faff0=this['editor']['plugins']['get'](_0x4020f1),{connection:_0x474634}=this['editor']['plugins']['get'](n),_0x4b69cc=new Set();for(const _0x4e78b6 of _0x2738dc){for(const _0x8f4ec3 of _0x4e78b6['authorsIds'])_0x57e918(_0x8f4ec3);_0x4e78b6['creatorId']&&_0x57e918(_0x4e78b6['creatorId']);}if(0x0===_0x4b69cc['size'])return;const _0x1a742a=await lt['getMany'](_0x474634,Array['from'](_0x4b69cc));for(const _0x14b45d of _0x1a742a)_0x1faff0['getUser'](_0x14b45d['id'])||_0x1faff0['addUser'](_0x14b45d);function _0x57e918(_0x124046){_0x1faff0['getUser'](_0x124046)||_0x4b69cc['add'](_0x124046);}}}function st(_0xdbf771){return _0xdbf771['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xdbf771['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xdbf771['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x5bfa53{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 _0x59df29{['_collapseAt'];constructor(_0x2a4776,_0x3dbb1b=0x6){super(_0x2a4776);const _0x394aed=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3dbb1b,this['bind']('isHidden')['to'](this,'usersCount',_0x1801ff=>_0x1801ff<_0x3dbb1b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x394aed['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':_0x394aed['to']('usersCount',_0x4e4a8a=>'+'+(_0x4e4a8a-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x59df29{['items'];['keystrokes'];constructor(_0x198c8d){super(_0x198c8d);const _0x4dd588=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x3bfa3c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4dd588['if']('hasPopup'),'aria-expanded':_0x4dd588['to']('isExpanded',_0x159700=>this['hasPopup']&&String(_0x159700)),'aria-label':_0x4dd588['to']('hasPopup',_0x5359fa=>V(_0x198c8d,_0x5359fa?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4dd588['to']('hasPopup',_0x3da804=>!!_0x3da804&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4dd588['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4dd588['to'](_0x2c771a=>{const _0x24bf5b=_0x2c771a,_0x231f4a=document['querySelector']('.ck-presence-list__dropdown-list'),_0xec080d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x231f4a?.['contains'](_0x24bf5b['relatedTarget'])||_0xec080d?.['contains'](_0x24bf5b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x112e80,_0x3c129b,_0x3cbd10)=>{this['element']&&(_0x3cbd10?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 _0x59df29{['counterView'];['inlineListView'];constructor(_0x22bde4,_0x1ba271=0x6){super(_0x22bde4);const _0x5a05e6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x1ba271),this['inlineListView']=new is(_0x22bde4),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4cdee7 of this['inlineListView']['items'])_0x4cdee7['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',_0x5a05e6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x59df29{['listWrapperView'];constructor(_0x204b37,_0x28c39d){super(_0x204b37);const _0x5460a1=this['bindTemplate'];this['listWrapperView']=new pt(_0x204b37,_0x28c39d),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x204b37,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5460a1['to'](_0x86256a=>{const _0x1f446d=_0x86256a,_0x23f92a=document['querySelector']('.ck-presence-list__list'),_0x5b7dcc=document['querySelector']('.ck-balloon-panel_with-arrow');_0x23f92a?.['contains'](_0x1f446d['relatedTarget'])||_0x5b7dcc?.['contains'](_0x1f446d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x514ed5{constructor(_0x5c1938,_0x35e7e9){super(_0x5c1938);const _0x296741=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x35e7e9?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x296741['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x296741['to']('role'),'aria-label':_0x296741['to']('ariaLabel'),'aria-labelledby':_0x296741['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x26dcab['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xc2dd39=this['element'];_0xc2dd39&&(this['_isScrollable']=Math['max'](_0xc2dd39['scrollHeight'],_0xc2dd39['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x4b2074,_0x124508,_0x31cd3c){super(_0x4b2074);const _0x16e4ec=this['bindTemplate'];this['userView']=new ct(_0x4b2074,_0x124508);const _0xb429af={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x124508['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x124508['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x124508['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x31cd3c&&(_0xb429af['tag']='button',_0xb429af['on']={'click':_0x16e4ec['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xb429af);}['focus'](){this['element']['focus']();}}class A extends _0x59df29{['userView'];['markerView'];constructor(_0x23dccd,_0x355b1a,_0x9df8e9){super(_0x23dccd);const _0x473c7b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x23dccd,_0x355b1a),this['markerView']=new at(_0x23dccd,_0x355b1a);const _0x2758c5=new ot(_0x23dccd);_0x2758c5['template']['tag']='span',_0x2758c5['text']=_0x355b1a['name'];const _0x247de5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x473c7b['to']('isFocusable',_0x218354=>!!_0x218354&&0x0),'aria-labelledby':_0x2758c5['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x473c7b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x473c7b['to']('hasTooltip',_0xcc4d26=>!_0xcc4d26),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2758c5]};_0x9df8e9&&(_0x247de5['tag']='button',_0x247de5['on']={'click':_0x473c7b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x247de5);}}class at extends _0x59df29{constructor(_0x780114,_0x28f95e){super(_0x780114),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x28f95e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1c6eb3{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x41e001){super(_0x41e001),this['context']['config']['define']('presenceList',x);const _0x5ed9f8=_0x41e001['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5ed9f8)throw new _0x1ce47a('presencelist-collapseat-invalid-format',this);if(_0x5ed9f8<0x1)throw new _0x1ce47a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x38d74d(),this['balloonPanelView']=new _0x5008c7(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x56697c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x56697c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x139b19,_0x31db4e)=>{this['_handleUserAdd'](_0x31db4e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x628bbc,_0x1b545e)=>{this['_handleUserRemove'](_0x1b545e);});}['_createView'](){const _0xc79b1d=this['context'],_0x548590=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x242929=this['balloonPanelView'];if(!_0x6bd037(_0xc79b1d['config']['get']('presenceList.container')))throw new _0x1ce47a('presencelist-missing-container',this);return _0x548590['counterView']['bind']('usersCount')['to'](this),_0x548590['bind']('isCollapsed')['to'](this,'usersCount',_0x4f62ea=>{const {collapseAt:_0x30ed2e}=_0xc79b1d['config']['get']('presenceList'),_0x22909c=_0x4f62ea>=_0x30ed2e;if(_0x22909c&&!_0x548590['inlineListView']['items']['find'](_0x446e23=>_0x446e23 instanceof b)){const _0x46182e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x46182e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x548590['inlineListView']['items']['add'](_0x548590['counterView']);}return _0x22909c||this['hideDropdown'](),_0x22909c;}),_0x548590['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5e0b4=>{const _0x10e3bd=_0xc79b1d['config']['get']('presenceList'),_0x44d7f0=new A(_0xc79b1d['locale'],_0x5e0b4,!!_0x10e3bd['onClick']);return _0x44d7f0['bind']('hasTooltip')['to'](_0x548590,'isCollapsed',_0x53fec6=>!_0x53fec6),_0x44d7f0['bind']('isFocusable')['to'](_0x548590,'isCollapsed',_0xc36e5b=>!_0xc36e5b),_0x10e3bd['onClick']&&this['listenTo'](_0x44d7f0,'execute',()=>{this['view']['isCollapsed']||_0x10e3bd['onClick'](_0x5e0b4,_0x44d7f0['element']);}),_0x44d7f0;}),this['listenTo'](_0x548590['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x548590['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x548590['inlineListView']['keystrokes']['set']('Enter',(_0x5605e3,_0x1500af)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1500af());}),_0x548590['render'](),_0x242929['render'](),_0x35631f({'emitter':_0x548590,'activator':()=>_0x242929['isVisible'],'contextElements':[_0x242929['element'],_0x548590['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xc79b1d['config']['get']('presenceList.container')['appendChild'](_0x548590['element']),this['_bodyCollection']=new _0x33e143(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x548590;}['_handleUserAdd'](_0x573342){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x573342['isMe'])return;const _0x4bc2f7=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4bc2f7-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5e0181=_0x573342['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x573342,_0x5e0181);}['_handleUserRemove'](_0x4c2bc0){this['usersCount']--;const {collapseAt:_0x4ed84e}=this['context']['config']['get']('presenceList'),_0x1905ee=this['usersCount']>=_0x4ed84e;if(this['currentDisplayedUsers']['get'](_0x4c2bc0['id']))this['currentDisplayedUsers']['remove'](_0x4c2bc0['id']);else{if(_0x1905ee&&this['currentDisplayedUsers']['length']+0x1===_0x4ed84e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1905ee?0x1:0x0)<this['usersCount']){for(const _0x73da74 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x73da74['id'])&&(this['currentDisplayedUsers']['add'](_0x73da74,Math['min'](this['currentDisplayedUsers']['length']-(_0x1905ee?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1905ee?0x1:0x0)===_0x4ed84e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x41a8e3=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x41a8e3['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3648e0}=this['presenceDropdownView'];_0x3648e0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x399bff=>{if(!_0x41a8e3['displayMe']&&_0x399bff['isMe'])return null;const _0x7af79a=new j(this['context']['locale'],_0x399bff,!!_0x41a8e3['onClick']);return _0x41a8e3['onClick']&&this['listenTo'](_0x7af79a,'execute',()=>{_0x41a8e3['onClick'](_0x399bff,_0x7af79a['element']);}),_0x7af79a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3648e0['focus'](),_0x3648e0['checkIfScrollable']();const _0x447394=(_0x203a4b,_0x24608b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x24608b();};_0x3648e0['keystrokes']['set']('Esc',_0x447394),_0x3648e0['keystrokes']['set']('Shift+Tab',_0x447394),_0x3648e0['keystrokes']['set']('Tab',(_0x3141d2,_0x5978c2)=>{!function(_0x9b20ee){const _0x43eb18=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x139ecc=>_0x139ecc+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4771cc=[...document['body']['querySelectorAll'](_0x43eb18)]['filter'](_0x3b2829=>_0x3b2829===document['activeElement']||_0x3b2829['offsetWidth']+_0x3b2829['offsetHeight']>0x0)['sort']((_0x294c47,_0xfcee8b)=>(_0x294c47['tabIndex']||0x0)-(_0xfcee8b['tabIndex']||0x0)),_0x1e1f44=_0x4771cc['indexOf'](_0x9b20ee),_0x38f3ac=_0x4771cc[(_0x1e1f44+0x1)%_0x4771cc['length']];_0x38f3ac&&_0x38f3ac['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5978c2();}),_0x3648e0['focusTracker']['add'](this['view']['element']),_0x3648e0['focusTracker']['on']('change:isFocused',(_0x4c4604,_0x293581,_0x27738b)=>{_0x27738b||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 _0x1c6eb3{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};
23
+ import{ContextPlugin as _0x49081f,Plugin as _0x111504,PendingActions as _0x19f13a,Context as tt}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x715e60,CKEditorError as _0x2ba111,Collection as _0x4c3fca,global as _0x23a209,version as ht,uid as _0x279525,KeystrokeHandler as _0x100592}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3c12c6,View as _0x447871,ListView as _0x211604,ListItemView as rt,LabelView as at,BalloonPanelView as _0x3df348,clickOutsideHandler as _0x358832,BodyCollection as _0x560eda}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2e51d3,History as _0x3898d5,NoOperation as _0x47d7bf,InsertOperation as _0x4adff9,MarkerOperation as _0x4150e4,RootAttributeOperation as _0x440fd6,transformOperationSets as _0x3419a3,OperationFactory as _0x1b106d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x278209,CollaborativeEditingService as _0x1a0236,User as ut,CommentsService as et,TrackChangesService as it,RevisionHistoryService as _0x439566,EditorService as _0x47cbe4}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x24d756,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1954db}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x536ad2}from'es-toolkit/compat';class n extends _0x49081f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3c12c6];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x477801){super(_0x477801),this['set']('state',_0x278209['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x715e60())();}['init'](){const _0xb229a8=this['context'],_0x1fb13d=_0xb229a8['plugins']['get']('CloudServices'),_0x1586cc=_0xb229a8['plugins']['get'](_0x3c12c6);if(!_0x1fb13d['token'])throw new _0x2ba111('websocketgateway-missing-token',this);if(!_0x1fb13d['webSocketUrl'])throw new _0x2ba111('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'](_0x1fb13d['token'],_0x1fb13d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x38d90a=>{if(this['connection']=_0x38d90a,this['bind']('state')['to'](_0x38d90a,'state',this,'_isBrowserOffline',(_0x4646a8,_0x4b9f48)=>('connected'!==_0x4646a8&&(this['_shouldPluginsReconnect']=!0x0),_0x4b9f48||_0x4646a8!==_0x278209['CONNECTED']?_0x278209['DISCONNECTED']:this['state']==_0x278209['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x278209['CONNECTING']):_0x278209['CONNECTED'])),this['connection']['on']('error',(_0x40fb1a,_0x43c93c)=>{if('limitExceeded'!==_0x43c93c['code'])throw console['error'](_0x43c93c),new _0x2ba111('cloudservices-init',null,{'originalError':_0x43c93c});_0x1586cc['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'});}),!_0x38d90a['me'])return new Promise(_0x1dc378=>_0x38d90a['on']('change:me',_0x1dc378));})['catch'](_0x2bc006=>{throw console['error'](_0x2bc006),new _0x2ba111('cloudservices-init',null,{'originalError':_0x2bc006});});}['addToReconnectionStack'](_0x377432){if('function'!=typeof _0x377432['reconnect'])throw new _0x2ba111('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x377432))throw new _0x2ba111('websocketgateway-plugin-already-registered',this,{'name':_0x377432['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x377432);}['removeFromReconnectionStack'](_0x35af5b){this['_reconnectionStack']['delete'](_0x35af5b);}['isInReconnectionStack'](_0x45644c){return this['_reconnectionStack']['has'](_0x45644c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x55c5ae=>_0x55c5ae['reconnect']())))['then'](()=>this['state']=_0x278209['CONNECTED'])['catch'](_0x4edfae=>{throw console['error'](_0x4edfae),new _0x2ba111('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x278209['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x49081f{['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,_0x24d756];}constructor(_0xea0d08){super(_0xea0d08),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4c3fca(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x24d756);}['init'](){const _0xba9c08=this['context']['plugins']['get'](n);this['listenTo'](_0xba9c08,'change:state',(_0x44d85b,_0x47a9ae,_0x239015)=>{if('connected'!==_0x239015)this['channelSessions']['forEach'](_0x11f7d0=>_0x11f7d0['clear']()),this['channelConnectedUsers']['forEach'](_0x3a5fbc=>_0x3a5fbc['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3a82ed,_0x38ebef]of this['_registeredSessions'])for(const _0xc39a58 of _0x38ebef)this['_handleSessionAdd'](_0x3a82ed,_0xc39a58);}}),this['_createUser'](_0xba9c08['connection']['me'],!0x0);}['register'](_0x550643,_0x512238){if(this['_registeredSessions']['has'](_0x550643))throw new _0x2ba111('sessions-register-already-registered',null,{'channelId':_0x550643});this['_registeredSessions']['set'](_0x550643,_0x512238),this['channelSessions']['set'](_0x550643,new _0x4c3fca()),this['channelConnectedUsers']['set'](_0x550643,new _0x4c3fca()),this['listenTo'](_0x512238,'add',(_0x3c8c2c,_0x18f61c)=>this['_handleSessionAdd'](_0x550643,_0x18f61c)),this['listenTo'](_0x512238,'remove',(_0xa764e0,_0x189f85)=>this['_handleSessionRemove'](_0x550643,_0x189f85));for(const _0x5741d2 of _0x512238)this['_handleSessionAdd'](_0x550643,_0x5741d2);}['unregister'](_0x39a900){if(!this['_registeredSessions']['has'](_0x39a900))throw new _0x2ba111('sessions-unregister-not-exist',null,{'channelId':_0x39a900});const _0x27ee42=this['_registeredSessions']['get'](_0x39a900);this['stopListening'](_0x27ee42);for(const _0x3b86ef of _0x27ee42)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x39a900,_0x3b86ef);this['_registeredSessions']['delete'](_0x39a900),this['channelSessions']['delete'](_0x39a900),this['channelConnectedUsers']['delete'](_0x39a900);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0xd180d6){for(const _0x9aed69 of this['channelSessions']['values']())for(const _0x43a87e of _0x9aed69)if(_0x43a87e['id']===_0xd180d6)return _0x43a87e['user'];}['getUserSessions'](_0x5e2b94,_0x1f6cd4){const _0x19e7b0=_0x1f6cd4?[this['channelSessions']['get'](_0x1f6cd4)]:this['channelSessions']['values'](),_0x34ba15=new Set();for(const _0x478a1a of _0x19e7b0)for(const _0x4481be of _0x478a1a)_0x4481be['user']['id']===_0x5e2b94['id']&&_0x34ba15['add'](_0x4481be['id']);return _0x34ba15;}['getUserRole'](_0x3aa4f7){for(const _0x302e30 of this['channelSessions']['values']())for(const _0x2874ab of _0x302e30)if(_0x2874ab['user']===_0x3aa4f7)return _0x2874ab['role'];}['_handleSessionAdd'](_0x5e4f9c,_0x3629ba){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5104dd=_0x3629ba['user'],_0x20956d=this['_users']['getUser'](_0x5104dd['id'])||this['_createUser'](_0x5104dd),_0x6a5001=Object['assign']({},_0x3629ba,{'user':_0x20956d});if(this['channelSessions']['get'](_0x5e4f9c)['add'](_0x6a5001),!_0x5104dd['hiddenInPresenceList']){const _0x56ab72=this['channelConnectedUsers']['get'](_0x5e4f9c);_0x56ab72['has'](_0x20956d['id'])||_0x56ab72['add'](_0x20956d),this['allConnectedUsers']['has'](_0x20956d['id'])||_0x5104dd['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x20956d,_0x20956d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5e4f9c,{'channelId':_0x5e4f9c,'session':_0x6a5001});}['_handleSessionRemove'](_0x60ec50,_0x18524e){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3f4fa1=this['channelConnectedUsers']['get'](_0x60ec50),_0x8d3ced=_0x18524e['user'];_0x8d3ced['id']&&(this['channelSessions']['get'](_0x60ec50)['remove'](_0x18524e['id']),_0x3f4fa1['has'](_0x8d3ced['id'])&&!this['getUserSessions'](_0x8d3ced,_0x60ec50)['size']&&_0x3f4fa1['remove'](_0x8d3ced['id']),this['allConnectedUsers']['get'](_0x8d3ced['id'])&&!this['getUserSessions'](_0x8d3ced)['size']&&this['allConnectedUsers']['remove'](_0x8d3ced['id']));}['_createUser'](_0x5da2bc,_0x436f11){const _0x20e6d4=this['_users']['addUser'](_0x5da2bc);return _0x436f11&&this['_users']['defineMe'](_0x5da2bc['id']),_0x20e6d4['orderNumber']=this['_uniqueUsersCount']++,_0x20e6d4;}}class k extends _0x111504{['_domEmitter']=new(_0x715e60())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xe920a5=this['editor'],_0x211e72=_0xe920a5['plugins']['get'](i);_0xe920a5['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x347cb7,{writer:_0xa8bd97})=>function(_0x258c87,_0x597e0a,_0xe4a51b,_0x2daec0){const _0x52bb30=_0x258c87['markerName']['split'](':')[0x2],_0x3dd50d=_0xe4a51b['getUserBySessionId'](_0x52bb30);if(!_0x3dd50d||_0x52bb30===_0xe4a51b['mySessionId'])return;if(!_0x2daec0['model']['schema']['checkChild'](_0x258c87['markerRange']['start'],'$text'))return;const _0x237b71={'class':'ck-user__marker\x20'+_0x3dd50d['color']['getMarkerClass'](),'data-name':_0x3dd50d['name'],'data-session-id':_0x52bb30},_0x45758a=_0x2daec0['model']['markers']['get'](_0x258c87['markerName']),_0x1fc18b=_0x45758a['getStart'](),_0x438c64=_0x1fc18b['nodeAfter'],_0x532845=_0x2daec0['model']['schema'];if(_0x438c64&&_0x532845['isObject'](_0x438c64)&&_0x532845['isInline'](_0x438c64)&&!_0x2daec0['model']['markers']['get']('user:range:'+_0x52bb30)['getRange']()['isCollapsed'])return;const _0xf7fa7b=_0x1fc18b['parent'];return _0x2daec0['model']['schema']['isLimit'](_0xf7fa7b)&&!_0x2daec0['model']['hasContent'](_0xf7fa7b)&&(_0x237b71['contenteditable']=!0x1),function(_0x44fb9d,_0x9f082e,_0x579117){const _0x431775=_0x44fb9d['createUIElement']('span',_0x9f082e);return _0x44fb9d['setCustomProperty']('userPositionMarker',!0x0,_0x431775),_0x431775['render']=function(_0x3b9726){const _0x15b930=this['toDomElement'](_0x3b9726),_0xacdff7=document['createElement']('span');return _0xacdff7['classList']['add']('ck-user__marker-tooltip'),_0xacdff7['setAttribute']('contenteditable','false'),_0xacdff7['setAttribute']('spellcheck','false'),_0xacdff7['textContent']=_0x579117['name'],_0x15b930['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xacdff7['outerHTML']+'⁠',_0x15b930['addEventListener']('mouseenter',()=>{_0x15b930['classList']['add']('ck-user__marker_hovered');}),_0x15b930['addEventListener']('mouseleave',()=>{_0x15b930['classList']['remove']('ck-user__marker_hovered');}),_0x15b930;},_0x431775['isSimilar']=function(_0x2426f3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2426f3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2426f3['getAttribute']('data-session-id'));},_0x431775;}(_0x597e0a,_0x237b71,_0x3dd50d);}(_0x347cb7,_0xa8bd97,_0x211e72,_0xe920a5)}),_0xe920a5['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x8820e0=>function(_0x20931b,_0x3dde05){const _0x35c2f2=_0x20931b['markerName']['split'](':')[0x2];if(_0x35c2f2===_0x3dde05['mySessionId'])return null;const _0x4923c7=_0x3dde05['getUserBySessionId'](_0x35c2f2);if(!_0x4923c7)return{'id':_0x35c2f2,'classes':[]};return{'id':_0x35c2f2,'classes':['ck-user__selection',_0x4923c7['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x35c2f2},'priority':0x7d0+_0x4923c7['orderNumber']};}(_0x8820e0,_0x211e72)}),function(_0x17781f){const _0x7a9ef4=_0x17781f['model'],_0x1047c7=new Map(),_0xb00bb3=_0x17781f['plugins']['get'](i);_0x7a9ef4['markers']['on']('update:user:range',(_0x2d3c1c,_0x2e53a9,_0x43e025,_0x76a56d)=>{if(!_0x76a56d&&_0x1047c7['get'](_0x2e53a9['name']))return _0x1047c7['get'](_0x2e53a9['name'])['detach'](),void _0x1047c7['delete'](_0x2e53a9['name']);const _0x1d449a=_0x2e53a9['name']['split'](':')[0x2];if(_0x1d449a===_0xb00bb3['mySessionId'])return;const _0x429224='user:position:'+_0x1d449a;_0x7a9ef4['markers']['has'](_0x429224)&&_0x17781f['editing']['reconvertMarker'](_0x429224),_0x2e53a9['on']('change:range',(_0xae1a25,_0x170826,_0x15c58d)=>{if('$graveyard'!=_0x170826['root']['rootName']&&'$graveyard'==_0x2e53a9['getRange']()['root']['rootName']&&!_0x1047c7['has'](_0x2e53a9['name'])){const _0x48fb92=_0x7a9ef4['schema']['getNearestSelectionRange'](_0x15c58d['deletionPosition']);if(_0x48fb92){const _0x266d8e=_0x2e51d3['fromRange'](_0x48fb92);_0x1047c7['set'](_0x2e53a9['name'],_0x266d8e),_0x266d8e['on']('change:range',(_0x196c75,_0x504ca0,_0x1343e1)=>{if('$graveyard'==_0x266d8e['root']['rootName']){const _0x2ca28c=_0x7a9ef4['schema']['getNearestSelectionRange'](_0x1343e1['deletionPosition']);_0x2ca28c?(_0x266d8e['start']=_0x2ca28c['start'],_0x266d8e['end']=_0x2ca28c['end']):(_0x1047c7['delete'](_0x2e53a9['name']),_0x266d8e['detach']());}});}}});}),_0x7a9ef4['document']['on']('change',()=>{_0x1047c7['size']>0x0&&_0x7a9ef4['enqueueChange']({'isUndoable':!0x1},_0x1cf63a=>{for(const [_0x1b48d6,_0x2382b9]of _0x1047c7)'$graveyard'==_0x7a9ef4['markers']['get'](_0x1b48d6)['getRange']()['root']['rootName']&&(q(_0x1b48d6['split'](':')[0x2],_0x2382b9['toRange'](),_0x7a9ef4,_0x1cf63a),_0x2382b9['detach']());_0x1047c7['clear']();});});}(_0xe920a5),this['_domEmitter']['listenTo'](_0x23a209['document'],'keydown',(_0x1f76ae,{key:_0x58c48d})=>{'Escape'===_0x58c48d&&function(_0x146a8a){_0x146a8a['editing']['view']['change'](_0x2767ab=>{for(const _0x404e82 of _0x146a8a['model']['markers']){if(!_0x404e82['name']['startsWith']('user:position'))continue;const _0x2bd6bb=_0x146a8a['editing']['mapper']['markerNameToElements'](_0x404e82['name']);if(_0x2bd6bb){for(const _0x5d52cd of _0x2bd6bb)_0x2767ab['removeClass']('ck-user__marker_hovered',_0x5d52cd);}}});}(_0xe920a5);},{'useCapture':!0x0});}['afterInit'](){const _0x4a6284=this['editor'],_0x181a13=_0x4a6284['commands']['get']('undo');_0x181a13&&_0x4a6284['model']['on']('applyOperation',(_0x5e0b66,_0x4a4c15)=>{const _0x1b6d47=_0x4a4c15[0x0];if(!_0x1b6d47['isDocumentOperation'])return;if('marker'!=_0x1b6d47['type']||!_0x1b6d47['name']['startsWith']('user:'))return;const _0x31ebac=_0x1b6d47['batch'];_0x181a13['_createdBatches']['has'](_0x31ebac)&&(_0x1b6d47['newRange']=_0x1b6d47['oldRange']?_0x4a6284['model']['createRange'](_0x1b6d47['oldRange']['start'],_0x1b6d47['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1c85b9=this['editor'],_0x496024=_0x1c85b9['model']['document'],_0x47d2a6=_0x1c85b9['plugins']['get'](i);_0x1c85b9['model']['enqueueChange']({'isUndoable':!0x1},_0x49db44=>{const _0x44ce57='user:range:'+_0x47d2a6['mySessionId'],_0x15b889='user:position:'+_0x47d2a6['mySessionId'],_0x53aaa4=_0x1c85b9['model']['markers']['has'](_0x44ce57);_0x1c85b9['editing']['view']['hasDomSelection']?q(_0x47d2a6['mySessionId'],_0x496024['selection']['getFirstRange'](),_0x1c85b9['model'],_0x49db44):_0x53aaa4&&(_0x49db44['removeMarker'](_0x44ce57),_0x49db44['removeMarker'](_0x15b889));});}}function q(_0x1501ba,_0x550da9,_0x430d9d,_0x40b4a6){const _0x114af2='user:range:'+_0x1501ba,_0x19b969='user:position:'+_0x1501ba,_0x47bfc9=_0x550da9['getContainedElement']();let _0x4cf9b1=_0x550da9['start'];if(_0x47bfc9&&_0x47bfc9['is']('element','tableCell')){const _0x2c4489=function(_0x786a69,_0x4f482){for(const _0xf2efe4 of _0x786a69['getPositions']())if(_0x4f482['schema']['checkChild'](_0xf2efe4,'$text'))return _0xf2efe4;}(_0x550da9,_0x430d9d);_0x2c4489&&(_0x4cf9b1=_0x2c4489,_0x550da9=_0x40b4a6['createRange'](_0x4cf9b1));}const _0xb1e903=_0x40b4a6['createRange'](_0x4cf9b1);_0x430d9d['markers']['has'](_0x114af2)?(_0x40b4a6['updateMarker'](_0x114af2,{'range':_0x550da9}),_0x40b4a6['updateMarker'](_0x19b969,{'range':_0xb1e903})):(_0x40b4a6['addMarker'](_0x114af2,{'range':_0x550da9,'usingOperation':!0x0}),_0x40b4a6['addMarker'](_0x19b969,{'range':_0xb1e903,'usingOperation':!0x0}));}function T(_0x3eb432,_0x207ab9,_0x5654e1){const _0x4b4610=_0x3eb432['t'],t=_0x3eb432['t'];switch(_0x207ab9){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 _0x4b4610({'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'},_0x5654e1);default:return'';}}let j=0x1;class l extends _0x111504{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x1a0236)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,k,_0x19f13a,_0x24d756,_0x3c12c6];}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 _0x49d432=this['serverHistory']['getOperations']();for(let _0x2fdcb6=_0x49d432['length']-0x1;_0x2fdcb6>=0x0;_0x2fdcb6--){const _0x4a31cc=_0x49d432[_0x2fdcb6];if(!this['_disconnectionOperations']['has'](_0x4a31cc))return _0x4a31cc['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x65236f){if(super(_0x65236f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3898d5(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2ba111('collaboration-missing-channelid',this);const _0x463e9f=_0x65236f['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x463e9f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1954db(),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 U(this['_disconnectionOperations']);}['init'](){const _0x678504=this['editor'],_0x1256a9=_0x678504['plugins']['get'](_0x24d756),_0x287e5f=_0x678504['plugins']['get'](n);this['listenTo'](_0x1256a9,'getOperationAuthor',(_0x52484a,_0x102c6f)=>{const _0x17dbec=_0x102c6f[0x0];_0x17dbec['_authorId']&&(_0x52484a['return']=_0x1256a9['getUser'](_0x17dbec['_authorId']),_0x52484a['stop']()),null===_0x17dbec['_authorId']&&(_0x52484a['return']=null,_0x52484a['stop']());},{'priority':'high'}),this['listenTo'](_0x678504['model']['document']['selection'],'change:range',(_0x174a23,_0x5e5b58)=>{_0x5e5b58['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x678504['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x678504['model']['on']('applyOperation',(_0x285a53,_0x201f7c)=>{const _0x28ab08=_0x201f7c[0x0];_0x28ab08['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x28ab08),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x287e5f,'state',this,'_hasSynchronizationProblem',(_0x1adb65,_0x15715f)=>'connected'===_0x1adb65&&!_0x15715f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x678504['disableReadOnlyMode']('rtc-offline'):_0x678504['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x678504['disableReadOnlyMode']('rtc-offline'):_0x678504['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2bd1fa=this['editor']['plugins']['get'](i),_0x3c3c0b=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2bd1fa['unregister'](this['_channelId']);const _0x29758d=await this['_service']['reconnect'](_0x3c3c0b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x29758d)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x22ff39=await this['_service']['getConnectedSessions']();_0x2bd1fa['register'](this['_channelId'],_0x22ff39),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1964bd){if(function(_0x5b2239){return'404'===_0x5b2239['code'];}(_0x1964bd)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2e84c7){return'409'===_0x2e84c7['code'];}(_0x1964bd)){const _0x198ecc=T(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'](_0x198ecc);}else{if(!(_0x1964bd instanceof D))throw _0x1964bd;this['_handleReconnectionError']();}}}}['destroy'](){const _0x57405b=this['editor']['plugins']['get'](n),_0x2f2653=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2f2653['channelSessions']['has'](this['_channelId'])&&_0x2f2653['unregister'](this['_channelId']),_0x57405b['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x582e5d){if(this['sessionId']!==_0x582e5d['sessionId']&&this['_lastSyncedOperationId']!==_0x582e5d['lastOperationId'])throw new D();return this['sessionId']=_0x582e5d['sessionId'],this['_handleServerResponse']([],{..._0x582e5d,'wereChangesApplied':!0x1,'data':_0x582e5d['data']},'reconnect');}async['_connectService'](_0x35b8e3,_0x3cf681=!0x1){const {connection:_0x56cff8}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x56cff8,this['_channelId'])['then'](_0x42e31c=>this['_initSessionsHandling'](_0x42e31c))['catch'](_0x3163cf=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3163cf);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x418d18,_0x5c5390)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5c5390);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4b6dad=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x35b8e3);this['_isPendingUpdate']=!0x0;const _0x80ddfe=await this['_service']['connect'](_0x56cff8,this['_compressOperations'](_0x35b8e3),_0x4b6dad);if(this['sessionId']=_0x80ddfe['sessionId'],_0x3cf681){if(!_0x80ddfe['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x80ddfe['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x35b8e3,_0x80ddfe,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x80ddfe,_0x35b8e3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5cd5c9=this['editor']['plugins']['get'](i),_0x176b63=this['editor']['plugins']['get'](k),_0x350d58=_0x5cd5c9['channelSessions']['get'](this['_channelId']);_0x350d58&&_0x350d58['length']>0x1?_0x176b63['createUserMarkerOperations']():this['listenTo'](_0x5cd5c9,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5cd5c9['channelSessions']['get'](this['_channelId'])['length']&&_0x176b63['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3173a7,_0x3b9a12,_0x87c4b9,_0x4983c3){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3b9a12){const _0x1772f4=this['_decompressOperations'](_0x87c4b9,_0x4983c3);await this['_fetchMissingUsers'](_0x1772f4),this['_handleExternalOperations'](_0x1772f4,_0x3b9a12,_0x87c4b9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x181f10}=this['editor'];let _0x1e7302;try{_0x1e7302=await this['_service']['getDocumentDetails']();}catch{const _0x26e151=T(_0x181f10,'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'](_0x26e151);}const _0x333415=_0x1e7302['currentDocumentSession']||_0x1e7302['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x333415['lastOperationId']){const _0x207358=T(_0x181f10,'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'](_0x207358);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x43dcc8){const _0x1f839d=this['editor']['plugins']['get'](i);this['listenTo'](_0x1f839d,'sessionAdd:'+this['_channelId'],(_0x475e67,{session:_0x3938f9})=>{if(_0x3938f9['id']===_0x1f839d['mySessionId']){_0x475e67['off']();const _0x549b32=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x58c6ef=_0x3938f9['permissions'];_0x549b32&&_0x549b32['isEnabled']&&(_0x58c6ef=_0x58c6ef['filter'](_0x5f1867=>'document:write'!==_0x5f1867)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x58c6ef,this['_channelId']);}}),_0x1f839d['register'](this['_channelId'],_0x43dcc8);}['_initThrowingOnDataSet'](){const _0x577fab=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4d2be6)=>{if(!_0x4d2be6[_0x4d2be6['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2ba111('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x577fab['apply'](this['editor']['data'],_0x4d2be6);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4c20fd,[_0x2bc65e])=>{if(this['_document']['version'])throw new _0x2ba111('realtimecollaborationclient-init-document-already-initialized',this);_0x4c20fd['stop'](),this['_setPendingAction']();const _0x45714b=this['editor']['config']['get']('rootsAttributes'),_0x91f367=this['_getOperationsFromInitData'](_0x2bc65e,_0x45714b);0x0==_0x91f367['length']&&_0x91f367['push'](new _0x47d7bf(0x0)),_0x4c20fd['return']=this['_connectService'](_0x91f367)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2e439b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2e439b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x346f9f,[_0x285c94,_0x380f30])=>{_0x346f9f['stop']();const _0x4b4399=this['editor']['model']['document']['getRoot'](_0x285c94);if(!this['_knownRootNames']['has'](_0x285c94)){const _0x590fd6=_0x380f30&&_0x380f30['data']?_0x380f30['data']:'',_0x5f3c6a=_0x380f30&&_0x380f30['attributes']?_0x380f30['attributes']:{};await this['_loadRoot'](_0x285c94,_0x590fd6,_0x5f3c6a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4b4399['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4b4399);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xc5d919){const _0x86deec=this['editor']['plugins']['get'](_0x24d756),{connection:_0x4944a9}=this['editor']['plugins']['get'](n),_0x121514=new Set();for(const _0x168cf2 of _0xc5d919){const _0x4bcb21=_0x168cf2['_authorId'];_0x4bcb21&&!_0x86deec['getUser'](_0x4bcb21)&&_0x121514['add'](_0x4bcb21);}if(0x0===_0x121514['size'])return;const _0x1b9e3=await ut['getMany'](_0x4944a9,Array['from'](_0x121514));for(const _0x5e3798 of _0x1b9e3)_0x86deec['getUser'](_0x5e3798['id'])||_0x86deec['addUser'](_0x5e3798);}['_getOperationsFromInitData'](_0xf594c7,_0xeddfc6={}){const _0x53f855=this['editor']['model'],_0x194a7f=[];let _0x481e40=0x0;const _0x164c46='string'==typeof _0xf594c7?{'main':_0xf594c7}:_0xf594c7;for(const _0xa02242 of Object['keys'](_0x164c46)){if(!this['_document']['roots']['has'](_0xa02242))throw new _0x2ba111('realtimecollaborationclient-init-non-existent-root',this);const _0x5a8eb2=this['editor']['data']['parse'](_0x164c46[_0xa02242]),_0x13e7ad=this['_document']['getRoot'](_0xa02242),_0x105f17=new _0x4adff9(_0x53f855['createPositionAt'](_0x13e7ad,0x0),_0x5a8eb2,_0x481e40++);_0x194a7f['push'](_0x105f17);for(const [_0x56a9c8,_0x57eb6c]of _0x5a8eb2['markers']){const _0x2d4da1=_0x53f855['createRange'](_0x53f855['createPositionFromPath'](_0x13e7ad,_0x57eb6c['start']['path']['slice']()),_0x53f855['createPositionFromPath'](_0x13e7ad,_0x57eb6c['end']['path']['slice']())),_0x34cbe5=new _0x4150e4(_0x56a9c8,null,_0x2d4da1,_0x53f855['markers'],!0x0,_0x481e40++);_0x194a7f['push'](_0x34cbe5);}}if(_0xeddfc6)for(const [_0x147320,_0x55f704]of Object['entries'](_0xeddfc6)){const _0x583a61=_0x53f855['document']['getRoot'](_0x147320);if(!_0x583a61)throw new _0x2ba111('multi-root-editor-root-attributes-no-root',null);for(const [_0x2c3040,_0x320358]of Object['entries'](_0x55f704))if(null!==_0x320358){const _0x5292f8=new _0x440fd6(_0x583a61,_0x2c3040,null,_0x320358,_0x481e40++);_0x194a7f['push'](_0x5292f8);}}return _0x194a7f;}async['_loadRoot'](_0x2c3d53,_0x188d3f,_0x2c174a){this['_getOperationsFromInitData']({[_0x2c3d53]:_0x188d3f},{[_0x2c3d53]:_0x2c174a})['forEach']((_0x267533,_0x2ba4a4)=>{_0x267533['baseVersion']=this['_document']['version']+_0x2ba4a4,_0x267533['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x267533);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3955f0,_0x326dc9){let _0x5e23e4;this['_offset']=_0x3955f0['offset'];const _0x15aa96=_0x3955f0['wereChangesApplied']&&!_0x3955f0['initData'],_0x2bf04e=_0x15aa96?0x0:_0x3955f0['data']['baseVersion'];if(_0x326dc9['forEach'](_0x5b5872=>{_0x5b5872['_isInit']=!0x0,_0x5b5872['createdAt']=_0x3955f0['sessionCreatedAt'],_0x5b5872['_authorId']=null;}),_0x15aa96)_0x5e23e4=_0x326dc9,this['_applyOperationsSet'](_0x5e23e4,_0x15aa96);else{if(_0x3955f0['initData']){const _0x54127d=this['_getOperationsFromInitData'](_0x3955f0['initData']);this['_document']['history']['version']=-_0x54127d['length'],_0x54127d['forEach'](_0x2205f1=>{_0x2205f1['baseVersion']-=_0x54127d['length'],_0x2205f1['createdAt']=_0x3955f0['sessionCreatedAt'],_0x2205f1['_isInit']=!0x0,_0x2205f1['_authorId']=null;}),this['_applyOperationsSet'](_0x54127d,!0x0),this['serverHistory']['version']=-_0x54127d['length']+this['_offset'],this['_updateServerHistory'](_0x54127d);}this['_document']['history']['version']=_0x2bf04e,_0x5e23e4=this['_decompressOperations'](_0x3955f0['data'],_0x3955f0['metadata']),await this['_fetchMissingUsers'](_0x5e23e4),this['_applyOperationsSet'](_0x5e23e4,_0x15aa96);}_0x3955f0['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5e23e4,_0x3955f0['lastOperationId']),this['_lastSyncedOperationId']=_0x3955f0['lastOperationId']),this['serverHistory']['version']=_0x2bf04e+this['_offset'],this['_updateServerHistory'](_0x5e23e4),_0x326dc9['filter'](_0x5034e2=>{const _0x584323=this['_getAffectedRoot'](_0x5034e2);return _0x584323&&!this['_knownRootNames']['has'](_0x584323);})['forEach']((_0x1b30bf,_0x534c1b)=>{_0x1b30bf['baseVersion']=this['_document']['version']+_0x534c1b,this['_saveOperationInBuffer'](_0x1b30bf);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa9d97c,_0x3d8700){const _0x52862e=_0x3d8700&&_0x3d8700['message'];if(_0x52862e&&_0x52862e['startsWith']('realtimecollaborationclient'))throw _0x3d8700;const _0x416dc1=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x416dc1['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2ba111(_0xa9d97c,this['editor'],_0x52862e?{'originalError':_0x52862e}:void 0x0);}['_saveOperationInBuffer'](_0x4bce85){this['_knownOperations']['has'](_0x4bce85)||(this['_knownOperations']['add'](_0x4bce85),this['_bufferedOperations']['push'](_0x4bce85),this['_pendingAction']||'marker'==_0x4bce85['type']&&!_0x4bce85['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x55ad2b=!0x1){!_0x55ad2b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x50f5be=>{_0x50f5be&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2bf18a=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x462e88){return _0x462e88['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x462e88['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x462e88['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2bf18a)||this['_crash'](_0x2bf18a['message'],_0x2bf18a);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2fe34f=>{this['on']('change:_isPendingUpdate',()=>{_0x2fe34f();});});}async['_sendBufferedOperations'](){const _0x2b6672=this['editor']['plugins']['get'](k);if(this['_shouldSendSelectionUpdate']()&&(_0x2b6672['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2a4e6c=[...this['_bufferedOperations']];for(const _0x432442 of _0x2a4e6c)_0x432442['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x432442);const _0x543c72=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2a4e6c),_0x3963ba=j++,_0x12a3f9=this['_compressOperations'](_0x2a4e6c),_0x381aee=await this['_service']['sendOperations'](_0x12a3f9,_0x12a3f9['baseVersion'],_0x543c72);try{return await this['_handleServerResponse'](_0x2a4e6c,_0x381aee,_0x3963ba);}catch(_0x52251f){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x52251f);}}async['_handleServerResponse'](_0x4c5e0c,_0x391e41,_0x43eeb5){if('error'in _0x391e41)throw _0x391e41['error'];let _0x443a84=!0x1;if(_0x391e41['wereChangesApplied']){_0x391e41['lastOperationId']&&(this['_lastSyncedOperationId']=_0x391e41['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xfa946b=>!_0x4c5e0c['includes'](_0xfa946b));for(const _0x5f0b95 of _0x4c5e0c)_0x5f0b95['createdAt']='lastOperationAcceptedAt'in _0x391e41&&_0x391e41['lastOperationAcceptedAt']||void 0x0;P(_0x4c5e0c,_0x391e41['version']-_0x4c5e0c['length']),this['_updateServerHistory'](_0x4c5e0c);const _0x2de88e=_0x4c5e0c['filter'](_0x599c2d=>{if(!_0x599c2d['_isInit'])return!0x1;const _0x4e3880=this['_getAffectedRoot'](_0x599c2d);return _0x4e3880&&!this['_knownRootNames']['has'](_0x4e3880);});P(_0x2de88e,this['_document']['version']),this['_applyOperationsSet'](_0x2de88e),_0x443a84=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5d43fd=this['_decompressOperations'](_0x391e41['data'],_0x391e41['metadata'])['filter'](_0x4333ad=>_0x4333ad['baseVersion']>=this['_lastServerVersion']);_0x5d43fd['forEach'](_0x54cb96=>this['_addKnownRoot'](_0x54cb96)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x10280d=>!_0x10280d['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x10280d))),this['_bufferedOperations']['length']&&P(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5d43fd),_0x443a84=this['_handleExternalOperations'](_0x5d43fd,_0x391e41['version'],_0x391e41['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x443a84?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4221a3,_0x2b6dfd,_0x1e0628){try{const _0x275f02={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x190d45,operationsB:_0x151b40,originalOperations:_0x590e7f}=_0x3419a3(_0x4221a3,this['_bufferedOperations'],_0x275f02);P(_0x190d45,this['_document']['version']),P(_0x151b40,_0x2b6dfd);for(const _0x34fba7 of _0x190d45){const _0x1ec3b4=_0x590e7f['get'](_0x34fba7);_0x34fba7['_authorId']=_0x1ec3b4?_0x1ec3b4['_authorId']:null;}_0x1e0628&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4221a3,_0x1e0628),this['_lastSyncedOperationId']=_0x1e0628),this['_bufferedOperations']=[..._0x151b40],this['_applyOperationsSet'](_0x190d45),this['_updateServerHistory'](_0x4221a3);}catch(_0xefb654){return console['error'](_0xefb654),!0x1;}return!0x0;}['_applyOperationsSet'](_0x39c704,_0x4dda2e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x496bd1=>{for(const _0xea48c8 of _0x39c704)this['_knownOperations']['add'](_0xea48c8),this['_addKnownRoot'](_0xea48c8),_0x496bd1['batch']['addOperation'](_0xea48c8),this['editor']['model']['applyOperation'](_0xea48c8);});}['_addKnownRoot'](_0x24e483){const _0x279b54=this['_getAffectedRoot'](_0x24e483);_0x279b54&&this['_knownRootNames']['add'](_0x279b54);}['_getAffectedRoot'](_0x1ff718){let _0x174001,_0xc4c32a;switch(_0x1ff718['type']){case'insert':_0x174001=_0x1ff718['position']['root'];break;case'marker':if(_0xc4c32a=_0x1ff718['newRange'],!_0xc4c32a)return null;_0x174001=_0xc4c32a['root'];break;case'addRootAttribute':_0x174001=_0x1ff718['root'];break;case'addRoot':_0x174001=_0x1ff718['affectedSelectable'];break;case'move':_0x174001=_0x1ff718['targetPosition']['root'];break;default:return null;}return _0x174001['rootName'];}['_updateServerHistory'](_0x387e36){_0x387e36['forEach'](_0x159898=>{const _0x168ce0=_0x159898['clone']();_0x168ce0['_authorId']=_0x159898['_authorId'],_0x168ce0['_isInit']=!!_0x159898['_isInit'],_0x168ce0['createdAt']=_0x159898['createdAt'],_0x168ce0['baseVersion']+=this['_offset'],_0x159898['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x168ce0),this['serverHistory']['addOperation'](_0x168ce0);});}['_handleReconnectionError'](_0x2f1f6a){const _0x27dd9a=this['editor']['plugins']['get']('Notification'),_0x248731=this['editor']['locale'];_0x2f1f6a||(_0x2f1f6a=T(_0x248731,'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.')),_0x27dd9a['showWarning'](_0x2f1f6a,{'title':T(_0x248731,'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'](_0x19f13a)['add'](T(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x19f13a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x520c2a){const _0x4d3314=_0x520c2a['map'](_0x5672a1=>_0x5672a1['toJSON']());return this['_compressor']['compress'](_0x4d3314);}['_decompressOperations'](_0x4f6293,_0x2646f8){return this['_compressor']['decompress'](_0x4f6293)['map']((_0x2cf774,_0x3fb4ce)=>{const _0x374791='init'==_0x2646f8[_0x3fb4ce]['type'];if('InsertOperation'==_0x2cf774['__className']){const _0x35c14a=_0x2cf774['position']['root'];!this['_document']['getRoot'](_0x35c14a)&&(this['_document']['createRoot']('$root',_0x35c14a)['_isAttached']=!0x1);}const _0x4b8380=_0x1b106d['fromJSON'](_0x2cf774,this['_document']);return _0x4b8380['wasUndone']=_0x2cf774['wasUndone'],_0x4b8380['_isInit']=_0x374791,_0x4b8380['_authorId']=_0x374791?null:_0x2646f8[_0x3fb4ce]['userId'],_0x4b8380['_isDisconnection']='cs:removeUser'===_0x2646f8[_0x3fb4ce]['type'],_0x4b8380['createdAt']=_0x2646f8[_0x3fb4ce]['createdAt'],_0x4b8380;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5c75b1=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5c75b1&&_0x5c75b1['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class D extends Error{}function P(_0x480e41,_0x53f049){for(const _0x3c1f5d of _0x480e41)_0x3c1f5d['baseVersion']=_0x53f049++;}class U{['_ignoredOperations'];['_operationToId'];constructor(_0x97b04d){this['_ignoredOperations']=_0x97b04d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4ac435){let _0x5ed521=_0x4ac435['length'];for(;_0x5ed521--;){const _0x297937=_0x4ac435[_0x5ed521];if(!this['_ignoredOperations']['has'](_0x297937)){if(!this['_operationToId']['has'](_0x297937)){const _0x3b4a85=_0x279525()['slice'](0x1,0x12);this['_operationToId']['set'](_0x297937,_0x3b4a85);}return this['_operationToId']['get'](_0x297937);}}}['setIdForTheLastOperation'](_0x4eb705,_0x912366){if(!_0x912366)return;let _0x30c2f5=_0x4eb705['length'];for(;_0x30c2f5--;){const _0xc88b08=_0x4eb705[_0x30c2f5];this['_ignoredOperations']['has'](_0xc88b08)||this['_operationToId']['set'](_0xc88b08,_0x912366);}}}class a extends _0x111504{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x49081f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>et)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x24d756];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x313a67){super(_0x313a67),this['_services']=new Map();}async['init'](){const _0x418f00=this['context'],_0x4bf26e=_0x418f00['plugins']['get']('CommentsRepository');if(_0x418f00['plugins']['get'](n)['addToReconnectionStack'](this),_0x4bf26e['adapter']={'addCommentThread':async({channelId:_0x17a47b,threadId:_0x4a8c78,comments:_0x128e1a,resolvedAt:_0x5b773d,resolvedBy:_0x18089f,context:_0x17cb30,attributes:_0x49dca9})=>{const _0x5ab87e=await this['_getService'](_0x17a47b)['addCommentThread']({'commentThreadId':_0x4a8c78,'comments':_0x128e1a['map'](_0x58cd0f=>function(_0xfd9e71,_0x4cc4a6,_0x19de73){return{'commentThreadId':_0x19de73,'commentId':_0xfd9e71['commentId'],'userId':_0xfd9e71['authorId'],'content':_0xfd9e71['content'],'documentId':_0x4cc4a6,'createdAt':_0xfd9e71['createdAt'],'attributes':_0xfd9e71['attributes']||{}};}(_0x58cd0f,_0x17a47b,_0x4a8c78)),'resolvedAt':_0x5b773d,'resolvedBy':_0x18089f,'context':_0x17cb30,'attributes':_0x49dca9})['catch'](ft);return{'threadId':_0x5ab87e['commentThreadId'],'comments':_0x5ab87e['comments']};},'getCommentThread':async({channelId:_0x52d2e8,threadId:_0x1b9d0d})=>{const _0x1320a7=await this['_getService'](_0x52d2e8)['getCommentThread'](_0x1b9d0d)['catch'](ot)['catch'](ft);return _0x1320a7?_0x1320a7['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1320a7]),{'threadId':_0x1320a7['commentThreadId'],'comments':_0x1320a7['comments']['map'](st),'context':_0x1320a7['context'],'resolvedAt':_0x1320a7['resolvedAt'],'resolvedBy':_0x1320a7['resolvedBy'],'attributes':_0x1320a7['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x446e65,threadId:_0x5a87b1,context:_0x5240af,unlinkedAt:_0xb6b19e,attributes:_0x50dcf3})=>this['_getService'](_0x446e65)['updateCommentThread']({'commentThreadId':_0x5a87b1,'context':_0x5240af,'attributes':_0x50dcf3,'unlinkedAt':_0xb6b19e})['catch'](ot)['catch'](ft),'resolveCommentThread':async({channelId:_0x56016a,threadId:_0x1940c5})=>{const _0xb8c4a7=await this['_getService'](_0x56016a)['resolveCommentThread'](_0x1940c5)['catch'](ot)['catch'](ft);return{'threadId':_0xb8c4a7['commentThreadId'],'resolvedAt':_0xb8c4a7['resolvedAt'],'resolvedBy':_0xb8c4a7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2b0a96,threadId:_0x52e9a9})=>this['_getService'](_0x2b0a96)['reopenCommentThread'](_0x52e9a9)['catch'](ot)['catch'](ft),'removeCommentThread':({channelId:_0x1a2345,threadId:_0x5eb3f1})=>this['_getService'](_0x1a2345)['removeCommentThread'](_0x5eb3f1)['catch'](ot)['catch'](ft),'addComment':({channelId:_0x4e0a47,threadId:_0x50f1fc,commentId:_0x57bb4f,content:_0x1c98db,attributes:_0x576c20})=>this['_getService'](_0x4e0a47)['addComment'](_0x50f1fc,_0x57bb4f,_0x1c98db,_0x576c20)['catch'](ft),'updateComment':({channelId:_0x311688,threadId:_0x31c414,commentId:_0x3c00cb,content:_0xd02822,attributes:_0x55208c})=>this['_getService'](_0x311688)['updateComment'](_0x31c414,_0x3c00cb,_0xd02822,_0x55208c)['catch'](ot)['catch'](ft),'removeComment':({channelId:_0x46f94e,threadId:_0xfa8357,commentId:_0x5d8efe})=>this['_getService'](_0x46f94e)['removeComment'](_0xfa8357,_0x5d8efe)['catch'](ot)['catch'](ft)},_0x418f00 instanceof tt){const _0x3720ab=_0x418f00['config']['get']('collaboration.channelId'),_0x1bc181=_0x418f00['plugins']['get'](i);await this['_setUpService'](_0x3720ab);const _0x219dae=await this['_services']['get'](_0x3720ab)['getConnectedSessions']();this['listenTo'](_0x1bc181,'sessionAdd:'+_0x3720ab,(_0x4f7291,{session:_0xde6165})=>{_0xde6165['id']===_0x1bc181['mySessionId']&&(_0x4f7291['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xde6165['permissions'],_0x3720ab));}),_0x1bc181['register'](_0x3720ab,_0x219dae);}}async['_setUpService'](_0x19dc87){if(this['_services']['has'](_0x19dc87))throw new _0x2ba111('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x19dc87});const _0x4a7d77=this['context']['plugins']['get']('CommentsRepository'),_0x1c3c68=new s['CommentsService'](_0x19dc87);this['_services']['set'](_0x19dc87,_0x1c3c68),this['listenTo'](_0x1c3c68,'commentThreadAdded',(_0x34af4c,_0x8eed0f)=>{const {commentThreadId:_0x3f148b,documentId:_0x13d715,context:_0x7bafc8,attributes:_0x372c4b,resolvedAt:_0x116075,resolvedBy:_0x4e1328,comments:_0x1be7ab}=_0x8eed0f;_0x4a7d77['getCommentThread'](_0x3f148b)||_0x4a7d77['addCommentThread']({'threadId':_0x3f148b,'channelId':_0x13d715,'comments':_0x1be7ab?_0x1be7ab['map'](st):[],'context':_0x7bafc8,'attributes':_0x372c4b,'resolvedAt':_0x116075,'resolvedBy':_0x4e1328,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadUpdated',(_0x536d14,{commentThreadId:_0x22a187,documentId:_0xcff593,context:_0x16928a,unlinkedAt:_0x49987d,attributes:_0x2625d7})=>{_0x4a7d77['getCommentThread'](_0x22a187)&&_0x4a7d77['updateCommentThread']({'threadId':_0x22a187,'channelId':_0xcff593,'context':_0x16928a,'unlinkedAt':_0x49987d,'attributes':_0x2625d7,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadResolved',(_0x1b937a,{commentThreadId:_0x3650b1,resolvedBy:_0xc0f57a,resolvedAt:_0x19c921})=>{const _0x470213=_0x4a7d77['getCommentThread'](_0x3650b1);_0x470213&&_0x470213['resolve']({'resolvedBy':_0xc0f57a,'resolvedAt':_0x19c921,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadReopened',(_0x28a191,{commentThreadId:_0x1fff19})=>{const _0x1fe679=_0x4a7d77['getCommentThread'](_0x1fff19);_0x1fe679&&_0x1fe679['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadRemoved',(_0x1a7c2a,{commentThreadId:_0x2a7182})=>{const _0x62b51=_0x4a7d77['getCommentThread'](_0x2a7182);_0x62b51&&_0x62b51['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentAdded',(_0xe56c00,_0x533e3f)=>{const _0xe71b09=_0x533e3f['commentThreadId'],_0xb117d6=_0x4a7d77['getCommentThread'](_0xe71b09);_0xb117d6&&_0xb117d6['addComment']({...st(_0x533e3f),'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentUpdated',(_0x226085,{commentThreadId:_0x26caf8,commentId:_0x5d1ab0,content:_0x1752ec,attributes:_0x4d0c61})=>{const _0x46c4e4=_0x4a7d77['getCommentThread'](_0x26caf8);if(_0x46c4e4){const _0x4be603=_0x46c4e4['getComment'](_0x5d1ab0);_0x4be603&&_0x4be603['update']({'content':_0x1752ec,'attributes':_0x4d0c61,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1c3c68,'commentRemoved',(_0x4646dc,{commentThreadId:_0x397f9b,commentId:_0x16b857})=>{const _0x3760c8=_0x4a7d77['getCommentThread'](_0x397f9b);if(_0x3760c8){const _0x2f94f8=_0x3760c8['getComment'](_0x16b857);_0x2f94f8&&_0x2f94f8['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x19dc87);}['destroy'](){if(this['context']instanceof tt){const _0x1372f1=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1372f1);}}['_terminateService'](_0x419a2b){if(!this['_services']['has'](_0x419a2b))throw new _0x2ba111('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x419a2b});this['_getService'](_0x419a2b)['disconnect'](),this['_services']['delete'](_0x419a2b);}async['reconnect'](){for(const _0x24f701 of this['_services']['keys']())await this['_connectService'](_0x24f701);if(this['context']instanceof tt){const _0xa2908b=this['context']['config']['get']('collaboration.channelId'),_0x5afc15=this['context']['plugins']['get'](i);_0x5afc15['unregister'](_0xa2908b);const _0xc470c9=await this['_services']['get'](_0xa2908b)['getConnectedSessions']();_0x5afc15['register'](_0xa2908b,_0xc470c9);}}async['_connectService'](_0x494201){const {connection:_0x197deb}=this['context']['plugins']['get'](n),_0x2381bd=this['context']['plugins']['get']('CommentsRepository'),_0x243a14=this['_services']['get'](_0x494201),_0x38eab7=await _0x243a14['connect'](_0x197deb);await this['_fetchMissingUsersForThreads'](_0x38eab7);const _0x1d3831=new Set(Array['from'](_0x2381bd['getCommentThreads']({'channelId':_0x494201}),_0x139921=>_0x139921['id']));for(const _0x655b58 of _0x38eab7)_0x655b58['deletedAt']||_0x1d3831['delete'](_0x655b58['commentThreadId']);for(const _0x43d940 of _0x1d3831)_0x2381bd['getCommentThread'](_0x43d940)['remove']({'isFromAdapter':!0x0});for(const _0x5a53f3 of _0x38eab7){let _0xc3442a=_0x2381bd['getCommentThread'](_0x5a53f3['commentThreadId']);const {commentThreadId:_0x4f201f,context:_0x57a5b0,attributes:_0x9a9b48,resolvedBy:_0x53bb84,resolvedAt:_0x15e2bc,unlinkedAt:_0x3ad86b,deletedAt:_0x15f9d4}=_0x5a53f3;if(_0x15f9d4)continue;_0xc3442a||(_0xc3442a=_0x2381bd['addCommentThread']({'channelId':_0x494201,'threadId':_0x4f201f,'context':_0x57a5b0,'attributes':_0x9a9b48||{},'resolvedBy':_0x53bb84,'resolvedAt':_0x15e2bc,'unlinkedAt':_0x3ad86b,'isFromAdapter':!0x0}));const _0x5c28e6=new Set(Array['from'](_0xc3442a['comments'],_0x8fcc86=>_0x8fcc86['id']));for(const _0x143e8e of _0x5a53f3['comments'])_0x5c28e6['delete'](_0x143e8e['commentId']);for(const _0x5d3be7 of _0x5c28e6)_0xc3442a['getComment'](_0x5d3be7)['remove']({'isFromAdapter':!0x0});for(const _0x4861ff of _0x5a53f3['comments']){const _0x440434=_0xc3442a['getComment'](_0x4861ff['commentId']);_0x440434?_0x440434['content']!==_0x4861ff['content']&&_0x440434['update']({'content':_0x4861ff['content'],'isFromAdapter':!0x0}):_0xc3442a['addComment'](Object['assign'](st(_0x4861ff),{'isFromAdapter':!0x0}));}}}['_getService'](_0xd8db0){if(!this['_services']['has'](_0xd8db0))throw new _0x2ba111('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xd8db0});return this['_services']['get'](_0xd8db0);}async['_fetchMissingUsersForThreads'](_0x41ae9b){const _0x27c6c3=this['context']['plugins']['get'](_0x24d756),{connection:_0x2f5963}=this['context']['plugins']['get'](n),_0x3051d9=new Set();for(const {resolvedBy:_0x4cd093,comments:_0x3f6105}of _0x41ae9b){_0x4cd093&&!_0x27c6c3['getUser'](_0x4cd093)&&_0x3051d9['add'](_0x4cd093);for(const {userId:_0x583350}of _0x3f6105)_0x27c6c3['getUser'](_0x583350)||_0x3051d9['add'](_0x583350);}if(0x0===_0x3051d9['size'])return;const _0x2f9f66=await ut['getMany'](_0x2f5963,Array['from'](_0x3051d9));for(const _0x304dfe of _0x2f9f66)_0x27c6c3['getUser'](_0x304dfe['id'])||_0x27c6c3['addUser'](_0x304dfe);}}async function ot(_0xfd7935){if('404'!==_0xfd7935['code'])throw _0xfd7935;}function ft(_0xd61ec7){if((_0x2dd33c=_0xd61ec7)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2dd33c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dd33c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2dd33c;throw _0xd61ec7;}function st(_0x19d1c){return{'threadId':_0x19d1c['commentThreadId'],'commentId':_0x19d1c['commentId'],'content':_0x19d1c['content'],'createdAt':_0x19d1c['createdAt'],'authorId':_0x19d1c['userId'],'attributes':_0x19d1c['attributes']||{}};}class m extends _0x111504{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(_0x679f2f){super(_0x679f2f);const _0x3016be=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3016be);}['init'](){const _0x5c1794=this['editor']['plugins']['get'](n),_0x340bac=this['editor']['plugins']['get']('TrackChangesEditing');return _0x340bac['adapter']={'getSuggestion':async _0x214639=>{await this['_waitForServiceReady']();const _0x24bad2=await this['_trackChangesService']['get'](_0x214639)['catch'](nt);return await this['_fetchMissingUsersForThreads']([_0x24bad2]),_0x24bad2;},'addSuggestion':async({id:_0x3aca00,type:_0x136903,data:_0x1c6962,originalSuggestionId:_0x48dd55,attributes:_0x1fa872})=>{await this['_waitForServiceReady']();const _0x1b068d={'id':_0x3aca00,'type':_0x136903,'data':_0x1c6962,'originalSuggestionId':_0x48dd55,'attributes':_0x1fa872},_0x5c6913=await this['_trackChangesService']['add'](_0x3aca00,_0x136903,_0x1c6962,_0x48dd55,_0x1fa872)['catch'](_0x192efa=>{if(mt(_0x192efa))return new Promise(_0x1cfe86=>{this['_bufferedRequests']['set'](_0x3aca00,{'resolve':_0x1cfe86,'suggestionData':_0x1b068d});});throw _0x192efa;});return this['_bufferedRequests']['delete'](_0x3aca00),_0x5c6913;},'updateSuggestion':async(_0x58e5ae,_0x3db141)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3db141['state'])return this['_trackChangesService']['update'](_0x58e5ae,_0x3db141)['catch'](nt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5cfa54,_0x432d97)=>{_0x340bac['hasSuggestion'](_0x432d97['id'])&&(_0x340bac['getSuggestion'](_0x432d97['id'])['attributes']=_0x432d97['attributes']);}),this['_trackChangesService']['connect'](_0x5c1794['connection'])['then'](_0x57447a=>(_0x5c1794['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x57447a)['then'](()=>{for(const _0x1ecda of _0x57447a){_0x340bac['addSuggestionData'](_0x1ecda)['_saved']=!0x0;}})));}async['reconnect'](){const _0x36d131=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3468f9}=this['editor']['plugins']['get'](n),_0x42ac23=await this['_trackChangesService']['connect'](_0x3468f9);await this['_fetchMissingUsersForThreads'](_0x42ac23);for(const {suggestionData:_0x1657f9,resolve:_0x490124}of this['_bufferedRequests']['values']()){let _0x34f444=_0x42ac23['find'](_0x4c9a77=>_0x4c9a77['id']===_0x1657f9['id']);_0x34f444||(_0x34f444=await this['_trackChangesService']['add'](_0x1657f9['id'],_0x1657f9['type'],_0x1657f9['data'],_0x1657f9['originalSuggestionId'])),_0x490124(_0x34f444);}for(const _0x3958e1 of _0x42ac23)_0x36d131['hasSuggestion'](_0x3958e1['id'])||_0x36d131['addSuggestionData'](_0x3958e1);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x27515d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x34761d=>{_0x34761d['off'](),_0x27515d();});});}async['_fetchMissingUsersForThreads'](_0x405180){const _0x3fb34c=this['editor']['plugins']['get'](_0x24d756),{connection:_0xb0b811}=this['editor']['plugins']['get'](n),_0x1df4df=new Set();for(const {authorId:_0x39a81d}of _0x405180)_0x3fb34c['getUser'](_0x39a81d)||_0x1df4df['add'](_0x39a81d);if(0x0===_0x1df4df['size'])return;const _0x291555=await ut['getMany'](_0xb0b811,Array['from'](_0x1df4df));for(const _0x23e87d of _0x291555)_0x3fb34c['getUser'](_0x23e87d['id'])||_0x3fb34c['addUser'](_0x23e87d);}}function nt(_0x4c860b){if(mt(_0x4c860b))return new Promise(()=>{});throw _0x4c860b;}function mt(_0xa49576){return _0xa49576['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa49576['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x111504{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 _0x568425=this['editor']['plugins']['get'](n),_0x113ac8=this['editor']['plugins']['get']('CommentsEditing'),_0x56115a=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x568425,'change:state',(_0x1bf4d5,_0x15b69e,_0x550afb)=>{_0x113ac8['isThreadsLoadingPaused']='connected'!==_0x550afb;});}),this['listenTo'](_0x568425,'change:state',(_0x2538b4,_0x129e58,_0x121de1)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x121de1);}),_0x56115a['_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 _0x111504{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 _0x111504{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x439566)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x24d756];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x35e39d){super(_0x35e39d);const _0x5a95d6=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5a95d6);}async['init'](){const _0x4aeaa9=this['editor']['plugins']['get'](l),_0x5c6fc2=_0x4aeaa9['serverHistory'],_0x3dde5d=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x5c6fc2,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4aeaa9['sessionId']});const _0x4de0e1=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x235505=await _0x47cbe4['isBundleUploaded'](_0x3dde5d['connection'],_0x4de0e1);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x282be5})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x282be5)),'updateRevisions':async _0x4b68a9=>{await this['_waitForServiceReady']();const _0xd23488=this['_revisionTracker']['currentRevision'];if(_0x235505&&0x1===_0x4b68a9['length']&&_0x4b68a9[0x0]['id']===_0xd23488['id'])return _0x4b68a9;for(const _0x952fd6 of _0x4b68a9)_0x952fd6['id']===_0xd23488['id']&&(_0x952fd6['isEmptyCurrent']=_0x952fd6['fromVersion']===_0x952fd6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4b68a9,this['_lastRequestId'])['then'](_0x41f0c9=>(this['_lastRequestId']=_0x41f0c9,_0x4b68a9))['catch'](_0x5d14db=>{if(L(_0x5d14db)||'400'===_0x5d14db['code']&&void 0x0!==_0x5d14db['data']['wrongRequestId']){for(const _0x42d186 of _0x4b68a9){!this['_revisionTracker']['repository']['getRevision'](_0x42d186['id'])||this['_revisionTracker']['_bufferUpdate'](_0x42d186['id'],_0x42d186,!0x1);}if(L(_0x5d14db))throw _0x5d14db;return _0x4b68a9;}throw _0x5d14db;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3e32c0,{revisionsData:_0x1051b7,requestId:_0x4208fe})=>{Math['max'](..._0x1051b7['map'](_0x1f31f3=>_0x1f31f3['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1051b7,_0x4208fe);}):this['_handleRevisionsUpdate'](_0x1051b7,_0x4208fe);});const {revisions:_0x481d2f,requestId:_0x2844cf}=await this['_revisionHistoryService']['connect'](_0x3dde5d['connection']);_0x3dde5d['addToReconnectionStack'](this),this['_lastRequestId']=_0x2844cf,await this['_fetchMissingUsers'](_0x481d2f);for(const _0x308f9c of _0x481d2f)this['_revisionTracker']['addRevisionData'](_0x308f9c);this['listenTo'](_0x4aeaa9,'change:_isConnected',(_0x86a0b8,_0x1c377d,_0x2e136f)=>{_0x2e136f&&(this['_oldOffset']=_0x4aeaa9['_offset'],_0x86a0b8['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3dde5d,'state',_0x484547=>_0x484547===_0x278209['CONNECTED']);}async['reconnect'](){const _0x5d2616=this['editor']['plugins']['get'](n),_0x534bdd=this['editor']['plugins']['get'](l),_0x2d7164=async()=>{const _0x468906=this['_revisionTracker']['currentRevision'],_0x1c9942=_0x468906['id'],_0x588ca7=_0x1c9942!==_0x534bdd['sessionId'];if(_0x588ca7){const _0x26ae16=_0x534bdd['_offset']-this['_oldOffset'],_0x2fad4a=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x468906['toVersion']+_0x26ae16!==_0x2fad4a){const _0x522582=_0x468906['fromVersion']+_0x26ae16,_0x4770f0=this['editor']['plugins']['get'](_0x24d756),_0x47c0c4=this['_revisionTracker']['buildRevisionData']({'revision':_0x468906,'from':_0x522582,'to':_0x2fad4a});_0x47c0c4['id']=_0x468906['id'];const _0x16d91e=_0x47c0c4['authorsIds']['map'](_0x3b3cae=>_0x4770f0['getUser'](_0x3b3cae));_0x468906['_update']({..._0x47c0c4,'authors':_0x16d91e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x468906['id'],_0x47c0c4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2fad4a,(_0x468906['toVersion']===_0x468906['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1c9942)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1c9942),this['_revisionTracker']['_createCurrentRevision'](_0x2fad4a));}const {revisions:_0x2dbd88,requestId:_0x192d33}=await this['_revisionHistoryService']['reconnect'](_0x5d2616['connection'],this['_lastRequestId']);_0x588ca7&&_0x2dbd88['length']>0x0?_0x534bdd['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2dbd88),this['_handleRevisionsUpdate'](_0x2dbd88,_0x192d33),this['_revisionTracker']['sendBufferedUpdates']());};return _0x534bdd['_isConnected']?_0x2d7164():new Promise((_0xf964f5,_0x2ea14c)=>{_0x534bdd['once']('change:_isConnected',()=>{_0x2d7164()['then'](_0xf964f5)['catch'](_0x2ea14c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5855fb=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x513fda=>{_0x513fda['off'](),_0x5855fb();});});}['_getLatestVersionFromServerOperations'](){const _0x597d3c=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3eafad of _0x597d3c)if('marker'!==_0x3eafad['type']||_0x3eafad['affectsData'])return _0x3eafad['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5489e7=this['editor']['plugins']['get'](l);return new Promise(_0x320cd2=>{_0x5489e7['_isPendingUpdate']?_0x5489e7['once']('change:_isPendingUpdate',()=>{_0x320cd2(this['_getLatestVersionFromServerOperations']());}):_0x320cd2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4dcf0a,_0x197a48){const _0x2b782c=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x197a48;for(const _0x52d597 of _0x4dcf0a){const _0x4c4b1b=_0x2b782c['getRevision'](_0x52d597['id']);if(_0x4c4b1b){if((_0x52d597['fromVersion']||_0x52d597['toVersion'])&&(_0x52d597['diffData']=null),_0x4c4b1b===this['_revisionTracker']['currentRevision']){const _0x4aebfe=Math['max'](_0x4c4b1b['toVersion'],_0x52d597['toVersion']),_0x56c1dd=Math['max'](_0x4c4b1b['fromVersion'],_0x52d597['fromVersion']);let _0x17647b;_0x4c4b1b['toVersion']===_0x52d597['toVersion']&&_0x4c4b1b['fromVersion']===_0x52d597['fromVersion']?(_0x17647b=!0x0,this['_preventResendingRevisionData'](_0x52d597)):_0x52d597['toVersion']===_0x4aebfe&&_0x52d597['fromVersion']===_0x56c1dd?_0x17647b=!0x1:(_0x4c4b1b['toVersion']===_0x4aebfe&&_0x4c4b1b['fromVersion']===_0x56c1dd||this['_fixRevision']({'revision':_0x4c4b1b,'from':_0x56c1dd,'to':_0x4aebfe}),_0x17647b=!0x0),_0x17647b&&(delete _0x52d597['fromVersion'],delete _0x52d597['toVersion'],delete _0x52d597['diffData'],delete _0x52d597['createdAt'],delete _0x52d597['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x52d597),this['_preventResendingRevisionData'](_0x52d597);}else this['_revisionTracker']['addRevisionData'](_0x52d597);}const _0x150002=_0x2b782c['getRevisions']();_0x150002['reverse']();for(let _0x5e8bb3=0x0;_0x5e8bb3<_0x150002['length']-0x1;_0x5e8bb3++){const _0x11d8d7=_0x150002[_0x5e8bb3],_0x137338=_0x150002[_0x5e8bb3+0x1];if(_0x11d8d7['fromVersion']<_0x137338['toVersion']){const _0x5e9b3a=_0x137338['toVersion'],_0x267ba8=Math['max'](_0x5e9b3a,_0x11d8d7['toVersion']);this['_fixRevision']({'revision':_0x11d8d7,'from':_0x5e9b3a,'to':_0x267ba8});}}}['_fixRevision']({revision:_0x4a69c2,from:_0x19ad2c,to:_0x43617d}={}){const _0xae0537=this['editor']['plugins']['get'](_0x24d756),_0x38cd51=this['_revisionTracker']['buildRevisionData']({'revision':_0x4a69c2,'from':_0x19ad2c,'to':_0x43617d});_0x38cd51['authors']=_0x38cd51['authorsIds']['map'](_0xed64f9=>_0xae0537['getUser'](_0xed64f9)),_0x4a69c2['_update'](_0x38cd51);}['_preventResendingRevisionData'](_0x20a701){const _0x429932={};_0x429932['id']=_0x20a701['id'];for(const _0x4c61a4 of Object['keys'](_0x20a701))'id'!==_0x4c61a4&&(_0x429932[_0x4c61a4]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x429932['id'],_0x429932,!0x0);}async['_fetchMissingUsers'](_0x2c8121){const _0x5efbbe=this['editor']['plugins']['get'](_0x24d756),{connection:_0x289d85}=this['editor']['plugins']['get'](n),_0x9d219d=new Set();for(const _0x271f35 of _0x2c8121){for(const _0x5e1550 of _0x271f35['authorsIds'])_0x529e0b(_0x5e1550);_0x271f35['creatorId']&&_0x529e0b(_0x271f35['creatorId']);}if(0x0===_0x9d219d['size'])return;const _0x52e580=await ut['getMany'](_0x289d85,Array['from'](_0x9d219d));for(const _0x3c4740 of _0x52e580)_0x5efbbe['getUser'](_0x3c4740['id'])||_0x5efbbe['addUser'](_0x3c4740);function _0x529e0b(_0x1d9ea0){_0x5efbbe['getUser'](_0x1d9ea0)||_0x9d219d['add'](_0x1d9ea0);}}}function L(_0x19f9ef){return _0x19f9ef['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x19f9ef['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x19f9ef['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x111504{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class K extends _0x447871{['_collapseAt'];constructor(_0x2be8fa,_0x224688=0x6){super(_0x2be8fa);const _0x5055fc=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x224688,this['bind']('isHidden')['to'](this,'usersCount',_0x1a0848=>_0x1a0848<_0x224688),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5055fc['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':_0x5055fc['to']('usersCount',_0xbaf484=>'+'+(_0xbaf484-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x447871{['items'];['keystrokes'];constructor(_0x3242a6){super(_0x3242a6);const _0x14f21c=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x100592(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x14f21c['if']('hasPopup'),'aria-expanded':_0x14f21c['to']('isExpanded',_0x12b513=>this['hasPopup']&&String(_0x12b513)),'aria-label':_0x14f21c['to']('hasPopup',_0x85fdb5=>T(_0x3242a6,_0x85fdb5?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x14f21c['to']('hasPopup',_0xd37349=>!!_0xd37349&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x14f21c['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x14f21c['to'](_0x11922a=>{const _0x3533ae=_0x11922a,_0x1f24f9=document['querySelector']('.ck-presence-list__dropdown-list'),_0x19a1c4=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1f24f9?.['contains'](_0x3533ae['relatedTarget'])||_0x19a1c4?.['contains'](_0x3533ae['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0xed07f7,_0x3018f9,_0x346fa5)=>{this['element']&&(_0x346fa5?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 J extends _0x447871{['counterView'];['inlineListView'];constructor(_0x3c1826,_0x125a97=0x6){super(_0x3c1826);const _0x490473=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new K(this['locale'],_0x125a97),this['inlineListView']=new is(_0x3c1826),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xee8ade of this['inlineListView']['items'])_0xee8ade['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',_0x490473['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class Q extends _0x447871{['listWrapperView'];constructor(_0x10c63b,_0x16977f){super(_0x10c63b);const _0x45eee6=this['bindTemplate'];this['listWrapperView']=new wt(_0x10c63b,_0x16977f),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':T(_0x10c63b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x45eee6['to'](_0x59ce90=>{const _0x248209=_0x59ce90,_0x182e11=document['querySelector']('.ck-presence-list__list'),_0x3743ba=document['querySelector']('.ck-balloon-panel_with-arrow');_0x182e11?.['contains'](_0x248209['relatedTarget'])||_0x3743ba?.['contains'](_0x248209['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x211604{constructor(_0x1d1235,_0x3a0669){super(_0x1d1235);const _0x378692=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3a0669?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x378692['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x378692['to']('role'),'aria-label':_0x378692['to']('ariaLabel'),'aria-labelledby':_0x378692['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x23a209['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x26afc2=this['element'];_0x26afc2&&(this['_isScrollable']=Math['max'](_0x26afc2['scrollHeight'],_0x26afc2['clientHeight'])>0.8*window['innerHeight']);}}class X extends rt{['userView'];constructor(_0x1e66fa,_0xe0d604,_0x5b784b){super(_0x1e66fa);const _0x956016=this['bindTemplate'];this['userView']=new ct(_0x1e66fa,_0xe0d604);const _0x346d70={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xe0d604['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xe0d604['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xe0d604['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5b784b&&(_0x346d70['tag']='button',_0x346d70['on']={'click':_0x956016['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x346d70);}['focus'](){this['element']['focus']();}}class Y extends _0x447871{['userView'];['markerView'];constructor(_0xef4c0f,_0x23f359,_0x255259){super(_0xef4c0f);const _0x1ff55f=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0xef4c0f,_0x23f359),this['markerView']=new lt(_0xef4c0f,_0x23f359);const _0x668064=new at(_0xef4c0f);_0x668064['template']['tag']='span',_0x668064['text']=_0x23f359['name'];const _0x4b745a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1ff55f['to']('isFocusable',_0x4407a4=>!!_0x4407a4&&0x0),'aria-labelledby':_0x668064['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1ff55f['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1ff55f['to']('hasTooltip',_0x8912c7=>!_0x8912c7),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x668064]};_0x255259&&(_0x4b745a['tag']='button',_0x4b745a['on']={'click':_0x1ff55f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4b745a);}}class lt extends _0x447871{constructor(_0x40b71f,_0x2a7fe2){super(_0x40b71f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2a7fe2['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const Z={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x49081f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x47edb8){super(_0x47edb8),this['context']['config']['define']('presenceList',Z);const _0x3cff97=_0x47edb8['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3cff97)throw new _0x2ba111('presencelist-collapseat-invalid-format',this);if(_0x3cff97<0x1)throw new _0x2ba111('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4c3fca(),this['balloonPanelView']=new _0x3df348(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x19d47a of this['_allConnectedUsers'])this['_handleUserAdd'](_0x19d47a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x478a5f,_0x104dc4)=>{this['_handleUserAdd'](_0x104dc4);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4ee1fc,_0x227491)=>{this['_handleUserRemove'](_0x227491);});}['_createView'](){const _0xc9141e=this['context'],_0x2141d4=new J(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x2092c9=this['balloonPanelView'];if(!_0x536ad2(_0xc9141e['config']['get']('presenceList.container')))throw new _0x2ba111('presencelist-missing-container',this);return _0x2141d4['counterView']['bind']('usersCount')['to'](this),_0x2141d4['bind']('isCollapsed')['to'](this,'usersCount',_0x3c13f3=>{const {collapseAt:_0x14d910}=_0xc9141e['config']['get']('presenceList'),_0x33370f=_0x3c13f3>=_0x14d910;if(_0x33370f&&!_0x2141d4['inlineListView']['items']['find'](_0x1f264c=>_0x1f264c instanceof K)){const _0x5542e1=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5542e1&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2141d4['inlineListView']['items']['add'](_0x2141d4['counterView']);}return _0x33370f||this['hideDropdown'](),_0x33370f;}),_0x2141d4['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x533a66=>{const _0x5a2e50=_0xc9141e['config']['get']('presenceList'),_0x1c9cd8=new Y(_0xc9141e['locale'],_0x533a66,!!_0x5a2e50['onClick']);return _0x1c9cd8['bind']('hasTooltip')['to'](_0x2141d4,'isCollapsed',_0xd0ba73=>!_0xd0ba73),_0x1c9cd8['bind']('isFocusable')['to'](_0x2141d4,'isCollapsed',_0x5d2b98=>!_0x5d2b98),_0x5a2e50['onClick']&&this['listenTo'](_0x1c9cd8,'execute',()=>{this['view']['isCollapsed']||_0x5a2e50['onClick'](_0x533a66,_0x1c9cd8['element']);}),_0x1c9cd8;}),this['listenTo'](_0x2141d4['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2141d4['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2141d4['inlineListView']['keystrokes']['set']('Enter',(_0x51650f,_0x573fec)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x573fec());}),_0x2141d4['render'](),_0x2092c9['render'](),_0x358832({'emitter':_0x2141d4,'activator':()=>_0x2092c9['isVisible'],'contextElements':[_0x2092c9['element'],_0x2141d4['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xc9141e['config']['get']('presenceList.container')['appendChild'](_0x2141d4['element']),this['_bodyCollection']=new _0x560eda(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2141d4;}['_handleUserAdd'](_0x200828){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x200828['isMe'])return;const _0xa05ac=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xa05ac-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x53f384=_0x200828['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x200828,_0x53f384);}['_handleUserRemove'](_0x114648){this['usersCount']--;const {collapseAt:_0x5b518b}=this['context']['config']['get']('presenceList'),_0x250745=this['usersCount']>=_0x5b518b;if(this['currentDisplayedUsers']['get'](_0x114648['id']))this['currentDisplayedUsers']['remove'](_0x114648['id']);else{if(_0x250745&&this['currentDisplayedUsers']['length']+0x1===_0x5b518b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x250745?0x1:0x0)<this['usersCount']){for(const _0x2e3fd3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2e3fd3['id'])&&(this['currentDisplayedUsers']['add'](_0x2e3fd3,Math['min'](this['currentDisplayedUsers']['length']-(_0x250745?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x250745?0x1:0x0)===_0x5b518b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x412126=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Q(this['context']['locale'],!!_0x412126['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x37fe17}=this['presenceDropdownView'];_0x37fe17['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1b7c27=>{if(!_0x412126['displayMe']&&_0x1b7c27['isMe'])return null;const _0xdc184c=new X(this['context']['locale'],_0x1b7c27,!!_0x412126['onClick']);return _0x412126['onClick']&&this['listenTo'](_0xdc184c,'execute',()=>{_0x412126['onClick'](_0x1b7c27,_0xdc184c['element']);}),_0xdc184c;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x37fe17['focus'](),_0x37fe17['checkIfScrollable']();const _0x5490a2=(_0x333a49,_0x8e94e9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x8e94e9();};_0x37fe17['keystrokes']['set']('Esc',_0x5490a2),_0x37fe17['keystrokes']['set']('Shift+Tab',_0x5490a2),_0x37fe17['keystrokes']['set']('Tab',(_0x49d2cd,_0x3ab043)=>{!function(_0x12a3af){const _0x4ad700=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2a4bef=>_0x2a4bef+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2a4537=[...document['body']['querySelectorAll'](_0x4ad700)]['filter'](_0x11ddb2=>_0x11ddb2===document['activeElement']||_0x11ddb2['offsetWidth']+_0x11ddb2['offsetHeight']>0x0)['sort']((_0x1f8e56,_0x220d4e)=>(_0x1f8e56['tabIndex']||0x0)-(_0x220d4e['tabIndex']||0x0)),_0x2a471c=_0x2a4537['indexOf'](_0x12a3af),_0x58f36d=_0x2a4537[(_0x2a471c+0x1)%_0x2a4537['length']];_0x58f36d&&_0x58f36d['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3ab043();}),_0x37fe17['focusTracker']['add'](this['view']['element']),_0x37fe17['focusTracker']['on']('change:isFocused',(_0x3876d3,_0x58574d,_0x4a3aec)=>{_0x4a3aec||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 _0x49081f{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};