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

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 _0x42e636,Plugin as _0x101618,PendingActions as _0x5b9ce0,Context as _0xe89c7}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x553aa8,CKEditorError as _0x9c1d4e,Collection as _0x4af4f4,global as _0x3b3485,version as nt,uid as _0x1416ae,KeystrokeHandler as _0x135344}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x105111,View as _0x157a15,ListView as _0x13123e,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x3c08a0,clickOutsideHandler as _0x188faf,BodyCollection as _0x4fb312}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x56ac5e,NoOperation as _0x3fd772,InsertOperation as _0x24acca,MarkerOperation as _0x3c5467,RootAttributeOperation as _0x21f95a,transformSets as _0x69da3a,OperationFactory as _0x57cd0a}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x20e191,CollaborativeEditingService as _0x1415a3,User as dt,CommentsService as _0x468d30,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5f0649,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5d48a0}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x185eae}from'es-toolkit/compat';class c extends _0x42e636{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x105111];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x130474){super(_0x130474),this['set']('state',_0x20e191['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x553aa8);}['init'](){const _0x191ebb=this['context'],_0x1382ef=_0x191ebb['plugins']['get']('CloudServices'),_0x3b5a43=_0x191ebb['plugins']['get'](_0x105111);if(!_0x1382ef['token'])throw new _0x9c1d4e('websocketgateway-missing-token',this);if(!_0x1382ef['webSocketUrl'])throw new _0x9c1d4e('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),c['WebSocketGateway']['connect'](_0x1382ef['token'],_0x1382ef['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x7d8d5b=>{if(this['connection']=_0x7d8d5b,this['bind']('state')['to'](_0x7d8d5b,'state',this,'_isBrowserOffline',(_0x126897,_0x2850b5)=>('connected'!==_0x126897&&(this['_shouldPluginsReconnect']=!0x0),_0x2850b5||_0x126897!==_0x20e191['CONNECTED']?_0x20e191['DISCONNECTED']:this['state']==_0x20e191['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x20e191['CONNECTING']):_0x20e191['CONNECTED'])),this['connection']['on']('error',(_0x46f542,_0x3e1986)=>{if('limitExceeded'!==_0x3e1986['code'])throw console['error'](_0x3e1986),new _0x9c1d4e('cloudservices-init',null,{'originalError':_0x3e1986});_0x3b5a43['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'});}),!_0x7d8d5b['me'])return new Promise(_0x10f3f2=>_0x7d8d5b['on']('change:me',_0x10f3f2));})['catch'](_0x4d5229=>{throw console['error'](_0x4d5229),new _0x9c1d4e('cloudservices-init',null,{'originalError':_0x4d5229});});}['addToReconnectionStack'](_0x4fc6c3){if('function'!=typeof _0x4fc6c3['reconnect'])throw new _0x9c1d4e('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4fc6c3))throw new _0x9c1d4e('websocketgateway-plugin-already-registered',this,{'name':_0x4fc6c3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4fc6c3);}['removeFromReconnectionStack'](_0xc3fafd){this['_reconnectionStack']['delete'](_0xc3fafd);}['isInReconnectionStack'](_0x270428){return this['_reconnectionStack']['has'](_0x270428);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x435eac=>_0x435eac['reconnect']())))['then'](()=>this['state']=_0x20e191['CONNECTED'])['catch'](_0x441465=>{throw console['error'](_0x441465),new _0x9c1d4e('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x20e191['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x42e636{['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[c,_0x5f0649];}constructor(_0x1c5e82){super(_0x1c5e82),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4af4f4(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5f0649);}['init'](){const _0x413384=this['context']['plugins']['get'](c);this['listenTo'](_0x413384,'change:state',(_0x39b04b,_0x3ea863,_0x13c81b)=>{if('connected'!==_0x13c81b)this['channelSessions']['forEach'](_0x5903bc=>_0x5903bc['clear']()),this['channelConnectedUsers']['forEach'](_0x3adf62=>_0x3adf62['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3a4e76,_0x1e3d0f]of this['_registeredSessions'])for(const _0x418026 of _0x1e3d0f)this['_handleSessionAdd'](_0x3a4e76,_0x418026);}}),this['_createUser'](_0x413384['connection']['me'],!0x0);}['register'](_0x38a5c7,_0x946696){if(this['_registeredSessions']['has'](_0x38a5c7))throw new _0x9c1d4e('sessions-register-already-registered',null,{'channelId':_0x38a5c7});this['_registeredSessions']['set'](_0x38a5c7,_0x946696),this['channelSessions']['set'](_0x38a5c7,new _0x4af4f4()),this['channelConnectedUsers']['set'](_0x38a5c7,new _0x4af4f4()),this['listenTo'](_0x946696,'add',(_0x4c1a17,_0x5c3944)=>this['_handleSessionAdd'](_0x38a5c7,_0x5c3944)),this['listenTo'](_0x946696,'remove',(_0x10d0ba,_0x4f3a04)=>this['_handleSessionRemove'](_0x38a5c7,_0x4f3a04));for(const _0x473142 of _0x946696)this['_handleSessionAdd'](_0x38a5c7,_0x473142);}['unregister'](_0x25b0dc){if(!this['_registeredSessions']['has'](_0x25b0dc))throw new _0x9c1d4e('sessions-unregister-not-exist',null,{'channelId':_0x25b0dc});const _0x2038db=this['_registeredSessions']['get'](_0x25b0dc);this['stopListening'](_0x2038db);for(const _0x3bdffb of _0x2038db)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x25b0dc,_0x3bdffb);this['_registeredSessions']['delete'](_0x25b0dc),this['channelSessions']['delete'](_0x25b0dc),this['channelConnectedUsers']['delete'](_0x25b0dc);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x231ca0){for(const _0x5c55cc of this['channelSessions']['values']())for(const _0x21a77c of _0x5c55cc)if(_0x21a77c['id']===_0x231ca0)return _0x21a77c['user'];}['getUserSessions'](_0x2c2a13,_0xbf56f6){const _0x53f89e=_0xbf56f6?[this['channelSessions']['get'](_0xbf56f6)]:this['channelSessions']['values'](),_0x1e4888=new Set();for(const _0x3d10d0 of _0x53f89e)for(const _0x44641e of _0x3d10d0)_0x44641e['user']['id']===_0x2c2a13['id']&&_0x1e4888['add'](_0x44641e['id']);return _0x1e4888;}['getUserRole'](_0x2f351e){for(const _0x1569d4 of this['channelSessions']['values']())for(const _0x3d7131 of _0x1569d4)if(_0x3d7131['user']===_0x2f351e)return _0x3d7131['role'];}['_handleSessionAdd'](_0x430ff4,_0x2351b2){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x24171e=_0x2351b2['user'],_0x29092e=this['_users']['getUser'](_0x24171e['id'])||this['_createUser'](_0x24171e),_0x2705a6=Object['assign']({},_0x2351b2,{'user':_0x29092e});this['channelSessions']['get'](_0x430ff4)['add'](_0x2705a6);const _0x40fefb=this['channelConnectedUsers']['get'](_0x430ff4);_0x40fefb['has'](_0x29092e['id'])||_0x40fefb['add'](_0x29092e),this['allConnectedUsers']['has'](_0x29092e['id'])||this['allConnectedUsers']['add'](_0x29092e,_0x29092e['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x430ff4,{'channelId':_0x430ff4,'session':_0x2705a6});}['_handleSessionRemove'](_0x1651e0,_0x45b703){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x134b2f=this['channelConnectedUsers']['get'](_0x1651e0),_0xead3f2=_0x45b703['user'];_0xead3f2['id']&&(this['channelSessions']['get'](_0x1651e0)['remove'](_0x45b703['id']),_0x134b2f['has'](_0xead3f2['id'])&&!this['getUserSessions'](_0xead3f2,_0x1651e0)['size']&&_0x134b2f['remove'](_0xead3f2['id']),this['allConnectedUsers']['get'](_0xead3f2['id'])&&!this['getUserSessions'](_0xead3f2)['size']&&this['allConnectedUsers']['remove'](_0xead3f2['id']));}['_createUser'](_0x51d554,_0x26117b){const _0x16e084=this['_users']['addUser'](_0x51d554);return _0x26117b&&this['_users']['defineMe'](_0x51d554['id']),_0x16e084['orderNumber']=this['_uniqueUsersCount']++,_0x16e084;}}class q extends _0x101618{['_domEmitter']=new(_0x553aa8())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2c0cff=this['editor'],_0x4cc035=_0x2c0cff['plugins']['get'](i);_0x2c0cff['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xb22d7f,{writer:_0x52dd29})=>function(_0x50a946,_0xcfe90b,_0x98d195,_0x43ad38){const _0xf3d45b=_0x50a946['markerName']['split'](':')[0x2],_0x2b510c=_0x98d195['getUserBySessionId'](_0xf3d45b);if(!_0x2b510c||_0xf3d45b===_0x98d195['mySessionId'])return;if(!_0x43ad38['model']['schema']['checkChild'](_0x50a946['markerRange']['start'],'$text'))return;const _0x3f707c={'class':'ck-user__marker\x20'+_0x2b510c['color']['getMarkerClass'](),'data-name':_0x2b510c['name'],'data-session-id':_0xf3d45b},_0x1651d9=_0x43ad38['model']['markers']['get'](_0x50a946['markerName']),_0x6d8519=_0x1651d9['getStart'](),_0x298c17=_0x6d8519['nodeAfter'],_0x29f30b=_0x43ad38['model']['schema'];if(_0x298c17&&_0x29f30b['isObject'](_0x298c17)&&_0x29f30b['isInline'](_0x298c17)&&!_0x43ad38['model']['markers']['get']('user:range:'+_0xf3d45b)['getRange']()['isCollapsed'])return;const _0x3a948a=_0x6d8519['parent'];return _0x43ad38['model']['schema']['isLimit'](_0x3a948a)&&!_0x43ad38['model']['hasContent'](_0x3a948a)&&(_0x3f707c['contenteditable']=!0x1),function(_0x11946b,_0x5403e5,_0x4066aa){const _0x4c591d=_0x11946b['createUIElement']('span',_0x5403e5);return _0x11946b['setCustomProperty']('userPositionMarker',!0x0,_0x4c591d),_0x4c591d['render']=function(_0x440927){const _0x41e6df=this['toDomElement'](_0x440927),_0x2c8b62=document['createElement']('span');return _0x2c8b62['classList']['add']('ck-user__marker-tooltip'),_0x2c8b62['setAttribute']('contenteditable','false'),_0x2c8b62['setAttribute']('spellcheck','false'),_0x2c8b62['textContent']=_0x4066aa['name'],_0x41e6df['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2c8b62['outerHTML']+'⁠',_0x41e6df['addEventListener']('mouseenter',()=>{_0x41e6df['classList']['add']('ck-user__marker_hovered');}),_0x41e6df['addEventListener']('mouseleave',()=>{_0x41e6df['classList']['remove']('ck-user__marker_hovered');}),_0x41e6df;},_0x4c591d['isSimilar']=function(_0x440b8d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x440b8d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x440b8d['getAttribute']('data-session-id'));},_0x4c591d;}(_0xcfe90b,_0x3f707c,_0x2b510c);}(_0xb22d7f,_0x52dd29,_0x4cc035,_0x2c0cff)}),_0x2c0cff['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5cedad=>function(_0x48f994,_0x3010fd){const _0x3c309e=_0x48f994['markerName']['split'](':')[0x2];if(_0x3c309e===_0x3010fd['mySessionId'])return null;const _0x4c011c=_0x3010fd['getUserBySessionId'](_0x3c309e);if(!_0x4c011c)return{'id':_0x3c309e,'classes':[]};return{'id':_0x3c309e,'classes':['ck-user__selection',_0x4c011c['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x3c309e},'priority':0x7d0+_0x4c011c['orderNumber']};}(_0x5cedad,_0x4cc035)}),function(_0x440088){const _0x10902c=_0x440088['model'],_0x2e95e1=new Map(),_0x585ca1=_0x440088['plugins']['get'](i);_0x10902c['markers']['on']('update:user:range',(_0x33b4c2,_0x1e142f,_0x3fd46a,_0x5eda85)=>{if(!_0x5eda85&&_0x2e95e1['get'](_0x1e142f['name']))return _0x2e95e1['get'](_0x1e142f['name'])['detach'](),void _0x2e95e1['delete'](_0x1e142f['name']);const _0x30111b=_0x1e142f['name']['split'](':')[0x2];if(_0x30111b===_0x585ca1['mySessionId'])return;const _0x4bcfae='user:position:'+_0x30111b;_0x10902c['markers']['has'](_0x4bcfae)&&_0x440088['editing']['reconvertMarker'](_0x4bcfae),_0x1e142f['on']('change:range',(_0x428969,_0x1db3c0,_0x392615)=>{if('$graveyard'!=_0x1db3c0['root']['rootName']&&'$graveyard'==_0x1e142f['getRange']()['root']['rootName']&&!_0x2e95e1['has'](_0x1e142f['name'])){const _0x4d72fe=_0x10902c['schema']['getNearestSelectionRange'](_0x392615['deletionPosition']);if(_0x4d72fe){const _0x20cf82=ht['fromRange'](_0x4d72fe);_0x2e95e1['set'](_0x1e142f['name'],_0x20cf82),_0x20cf82['on']('change:range',(_0x1c5e59,_0x538e0c,_0x40d13b)=>{if('$graveyard'==_0x20cf82['root']['rootName']){const _0x132f75=_0x10902c['schema']['getNearestSelectionRange'](_0x40d13b['deletionPosition']);_0x132f75?(_0x20cf82['start']=_0x132f75['start'],_0x20cf82['end']=_0x132f75['end']):(_0x2e95e1['delete'](_0x1e142f['name']),_0x20cf82['detach']());}});}}});}),_0x10902c['document']['on']('change',()=>{_0x2e95e1['size']>0x0&&_0x10902c['enqueueChange']({'isUndoable':!0x1},_0x5a248d=>{for(const [_0x4a629c,_0x22aac2]of _0x2e95e1)'$graveyard'==_0x10902c['markers']['get'](_0x4a629c)['getRange']()['root']['rootName']&&(te(_0x4a629c['split'](':')[0x2],_0x22aac2['toRange'](),_0x10902c,_0x5a248d),_0x22aac2['detach']());_0x2e95e1['clear']();});});}(_0x2c0cff),this['_domEmitter']['listenTo'](_0x3b3485['document'],'keydown',(_0x5d98f9,{key:_0x56d5fd})=>{'Escape'===_0x56d5fd&&function(_0x584869){_0x584869['editing']['view']['change'](_0x2d4788=>{for(const _0x540052 of _0x584869['model']['markers']){if(!_0x540052['name']['startsWith']('user:position'))continue;const _0x4060ea=_0x584869['editing']['mapper']['markerNameToElements'](_0x540052['name']);if(_0x4060ea){for(const _0xdc8de6 of _0x4060ea)_0x2d4788['removeClass']('ck-user__marker_hovered',_0xdc8de6);}}});}(_0x2c0cff);},{'useCapture':!0x0});}['afterInit'](){const _0x3e3c68=this['editor'],_0x174d6c=_0x3e3c68['commands']['get']('undo');_0x174d6c&&_0x3e3c68['model']['on']('applyOperation',(_0x476fe8,_0x2d4bb0)=>{const _0x5c9641=_0x2d4bb0[0x0];if(!_0x5c9641['isDocumentOperation'])return;if('marker'!=_0x5c9641['type']||!_0x5c9641['name']['startsWith']('user:'))return;const _0x598b51=_0x5c9641['batch'];_0x174d6c['_createdBatches']['has'](_0x598b51)&&(_0x5c9641['newRange']=_0x5c9641['oldRange']?_0x3e3c68['model']['createRange'](_0x5c9641['oldRange']['start'],_0x5c9641['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x44ca7d=this['editor'],_0xca30a=_0x44ca7d['model']['document'],_0x5bb0d7=_0x44ca7d['plugins']['get'](i);_0x44ca7d['model']['enqueueChange']({'isUndoable':!0x1},_0x582141=>{const _0x647242='user:range:'+_0x5bb0d7['mySessionId'],_0x24181d='user:position:'+_0x5bb0d7['mySessionId'],_0x1e860b=_0x44ca7d['model']['markers']['has'](_0x647242);_0x44ca7d['editing']['view']['hasDomSelection']?te(_0x5bb0d7['mySessionId'],_0xca30a['selection']['getFirstRange'](),_0x44ca7d['model'],_0x582141):_0x1e860b&&(_0x582141['removeMarker'](_0x647242),_0x582141['removeMarker'](_0x24181d));});}}function te(_0x3bbf31,_0x2c9cf4,_0x2e2f65,_0x2e6d95){const _0x4c53e3='user:range:'+_0x3bbf31,_0x20dcfc='user:position:'+_0x3bbf31,_0x2ba6e9=_0x2c9cf4['getContainedElement']();let _0x5088be=_0x2c9cf4['start'];if(_0x2ba6e9&&_0x2ba6e9['is']('element','tableCell')){const _0x35715b=function(_0x313c75,_0x1f7a6d){for(const _0x1d1ce3 of _0x313c75['getPositions']())if(_0x1f7a6d['schema']['checkChild'](_0x1d1ce3,'$text'))return _0x1d1ce3;}(_0x2c9cf4,_0x2e2f65);_0x35715b&&(_0x5088be=_0x35715b,_0x2c9cf4=_0x2e6d95['createRange'](_0x5088be));}const _0x395f9c=_0x2e6d95['createRange'](_0x5088be);_0x2e2f65['markers']['has'](_0x4c53e3)?(_0x2e6d95['updateMarker'](_0x4c53e3,{'range':_0x2c9cf4}),_0x2e6d95['updateMarker'](_0x20dcfc,{'range':_0x395f9c})):(_0x2e6d95['addMarker'](_0x4c53e3,{'range':_0x2c9cf4,'usingOperation':!0x0}),_0x2e6d95['addMarker'](_0x20dcfc,{'range':_0x395f9c,'usingOperation':!0x0}));}function G(_0x1a7806,_0x505f15,_0x1e4b91){const _0x7bcfe9=_0x1a7806['t'],t=_0x1a7806['t'];switch(_0x505f15){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 _0x7bcfe9({'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'},_0x1e4b91);default:return'';}}let J=0x1;class l extends _0x101618{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x1415a3)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x5b9ce0,_0x5f0649,_0x105111];}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 _0x4adc9f=this['serverHistory']['getOperations']();for(let _0x34879c=_0x4adc9f['length']-0x1;_0x34879c>=0x0;_0x34879c--){const _0x2a8a01=_0x4adc9f[_0x34879c];if(!this['_disconnectionOperations']['has'](_0x2a8a01))return _0x2a8a01['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x16674d){if(super(_0x16674d),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x56ac5e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x9c1d4e('collaboration-missing-channelid',this);const _0x30266a=_0x16674d['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x30266a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5d48a0(),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 Y(this['_disconnectionOperations']);}['init'](){const _0x17b224=this['editor'],_0x59272e=_0x17b224['plugins']['get'](_0x5f0649),_0x477733=_0x17b224['plugins']['get'](c);this['listenTo'](_0x59272e,'getOperationAuthor',(_0x3cedf4,_0x149fd7)=>{const _0x346e38=_0x149fd7[0x0];_0x346e38['_authorId']&&(_0x3cedf4['return']=_0x59272e['getUser'](_0x346e38['_authorId']),_0x3cedf4['stop']()),null===_0x346e38['_authorId']&&(_0x3cedf4['return']=null,_0x3cedf4['stop']());},{'priority':'high'}),this['listenTo'](_0x17b224['model']['document']['selection'],'change:range',(_0x1c4cb3,_0x251c90)=>{_0x251c90['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x17b224['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x17b224['model']['on']('applyOperation',(_0x31dc06,_0x41547d)=>{const _0x5153b6=_0x41547d[0x0];_0x5153b6['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5153b6),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x477733,'state',this,'_hasSynchronizationProblem',(_0x4ae849,_0x38c50a)=>'connected'===_0x4ae849&&!_0x38c50a),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x17b224['disableReadOnlyMode']('rtc-offline'):_0x17b224['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x17b224['disableReadOnlyMode']('rtc-offline'):_0x17b224['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xa70e71=this['editor']['plugins']['get'](i),_0x236f0a=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0xa70e71['unregister'](this['_channelId']);const _0x3ad993=await this['_service']['reconnect'](_0x236f0a['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3ad993)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x53372c=await this['_service']['getConnectedSessions']();_0xa70e71['register'](this['_channelId'],_0x53372c),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2094ed){if(function(_0x2f46e5){return'404'===_0x2f46e5['code'];}(_0x2094ed)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x32d15b){return'409'===_0x32d15b['code'];}(_0x2094ed)){const _0x43861e=G(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'](_0x43861e);}else{if(!(_0x2094ed instanceof Q))throw _0x2094ed;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3af6e7=this['editor']['plugins']['get'](c),_0x317120=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x317120['channelSessions']['has'](this['_channelId'])&&_0x317120['unregister'](this['_channelId']),_0x3af6e7['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x326e57){if(this['sessionId']!==_0x326e57['sessionId']&&this['_lastSyncedOperationId']!==_0x326e57['lastOperationId'])throw new Q();return this['sessionId']=_0x326e57['sessionId'],this['_handleServerResponse']([],{..._0x326e57,'wereChangesApplied':!0x1,'data':_0x326e57['data']},'reconnect');}async['_connectService'](_0x3d0dfc,_0xc6b678=!0x1){const {connection:_0x82a694}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x82a694,this['_channelId'])['then'](_0x17589d=>this['_initSessionsHandling'](_0x17589d))['catch'](_0x50b58c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x50b58c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x995237,_0x3d67b8)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3d67b8);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x419b5b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3d0dfc);this['_isPendingUpdate']=!0x0;const _0x5bdca4=await this['_service']['connect'](_0x82a694,this['_compressOperations'](_0x3d0dfc),_0x419b5b);if(this['sessionId']=_0x5bdca4['sessionId'],_0xc6b678){if(!_0x5bdca4['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5bdca4['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x3d0dfc,_0x5bdca4,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5bdca4,_0x3d0dfc);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xf7a1c5=this['editor']['plugins']['get'](i),_0x4aeb6c=this['editor']['plugins']['get'](q),_0x330ea5=_0xf7a1c5['channelSessions']['get'](this['_channelId']);_0x330ea5&&_0x330ea5['length']>0x1?_0x4aeb6c['createUserMarkerOperations']():this['listenTo'](_0xf7a1c5,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xf7a1c5['channelSessions']['get'](this['_channelId'])['length']&&_0x4aeb6c['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x483bc2,_0x580e6d,_0x5211a9,_0x102abc){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x580e6d){const _0x47fd3f=this['_decompressOperations'](_0x5211a9,_0x102abc);await this['_fetchMissingUsers'](_0x47fd3f),this['_handleExternalOperations'](_0x47fd3f,_0x580e6d,_0x5211a9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x5bb7e4}=this['editor'];let _0x438229;try{_0x438229=await this['_service']['getDocumentDetails']();}catch{const _0x6816b8=G(_0x5bb7e4,'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'](_0x6816b8);}const _0x4b871f=_0x438229['currentDocumentSession']||_0x438229['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4b871f['lastOperationId']){const _0x57a7b9=G(_0x5bb7e4,'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'](_0x57a7b9);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3e2e90){const _0x12b57f=this['editor']['plugins']['get'](i);this['listenTo'](_0x12b57f,'sessionAdd:'+this['_channelId'],(_0x5a9370,{session:_0x21f776})=>{if(_0x21f776['id']===_0x12b57f['mySessionId']){_0x5a9370['off']();const _0xc18cc=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x131de3=_0x21f776['permissions'];_0xc18cc&&_0xc18cc['isEnabled']&&(_0x131de3=_0x131de3['filter'](_0x1da6c5=>'document:write'!==_0x1da6c5)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x131de3,this['_channelId']);}}),_0x12b57f['register'](this['_channelId'],_0x3e2e90);}['_initThrowingOnDataSet'](){const _0x110a9b=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x26c8fc)=>{if(!_0x26c8fc[_0x26c8fc['length']-0x1]['suppressErrorInCollaboration'])throw new _0x9c1d4e('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x110a9b['apply'](this['editor']['data'],_0x26c8fc);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x57b875,[_0x452991])=>{if(this['_document']['version'])throw new _0x9c1d4e('realtimecollaborationclient-init-document-already-initialized',this);_0x57b875['stop'](),this['_setPendingAction']();const _0x5ebe26=this['editor']['config']['get']('rootsAttributes'),_0x1cbee4=this['_getOperationsFromInitData'](_0x452991,_0x5ebe26);0x0==_0x1cbee4['length']&&_0x1cbee4['push'](new _0x3fd772(0x0)),_0x57b875['return']=this['_connectService'](_0x1cbee4)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x8f70eb=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x8f70eb))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x510813,[_0x144b19,_0x5d00ff])=>{_0x510813['stop']();const _0x29b0ca=this['editor']['model']['document']['getRoot'](_0x144b19);if(!this['_knownRootNames']['has'](_0x144b19)){const _0x34a0bf=_0x5d00ff&&_0x5d00ff['data']?_0x5d00ff['data']:'',_0x41389e=_0x5d00ff&&_0x5d00ff['attributes']?_0x5d00ff['attributes']:{};await this['_loadRoot'](_0x144b19,_0x34a0bf,_0x41389e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x29b0ca['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x29b0ca);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x1d90f2){const _0x301183=this['editor']['plugins']['get'](_0x5f0649),{connection:_0x291bcd}=this['editor']['plugins']['get'](c),_0x1ba474=new Set();for(const _0x3cfff3 of _0x1d90f2){const _0x48f957=_0x3cfff3['_authorId'];_0x48f957&&!_0x301183['getUser'](_0x48f957)&&_0x1ba474['add'](_0x48f957);}if(0x0===_0x1ba474['size'])return;const _0x3f0c30=await dt['getMany'](_0x291bcd,Array['from'](_0x1ba474));for(const _0x322f45 of _0x3f0c30)_0x301183['getUser'](_0x322f45['id'])||_0x301183['addUser'](_0x322f45);}['_getOperationsFromInitData'](_0x4cd2f0,_0x3c605b={}){const _0x433289=this['editor']['model'],_0x458460=[];let _0x3e459c=0x0;const _0x1c5f5d='string'==typeof _0x4cd2f0?{'main':_0x4cd2f0}:_0x4cd2f0;for(const _0x44d433 of Object['keys'](_0x1c5f5d)){if(!this['_document']['roots']['has'](_0x44d433))throw new _0x9c1d4e('realtimecollaborationclient-init-non-existent-root',this);const _0x516c70=this['editor']['data']['parse'](_0x1c5f5d[_0x44d433]),_0x302a06=this['_document']['getRoot'](_0x44d433),_0x1fbc01=new _0x24acca(_0x433289['createPositionAt'](_0x302a06,0x0),_0x516c70,_0x3e459c++);_0x458460['push'](_0x1fbc01);for(const [_0x44e113,_0x16bebe]of _0x516c70['markers']){const _0x3c2a5e=_0x433289['createRange'](_0x433289['createPositionFromPath'](_0x302a06,_0x16bebe['start']['path']['slice']()),_0x433289['createPositionFromPath'](_0x302a06,_0x16bebe['end']['path']['slice']())),_0x3d89fa=new _0x3c5467(_0x44e113,null,_0x3c2a5e,_0x433289['markers'],!0x0,_0x3e459c++);_0x458460['push'](_0x3d89fa);}}if(_0x3c605b)for(const [_0x536940,_0xcb96e7]of Object['entries'](_0x3c605b)){const _0x51132c=_0x433289['document']['getRoot'](_0x536940);if(!_0x51132c)throw new _0x9c1d4e('multi-root-editor-root-attributes-no-root',null);for(const [_0x313fb2,_0x42b668]of Object['entries'](_0xcb96e7))if(null!==_0x42b668){const _0x5d2e39=new _0x21f95a(_0x51132c,_0x313fb2,null,_0x42b668,_0x3e459c++);_0x458460['push'](_0x5d2e39);}}return _0x458460;}async['_loadRoot'](_0x4f39f6,_0x3dcb72,_0x55927d){this['_getOperationsFromInitData']({[_0x4f39f6]:_0x3dcb72},{[_0x4f39f6]:_0x55927d})['forEach']((_0x2c2d6,_0x5b31ad)=>{_0x2c2d6['baseVersion']=this['_document']['version']+_0x5b31ad,_0x2c2d6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2c2d6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x375564,_0x1ddcf2){let _0x206d72;this['_offset']=_0x375564['offset'];const _0x1813d4=_0x375564['wereChangesApplied']&&!_0x375564['initData'],_0x34ceae=_0x1813d4?0x0:_0x375564['data']['baseVersion'];if(_0x1ddcf2['forEach'](_0x525699=>{_0x525699['_isInit']=!0x0,_0x525699['createdAt']=_0x375564['sessionCreatedAt'],_0x525699['_authorId']=null;}),_0x1813d4)_0x206d72=_0x1ddcf2,this['_applyOperationsSet'](_0x206d72,_0x1813d4);else{if(_0x375564['initData']){const _0xa9e270=this['_getOperationsFromInitData'](_0x375564['initData']);this['_document']['history']['version']=-_0xa9e270['length'],_0xa9e270['forEach'](_0x919c2a=>{_0x919c2a['baseVersion']-=_0xa9e270['length'],_0x919c2a['createdAt']=_0x375564['sessionCreatedAt'],_0x919c2a['_isInit']=!0x0,_0x919c2a['_authorId']=null;}),this['_applyOperationsSet'](_0xa9e270,!0x0),this['serverHistory']['version']=-_0xa9e270['length']+this['_offset'],this['_updateServerHistory'](_0xa9e270);}this['_document']['history']['version']=_0x34ceae,_0x206d72=this['_decompressOperations'](_0x375564['data'],_0x375564['metadata']),await this['_fetchMissingUsers'](_0x206d72),this['_applyOperationsSet'](_0x206d72,_0x1813d4);}_0x375564['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x206d72,_0x375564['lastOperationId']),this['_lastSyncedOperationId']=_0x375564['lastOperationId']),this['serverHistory']['version']=_0x34ceae+this['_offset'],this['_updateServerHistory'](_0x206d72),_0x1ddcf2['filter'](_0x4d8220=>{const _0x184ee3=this['_getAffectedRoot'](_0x4d8220);return _0x184ee3&&!this['_knownRootNames']['has'](_0x184ee3);})['forEach']((_0x231dd1,_0x32c3e2)=>{_0x231dd1['baseVersion']=this['_document']['version']+_0x32c3e2,this['_saveOperationInBuffer'](_0x231dd1);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x53adb1,_0x2fce4a){const _0x368fb3=_0x2fce4a&&_0x2fce4a['message'];if(_0x368fb3&&_0x368fb3['startsWith']('realtimecollaborationclient'))throw _0x2fce4a;const _0xe778c8=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0xe778c8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x9c1d4e(_0x53adb1,this['editor'],_0x368fb3?{'originalError':_0x368fb3}:void 0x0);}['_saveOperationInBuffer'](_0x13d42a){this['_knownOperations']['has'](_0x13d42a)||(this['_knownOperations']['add'](_0x13d42a),this['_bufferedOperations']['push'](_0x13d42a),this['_pendingAction']||'marker'==_0x13d42a['type']&&!_0x13d42a['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x11ba13=!0x1){!_0x11ba13&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x68a190=>{_0x68a190&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x543396=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x38dbde){return _0x38dbde['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x38dbde['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x38dbde['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x543396)||this['_crash'](_0x543396['message'],_0x543396);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x41bab3=>{this['on']('change:_isPendingUpdate',()=>{_0x41bab3();});});}async['_sendBufferedOperations'](){const _0x42e7c3=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0x42e7c3['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x17b22c=[...this['_bufferedOperations']];for(const _0x2d878e of _0x17b22c)_0x2d878e['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2d878e);const _0x199b05=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x17b22c),_0x5c60a2=J++,_0x924cac=this['_compressOperations'](_0x17b22c),_0x362f6d=await this['_service']['sendOperations'](_0x924cac,_0x924cac['baseVersion'],_0x199b05);try{return await this['_handleServerResponse'](_0x17b22c,_0x362f6d,_0x5c60a2);}catch(_0x3c6e8a){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3c6e8a);}}async['_handleServerResponse'](_0x557bbf,_0x2981a3,_0x22a495){if('error'in _0x2981a3)throw _0x2981a3['error'];let _0x3f7f1b=!0x1;if(_0x2981a3['wereChangesApplied']){_0x2981a3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2981a3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x541e77=>!_0x557bbf['includes'](_0x541e77));for(const _0xec11c of _0x557bbf)_0xec11c['createdAt']='lastOperationAcceptedAt'in _0x2981a3&&_0x2981a3['lastOperationAcceptedAt']||void 0x0;X(_0x557bbf,_0x2981a3['version']-_0x557bbf['length']),this['_updateServerHistory'](_0x557bbf);const _0x376fd8=_0x557bbf['filter'](_0x208b95=>{if(!_0x208b95['_isInit'])return!0x1;const _0x479ac9=this['_getAffectedRoot'](_0x208b95);return _0x479ac9&&!this['_knownRootNames']['has'](_0x479ac9);});X(_0x376fd8,this['_document']['version']),this['_applyOperationsSet'](_0x376fd8),_0x3f7f1b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1bcc7e=this['_decompressOperations'](_0x2981a3['data'],_0x2981a3['metadata'])['filter'](_0x21bf27=>_0x21bf27['baseVersion']>=this['_lastServerVersion']);_0x1bcc7e['forEach'](_0x149c71=>this['_addKnownRoot'](_0x149c71)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4b8cc6=>!_0x4b8cc6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4b8cc6))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1bcc7e),_0x3f7f1b=this['_handleExternalOperations'](_0x1bcc7e,_0x2981a3['version'],_0x2981a3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3f7f1b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3934b6,_0xe6eccc,_0x4d6b63){try{const _0x5056e5={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3aa007,operationsB:_0x37c050,originalOperations:_0xa2969}=_0x69da3a(_0x3934b6,this['_bufferedOperations'],_0x5056e5);X(_0x3aa007,this['_document']['version']),X(_0x37c050,_0xe6eccc);for(const _0x193309 of _0x3aa007){const _0x23e4b0=_0xa2969['get'](_0x193309);_0x193309['_authorId']=_0x23e4b0?_0x23e4b0['_authorId']:null;}_0x4d6b63&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3934b6,_0x4d6b63),this['_lastSyncedOperationId']=_0x4d6b63),this['_bufferedOperations']=[..._0x37c050],this['_applyOperationsSet'](_0x3aa007),this['_updateServerHistory'](_0x3934b6);}catch(_0x1f4552){return console['error'](_0x1f4552),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1de60d,_0x1e91e5=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a9f1e=>{for(const _0x2c4111 of _0x1de60d)this['_knownOperations']['add'](_0x2c4111),this['_addKnownRoot'](_0x2c4111),_0x3a9f1e['batch']['addOperation'](_0x2c4111),this['editor']['model']['applyOperation'](_0x2c4111);});}['_addKnownRoot'](_0x4607d0){const _0x589f4a=this['_getAffectedRoot'](_0x4607d0);_0x589f4a&&this['_knownRootNames']['add'](_0x589f4a);}['_getAffectedRoot'](_0x293906){let _0x115cf7,_0x24572c;switch(_0x293906['type']){case'insert':_0x115cf7=_0x293906['position']['root'];break;case'marker':if(_0x24572c=_0x293906['newRange'],!_0x24572c)return null;_0x115cf7=_0x24572c['root'];break;case'addRootAttribute':_0x115cf7=_0x293906['root'];break;case'addRoot':_0x115cf7=_0x293906['affectedSelectable'];break;case'move':_0x115cf7=_0x293906['targetPosition']['root'];break;default:return null;}return _0x115cf7['rootName'];}['_updateServerHistory'](_0x8a4b87){_0x8a4b87['forEach'](_0x2571f2=>{const _0x482482=_0x2571f2['clone']();_0x482482['_authorId']=_0x2571f2['_authorId'],_0x482482['_isInit']=!!_0x2571f2['_isInit'],_0x482482['createdAt']=_0x2571f2['createdAt'],_0x482482['baseVersion']+=this['_offset'],_0x2571f2['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x482482),this['serverHistory']['addOperation'](_0x482482);});}['_handleReconnectionError'](_0xfcd941){const _0x57b51c=this['editor']['plugins']['get']('Notification'),_0x2c22bb=this['editor']['locale'];_0xfcd941||(_0xfcd941=G(_0x2c22bb,'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.')),_0x57b51c['showWarning'](_0xfcd941,{'title':G(_0x2c22bb,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x5b9ce0)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5b9ce0)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x44e33f){const _0x1c9cdc=_0x44e33f['map'](_0x178c78=>_0x178c78['toJSON']());return this['_compressor']['compress'](_0x1c9cdc);}['_decompressOperations'](_0x2ae521,_0x2afb53){return this['_compressor']['decompress'](_0x2ae521)['map']((_0x438722,_0x1de0d7)=>{const _0x2bb8c1='init'==_0x2afb53[_0x1de0d7]['type'];if('InsertOperation'==_0x438722['__className']){const _0x222462=_0x438722['position']['root'];!this['_document']['getRoot'](_0x222462)&&(this['_document']['createRoot']('$root',_0x222462)['_isAttached']=!0x1);}const _0x201a5c=_0x57cd0a['fromJSON'](_0x438722,this['_document']);return _0x201a5c['wasUndone']=_0x438722['wasUndone'],_0x201a5c['_isInit']=_0x2bb8c1,_0x201a5c['_authorId']=_0x2bb8c1?null:_0x2afb53[_0x1de0d7]['userId'],_0x201a5c['_isDisconnection']='cs:removeUser'===_0x2afb53[_0x1de0d7]['type'],_0x201a5c['createdAt']=_0x2afb53[_0x1de0d7]['createdAt'],_0x201a5c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3293f5=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3293f5&&_0x3293f5['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x59ee14,_0x39a8da){for(const _0x296b5f of _0x59ee14)_0x296b5f['baseVersion']=_0x39a8da++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x16b7a0){this['_ignoredOperations']=_0x16b7a0,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x231f57){let _0x1986bd=_0x231f57['length'];for(;_0x1986bd--;){const _0x3abe65=_0x231f57[_0x1986bd];if(!this['_ignoredOperations']['has'](_0x3abe65)){if(!this['_operationToId']['has'](_0x3abe65)){const _0x33e658=_0x1416ae()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3abe65,_0x33e658);}return this['_operationToId']['get'](_0x3abe65);}}}['setIdForTheLastOperation'](_0x304f21,_0x2dfa6b){if(!_0x2dfa6b)return;let _0x6592c0=_0x304f21['length'];for(;_0x6592c0--;){const _0x4b5ca4=_0x304f21[_0x6592c0];this['_ignoredOperations']['has'](_0x4b5ca4)||this['_operationToId']['set'](_0x4b5ca4,_0x2dfa6b);}}}class n extends _0x101618{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x42e636{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x468d30)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x5f0649];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5c2900){super(_0x5c2900),this['_services']=new Map();}async['init'](){const _0x464e3c=this['context'],_0x5c5db0=_0x464e3c['plugins']['get']('CommentsRepository');if(_0x464e3c['plugins']['get'](c)['addToReconnectionStack'](this),_0x5c5db0['adapter']={'addCommentThread':async({channelId:_0x22b343,threadId:_0xd3bfa9,comments:_0x481fbc,resolvedAt:_0x4b629d,resolvedBy:_0x499d7a,context:_0x174193,attributes:_0x1ef0c4})=>{const _0x117f03=await this['_getService'](_0x22b343)['addCommentThread']({'commentThreadId':_0xd3bfa9,'comments':_0x481fbc['map'](_0x4b96f3=>function(_0x113c16,_0x30042a,_0x4c37f6){return{'commentThreadId':_0x4c37f6,'commentId':_0x113c16['commentId'],'userId':_0x113c16['authorId'],'content':_0x113c16['content'],'documentId':_0x30042a,'createdAt':_0x113c16['createdAt'],'attributes':_0x113c16['attributes']||{}};}(_0x4b96f3,_0x22b343,_0xd3bfa9)),'resolvedAt':_0x4b629d,'resolvedBy':_0x499d7a,'context':_0x174193,'attributes':_0x1ef0c4})['catch'](ut);return{'threadId':_0x117f03['commentThreadId'],'comments':_0x117f03['comments']};},'getCommentThread':async({channelId:_0x16541a,threadId:_0x57c2d8})=>{const _0x57e844=await this['_getService'](_0x16541a)['getCommentThread'](_0x57c2d8)['catch'](ut);return _0x57e844['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x57e844]),{'threadId':_0x57e844['commentThreadId'],'comments':_0x57e844['comments']['map'](b),'context':_0x57e844['context'],'resolvedAt':_0x57e844['resolvedAt'],'resolvedBy':_0x57e844['resolvedBy'],'attributes':_0x57e844['attributes']||{}});},'updateCommentThread':async({channelId:_0x310c1f,threadId:_0xd4fb8c,context:_0x337dac,unlinkedAt:_0x4e4a19,attributes:_0x48ab23})=>this['_getService'](_0x310c1f)['updateCommentThread']({'commentThreadId':_0xd4fb8c,'context':_0x337dac,'attributes':_0x48ab23,'unlinkedAt':_0x4e4a19})['catch'](y)['catch'](ut),'resolveCommentThread':async({channelId:_0x55908b,threadId:_0x75fcdb})=>{const _0xdffbab=await this['_getService'](_0x55908b)['resolveCommentThread'](_0x75fcdb)['catch'](y)['catch'](ut);return{'threadId':_0xdffbab['commentThreadId'],'resolvedAt':_0xdffbab['resolvedAt'],'resolvedBy':_0xdffbab['resolvedBy']};},'reopenCommentThread':async({channelId:_0xcb430b,threadId:_0xb02e0})=>this['_getService'](_0xcb430b)['reopenCommentThread'](_0xb02e0)['catch'](y)['catch'](ut),'removeCommentThread':({channelId:_0x1c5fab,threadId:_0x4cbac6})=>this['_getService'](_0x1c5fab)['removeCommentThread'](_0x4cbac6)['catch'](y)['catch'](ut),'addComment':({channelId:_0x47f087,threadId:_0x3b1bfb,commentId:_0x5eb965,content:_0x354659,attributes:_0x151135})=>this['_getService'](_0x47f087)['addComment'](_0x3b1bfb,_0x5eb965,_0x354659,_0x151135)['catch'](ut),'updateComment':({channelId:_0x58a176,threadId:_0x4e6cbc,commentId:_0x42b3e,content:_0x2c51fa,attributes:_0x1ad1ab})=>this['_getService'](_0x58a176)['updateComment'](_0x4e6cbc,_0x42b3e,_0x2c51fa,_0x1ad1ab)['catch'](y)['catch'](ut),'removeComment':({channelId:_0x1123d1,threadId:_0x4fe38c,commentId:_0x2fe0f7})=>this['_getService'](_0x1123d1)['removeComment'](_0x4fe38c,_0x2fe0f7)['catch'](y)['catch'](ut)},_0x464e3c instanceof _0xe89c7){const _0x2fd411=_0x464e3c['config']['get']('collaboration.channelId'),_0x201706=_0x464e3c['plugins']['get'](i);await this['_setUpService'](_0x2fd411);const _0x599168=await this['_services']['get'](_0x2fd411)['getConnectedSessions']();this['listenTo'](_0x201706,'sessionAdd:'+_0x2fd411,(_0x4d586c,{session:_0x396a79})=>{_0x396a79['id']===_0x201706['mySessionId']&&(_0x4d586c['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x396a79['permissions'],_0x2fd411));}),_0x201706['register'](_0x2fd411,_0x599168);}}async['_setUpService'](_0x5cf746){if(this['_services']['has'](_0x5cf746))throw new _0x9c1d4e('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5cf746});const _0x41b4c2=this['context']['plugins']['get']('CommentsRepository'),_0x10e6d4=new a['CommentsService'](_0x5cf746);this['_services']['set'](_0x5cf746,_0x10e6d4),this['listenTo'](_0x10e6d4,'commentThreadAdded',(_0x11d5d7,_0x5307dd)=>{const {commentThreadId:_0x37f4c5,documentId:_0x4c4acb,context:_0x225e8c,attributes:_0x52222f,resolvedAt:_0x2f5e74,resolvedBy:_0x192b31,comments:_0x35492d}=_0x5307dd;_0x41b4c2['getCommentThread'](_0x37f4c5)||_0x41b4c2['addCommentThread']({'threadId':_0x37f4c5,'channelId':_0x4c4acb,'comments':_0x35492d?_0x35492d['map'](b):[],'context':_0x225e8c,'attributes':_0x52222f,'resolvedAt':_0x2f5e74,'resolvedBy':_0x192b31,'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentThreadUpdated',(_0x825087,{commentThreadId:_0x1c3071,documentId:_0x5d0dee,context:_0x59f65e,unlinkedAt:_0x5c6de4,attributes:_0x38cc4d})=>{_0x41b4c2['getCommentThread'](_0x1c3071)&&_0x41b4c2['updateCommentThread']({'threadId':_0x1c3071,'channelId':_0x5d0dee,'context':_0x59f65e,'unlinkedAt':_0x5c6de4,'attributes':_0x38cc4d,'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentThreadResolved',(_0x223d58,{commentThreadId:_0x4911ef,resolvedBy:_0x26b8a4,resolvedAt:_0xea16ca})=>{const _0x3ab314=_0x41b4c2['getCommentThread'](_0x4911ef);_0x3ab314&&_0x3ab314['resolve']({'resolvedBy':_0x26b8a4,'resolvedAt':_0xea16ca,'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentThreadReopened',(_0x34b397,{commentThreadId:_0x3759a2})=>{const _0x2af1c1=_0x41b4c2['getCommentThread'](_0x3759a2);_0x2af1c1&&_0x2af1c1['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentThreadRemoved',(_0x362491,{commentThreadId:_0x1329ab})=>{const _0x51332b=_0x41b4c2['getCommentThread'](_0x1329ab);_0x51332b&&_0x51332b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentAdded',(_0x4c6f3b,_0x280030)=>{const _0x2ee435=_0x280030['commentThreadId'],_0x26af45=_0x41b4c2['getCommentThread'](_0x2ee435);_0x26af45&&_0x26af45['addComment']({...b(_0x280030),'isFromAdapter':!0x0});}),this['listenTo'](_0x10e6d4,'commentUpdated',(_0x48ab9c,{commentThreadId:_0xde085d,commentId:_0x115547,content:_0x2e6c37,attributes:_0x40fba2})=>{const _0x99a8b1=_0x41b4c2['getCommentThread'](_0xde085d);if(_0x99a8b1){const _0x34dec6=_0x99a8b1['getComment'](_0x115547);_0x34dec6&&_0x34dec6['update']({'content':_0x2e6c37,'attributes':_0x40fba2,'isFromAdapter':!0x0});}}),this['listenTo'](_0x10e6d4,'commentRemoved',(_0x62cb21,{commentThreadId:_0x51bb9d,commentId:_0x5316a0})=>{const _0x4ce726=_0x41b4c2['getCommentThread'](_0x51bb9d);if(_0x4ce726){const _0x43ad82=_0x4ce726['getComment'](_0x5316a0);_0x43ad82&&_0x43ad82['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5cf746);}['destroy'](){if(this['context']instanceof _0xe89c7){const _0x534772=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x534772);}}['_terminateService'](_0x5b7a44){if(!this['_services']['has'](_0x5b7a44))throw new _0x9c1d4e('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5b7a44});this['_getService'](_0x5b7a44)['disconnect'](),this['_services']['delete'](_0x5b7a44);}async['reconnect'](){for(const _0x373123 of this['_services']['keys']())await this['_connectService'](_0x373123);if(this['context']instanceof _0xe89c7){const _0x1947a1=this['context']['config']['get']('collaboration.channelId'),_0x29a9f7=this['context']['plugins']['get'](i);_0x29a9f7['unregister'](_0x1947a1);const _0x14d0d7=await this['_services']['get'](_0x1947a1)['getConnectedSessions']();_0x29a9f7['register'](_0x1947a1,_0x14d0d7);}}async['_connectService'](_0x595833){const {connection:_0x485c69}=this['context']['plugins']['get'](c),_0x569669=this['context']['plugins']['get']('CommentsRepository'),_0x43e95e=this['_services']['get'](_0x595833),_0x10925c=await _0x43e95e['connect'](_0x485c69);await this['_fetchMissingUsersForThreads'](_0x10925c);const _0x5d51e7=new Set(Array['from'](_0x569669['getCommentThreads']({'channelId':_0x595833}),_0x2ca030=>_0x2ca030['id']));for(const _0x46827f of _0x10925c)_0x46827f['deletedAt']||_0x5d51e7['delete'](_0x46827f['commentThreadId']);for(const _0xe53e9b of _0x5d51e7)_0x569669['getCommentThread'](_0xe53e9b)['remove']({'isFromAdapter':!0x0});for(const _0x48a404 of _0x10925c){let _0xb45d85=_0x569669['getCommentThread'](_0x48a404['commentThreadId']);const {commentThreadId:_0x5a761b,context:_0x120eed,attributes:_0x2cf1ae,resolvedBy:_0x36e740,resolvedAt:_0xac2f80,unlinkedAt:_0x45d247,deletedAt:_0x449d28}=_0x48a404;if(_0x449d28)continue;_0xb45d85||(_0xb45d85=_0x569669['addCommentThread']({'channelId':_0x595833,'threadId':_0x5a761b,'context':_0x120eed,'attributes':_0x2cf1ae||{},'resolvedBy':_0x36e740,'resolvedAt':_0xac2f80,'unlinkedAt':_0x45d247,'isFromAdapter':!0x0}));const _0x173386=new Set(Array['from'](_0xb45d85['comments'],_0x4844ac=>_0x4844ac['id']));for(const _0x1b5d95 of _0x48a404['comments'])_0x173386['delete'](_0x1b5d95['commentId']);for(const _0x26c83d of _0x173386)_0xb45d85['getComment'](_0x26c83d)['remove']({'isFromAdapter':!0x0});for(const _0x22c362 of _0x48a404['comments']){const _0x560115=_0xb45d85['getComment'](_0x22c362['commentId']);_0x560115?_0x560115['content']!==_0x22c362['content']&&_0x560115['update']({'content':_0x22c362['content'],'isFromAdapter':!0x0}):_0xb45d85['addComment'](Object['assign'](b(_0x22c362),{'isFromAdapter':!0x0}));}}}['_getService'](_0x386e26){if(!this['_services']['has'](_0x386e26))throw new _0x9c1d4e('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x386e26});return this['_services']['get'](_0x386e26);}async['_fetchMissingUsersForThreads'](_0x288c59){const _0xb49145=this['context']['plugins']['get'](_0x5f0649),{connection:_0x34832f}=this['context']['plugins']['get'](c),_0x41a9e9=new Set();for(const {resolvedBy:_0x39075e,comments:_0x3274b9}of _0x288c59){_0x39075e&&!_0xb49145['getUser'](_0x39075e)&&_0x41a9e9['add'](_0x39075e);for(const {userId:_0x245a9d}of _0x3274b9)_0xb49145['getUser'](_0x245a9d)||_0x41a9e9['add'](_0x245a9d);}if(0x0===_0x41a9e9['size'])return;const _0x477ccd=await dt['getMany'](_0x34832f,Array['from'](_0x41a9e9));for(const _0x5326ce of _0x477ccd)_0xb49145['getUser'](_0x5326ce['id'])||_0xb49145['addUser'](_0x5326ce);}}async function y(_0x320add){if('404'!==_0x320add['code'])throw _0x320add;}function ut(_0x3a9eb5){if((_0x34b0ef=_0x3a9eb5)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x34b0ef['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x34b0ef['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x34b0ef;throw _0x3a9eb5;}function b(_0x2a8f07){return{'threadId':_0x2a8f07['commentThreadId'],'commentId':_0x2a8f07['commentId'],'content':_0x2a8f07['content'],'createdAt':_0x2a8f07['createdAt'],'authorId':_0x2a8f07['userId'],'attributes':_0x2a8f07['attributes']||{}};}class f extends _0x101618{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdea358){super(_0xdea358);const _0x11e411=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x11e411);}['init'](){const _0x1d2d5d=this['editor']['plugins']['get'](c),_0x367abb=this['editor']['plugins']['get']('TrackChangesEditing');return _0x367abb['adapter']={'getSuggestion':async _0x3b3793=>{await this['_waitForServiceReady']();const _0x5f24da=await this['_trackChangesService']['get'](_0x3b3793)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x5f24da]),_0x5f24da;},'addSuggestion':async({id:_0x2afc86,type:_0x32c1f7,data:_0x27227c,originalSuggestionId:_0xb78091,attributes:_0x15462e})=>{await this['_waitForServiceReady']();const _0x4f5464={'id':_0x2afc86,'type':_0x32c1f7,'data':_0x27227c,'originalSuggestionId':_0xb78091,'attributes':_0x15462e},_0x56eb6f=await this['_trackChangesService']['add'](_0x2afc86,_0x32c1f7,_0x27227c,_0xb78091,_0x15462e)['catch'](_0x542d38=>{if(ft(_0x542d38))return new Promise(_0x3e3060=>{this['_bufferedRequests']['set'](_0x2afc86,{'resolve':_0x3e3060,'suggestionData':_0x4f5464});});throw _0x542d38;});return this['_bufferedRequests']['delete'](_0x2afc86),_0x56eb6f;},'updateSuggestion':async(_0x2f857f,_0x54e367)=>{if(await this['_waitForServiceReady'](),'open'!==_0x54e367['state'])return this['_trackChangesService']['update'](_0x2f857f,_0x54e367)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3d3d22,_0x3dae5a)=>{_0x367abb['hasSuggestion'](_0x3dae5a['id'])&&(_0x367abb['getSuggestion'](_0x3dae5a['id'])['attributes']=_0x3dae5a['attributes']);}),this['_trackChangesService']['connect'](_0x1d2d5d['connection'])['then'](_0x4ddd75=>(_0x1d2d5d['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4ddd75)['then'](()=>{for(const _0x24a0d3 of _0x4ddd75){_0x367abb['addSuggestionData'](_0x24a0d3)['_saved']=!0x0;}})));}async['reconnect'](){const _0x203957=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x12ee45}=this['editor']['plugins']['get'](c),_0x378aa9=await this['_trackChangesService']['connect'](_0x12ee45);await this['_fetchMissingUsersForThreads'](_0x378aa9);for(const {suggestionData:_0xf5f56d,resolve:_0x2fa63d}of this['_bufferedRequests']['values']()){let _0x2d77b3=_0x378aa9['find'](_0xe7caa7=>_0xe7caa7['id']===_0xf5f56d['id']);_0x2d77b3||(_0x2d77b3=await this['_trackChangesService']['add'](_0xf5f56d['id'],_0xf5f56d['type'],_0xf5f56d['data'],_0xf5f56d['originalSuggestionId'])),_0x2fa63d(_0x2d77b3);}for(const _0x2a7e29 of _0x378aa9)_0x203957['hasSuggestion'](_0x2a7e29['id'])||_0x203957['addSuggestionData'](_0x2a7e29);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5774ce=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1a0b96=>{_0x1a0b96['off'](),_0x5774ce();});});}async['_fetchMissingUsersForThreads'](_0x4e2e79){const _0x16ebc3=this['editor']['plugins']['get'](_0x5f0649),{connection:_0x177f9c}=this['editor']['plugins']['get'](c),_0x3e1efa=new Set();for(const {authorId:_0x4561c1}of _0x4e2e79)_0x16ebc3['getUser'](_0x4561c1)||_0x3e1efa['add'](_0x4561c1);if(0x0===_0x3e1efa['size'])return;const _0x318cf8=await dt['getMany'](_0x177f9c,Array['from'](_0x3e1efa));for(const _0x26af05 of _0x318cf8)_0x16ebc3['getUser'](_0x26af05['id'])||_0x16ebc3['addUser'](_0x26af05);}}function w(_0x1397ff){if(ft(_0x1397ff))return new Promise(()=>{});throw _0x1397ff;}function ft(_0x3b4a26){return _0x3b4a26['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b4a26['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x101618{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x473583=this['editor']['plugins']['get'](c),_0x13fd80=this['editor']['plugins']['get']('CommentsEditing'),_0x3f29d4=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x473583,'change:state',(_0x23f90e,_0x285160,_0x420533)=>{_0x13fd80['isThreadsLoadingPaused']='connected'!==_0x420533;});}),this['listenTo'](_0x473583,'change:state',(_0x14b0c6,_0x9a73fc,_0x41f7dc)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x41f7dc);}),_0x3f29d4['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x101618{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x101618{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x5f0649];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4c2b1f){super(_0x4c2b1f);const _0x584d54=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x584d54);}async['init'](){const _0x20ac60=this['editor']['plugins']['get'](l),_0x1fd3be=_0x20ac60['serverHistory'],_0x293f59=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x1fd3be,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x20ac60['sessionId']});const _0x4514af=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x564e99=await tt['isBundleUploaded'](_0x293f59['connection'],_0x4514af);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x3e615d})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x3e615d)),'updateRevisions':async _0xe2deee=>{await this['_waitForServiceReady']();const _0xcea423=this['_revisionTracker']['currentRevision'];if(_0x564e99&&0x1===_0xe2deee['length']&&_0xe2deee[0x0]['id']===_0xcea423['id'])return _0xe2deee;for(const _0x33c617 of _0xe2deee)_0x33c617['id']===_0xcea423['id']&&(_0x33c617['isEmptyCurrent']=_0x33c617['fromVersion']===_0x33c617['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xe2deee,this['_lastRequestId'])['then'](_0x3eb26a=>(this['_lastRequestId']=_0x3eb26a,_0xe2deee))['catch'](_0x26db97=>{if(st(_0x26db97)||'400'===_0x26db97['code']&&void 0x0!==_0x26db97['data']['wrongRequestId']){for(const _0x11f09b of _0xe2deee){!this['_revisionTracker']['repository']['getRevision'](_0x11f09b['id'])||this['_revisionTracker']['_bufferUpdate'](_0x11f09b['id'],_0x11f09b,!0x1);}if(st(_0x26db97))throw _0x26db97;return _0xe2deee;}throw _0x26db97;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5590b3,{revisionsData:_0xdec175,requestId:_0xfbad0a})=>{Math['max'](..._0xdec175['map'](_0x48e0e7=>_0x48e0e7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xdec175,_0xfbad0a);}):this['_handleRevisionsUpdate'](_0xdec175,_0xfbad0a);});const {revisions:_0x4b1a9b,requestId:_0x2dc31d}=await this['_revisionHistoryService']['connect'](_0x293f59['connection']);_0x293f59['addToReconnectionStack'](this),this['_lastRequestId']=_0x2dc31d,await this['_fetchMissingUsers'](_0x4b1a9b);for(const _0x3333c8 of _0x4b1a9b)this['_revisionTracker']['addRevisionData'](_0x3333c8);this['listenTo'](_0x20ac60,'change:_isConnected',(_0x1f9dcc,_0x501902,_0x5e9b43)=>{_0x5e9b43&&(this['_oldOffset']=_0x20ac60['_offset'],_0x1f9dcc['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x293f59,'state',_0x21033e=>_0x21033e===_0x20e191['CONNECTED']);}async['reconnect'](){const _0x4d9af9=this['editor']['plugins']['get'](c),_0x5b7df0=this['editor']['plugins']['get'](l),_0x3eb374=async()=>{const _0x4c85bd=this['_revisionTracker']['currentRevision'],_0x36b93e=_0x4c85bd['id'],_0x295b69=_0x36b93e!==_0x5b7df0['sessionId'];if(_0x295b69){const _0x2c3b57=_0x5b7df0['_offset']-this['_oldOffset'],_0x5c89dc=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4c85bd['toVersion']+_0x2c3b57!==_0x5c89dc){const _0x41ed65=_0x4c85bd['fromVersion']+_0x2c3b57,_0x1463a8=this['editor']['plugins']['get'](_0x5f0649),_0x4531fb=this['_revisionTracker']['buildRevisionData']({'revision':_0x4c85bd,'from':_0x41ed65,'to':_0x5c89dc});_0x4531fb['id']=_0x4c85bd['id'];const _0x4727f8=_0x4531fb['authorsIds']['map'](_0x2ccc1a=>_0x1463a8['getUser'](_0x2ccc1a));_0x4c85bd['_update']({..._0x4531fb,'authors':_0x4727f8},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4c85bd['id'],_0x4531fb,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5c89dc,(_0x4c85bd['toVersion']===_0x4c85bd['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x36b93e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x36b93e),this['_revisionTracker']['_createCurrentRevision'](_0x5c89dc));}const {revisions:_0x99edc6,requestId:_0x55bbe0}=await this['_revisionHistoryService']['reconnect'](_0x4d9af9['connection'],this['_lastRequestId']);_0x295b69&&_0x99edc6['length']>0x0?_0x5b7df0['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x99edc6),this['_handleRevisionsUpdate'](_0x99edc6,_0x55bbe0),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5b7df0['_isConnected']?_0x3eb374():new Promise((_0x34abf7,_0x321ba7)=>{_0x5b7df0['once']('change:_isConnected',()=>{_0x3eb374()['then'](_0x34abf7)['catch'](_0x321ba7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2c38e7=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x334d46=>{_0x334d46['off'](),_0x2c38e7();});});}['_getLatestVersionFromServerOperations'](){const _0x4c240f=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4f3268 of _0x4c240f)if('marker'!==_0x4f3268['type']||_0x4f3268['affectsData'])return _0x4f3268['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3cad7c=this['editor']['plugins']['get'](l);return new Promise(_0x2ec22f=>{_0x3cad7c['_isPendingUpdate']?_0x3cad7c['once']('change:_isPendingUpdate',()=>{_0x2ec22f(this['_getLatestVersionFromServerOperations']());}):_0x2ec22f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5f244b,_0x7d5f11){const _0x2d6d56=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x7d5f11;for(const _0x25620b of _0x5f244b){const _0x150846=_0x2d6d56['getRevision'](_0x25620b['id']);if(_0x150846){if((_0x25620b['fromVersion']||_0x25620b['toVersion'])&&(_0x25620b['diffData']=null),_0x150846===this['_revisionTracker']['currentRevision']){const _0xe66e36=Math['max'](_0x150846['toVersion'],_0x25620b['toVersion']),_0x298979=Math['max'](_0x150846['fromVersion'],_0x25620b['fromVersion']);let _0x1975bf;_0x150846['toVersion']===_0x25620b['toVersion']&&_0x150846['fromVersion']===_0x25620b['fromVersion']?(_0x1975bf=!0x0,this['_preventResendingRevisionData'](_0x25620b)):_0x25620b['toVersion']===_0xe66e36&&_0x25620b['fromVersion']===_0x298979?_0x1975bf=!0x1:(_0x150846['toVersion']===_0xe66e36&&_0x150846['fromVersion']===_0x298979||this['_fixRevision']({'revision':_0x150846,'from':_0x298979,'to':_0xe66e36}),_0x1975bf=!0x0),_0x1975bf&&(delete _0x25620b['fromVersion'],delete _0x25620b['toVersion'],delete _0x25620b['diffData'],delete _0x25620b['createdAt'],delete _0x25620b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x25620b),this['_preventResendingRevisionData'](_0x25620b);}else this['_revisionTracker']['addRevisionData'](_0x25620b);}const _0x5c68d6=_0x2d6d56['getRevisions']();_0x5c68d6['reverse']();for(let _0x2f3444=0x0;_0x2f3444<_0x5c68d6['length']-0x1;_0x2f3444++){const _0x276196=_0x5c68d6[_0x2f3444],_0x529d7c=_0x5c68d6[_0x2f3444+0x1];if(_0x276196['fromVersion']<_0x529d7c['toVersion']){const _0x168991=_0x529d7c['toVersion'],_0x5f212e=Math['max'](_0x168991,_0x276196['toVersion']);this['_fixRevision']({'revision':_0x276196,'from':_0x168991,'to':_0x5f212e});}}}['_fixRevision']({revision:_0x476c94,from:_0x2c2170,to:_0x3d8ad0}={}){const _0x4258fa=this['editor']['plugins']['get'](_0x5f0649),_0x547f76=this['_revisionTracker']['buildRevisionData']({'revision':_0x476c94,'from':_0x2c2170,'to':_0x3d8ad0});_0x547f76['authors']=_0x547f76['authorsIds']['map'](_0x207f65=>_0x4258fa['getUser'](_0x207f65)),_0x476c94['_update'](_0x547f76);}['_preventResendingRevisionData'](_0x595104){const _0x531446={};_0x531446['id']=_0x595104['id'];for(const _0x3b8bdf of Object['keys'](_0x595104))'id'!==_0x3b8bdf&&(_0x531446[_0x3b8bdf]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x531446['id'],_0x531446,!0x0);}async['_fetchMissingUsers'](_0x228aa6){const _0x4d2e0d=this['editor']['plugins']['get'](_0x5f0649),{connection:_0x3b058c}=this['editor']['plugins']['get'](c),_0x1b1918=new Set();for(const _0x2f234d of _0x228aa6){for(const _0x2a0318 of _0x2f234d['authorsIds'])_0x321d7e(_0x2a0318);_0x2f234d['creatorId']&&_0x321d7e(_0x2f234d['creatorId']);}if(0x0===_0x1b1918['size'])return;const _0x1f5499=await dt['getMany'](_0x3b058c,Array['from'](_0x1b1918));for(const _0x202020 of _0x1f5499)_0x4d2e0d['getUser'](_0x202020['id'])||_0x4d2e0d['addUser'](_0x202020);function _0x321d7e(_0x1d23a0){_0x4d2e0d['getUser'](_0x1d23a0)||_0x1b1918['add'](_0x1d23a0);}}}function st(_0x5adb0b){return _0x5adb0b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5adb0b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5adb0b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x101618{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class P extends _0x157a15{['_collapseAt'];constructor(_0x145ac9,_0x18db91=0x6){super(_0x145ac9);const _0xd05952=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x18db91,this['bind']('isHidden')['to'](this,'usersCount',_0x1cabff=>_0x1cabff<_0x18db91),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xd05952['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':_0xd05952['to']('usersCount',_0x219624=>'+'+(_0x219624-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x157a15{['items'];['keystrokes'];constructor(_0x210c64){super(_0x210c64);const _0x3e455a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x135344(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3e455a['if']('hasPopup'),'aria-expanded':_0x3e455a['to']('isExpanded',_0x5853e3=>this['hasPopup']&&String(_0x5853e3)),'aria-label':_0x3e455a['to']('hasPopup',_0x3cf8fc=>G(_0x210c64,_0x3cf8fc?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3e455a['to']('hasPopup',_0x2c8b37=>!!_0x2c8b37&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3e455a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3e455a['to'](_0x3526b2=>{const _0x4dd92e=_0x3526b2,_0x246199=document['querySelector']('.ck-presence-list__dropdown-list'),_0x311af5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x246199?.['contains'](_0x4dd92e['relatedTarget'])||_0x311af5?.['contains'](_0x4dd92e['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x1cad54,_0x46d434,_0x1dcd63)=>{this['element']&&(_0x1dcd63?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 _ extends _0x157a15{['counterView'];['inlineListView'];constructor(_0x5a96ac,_0x2781f0=0x6){super(_0x5a96ac);const _0x2b64b6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new P(this['locale'],_0x2781f0),this['inlineListView']=new ts(_0x5a96ac),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x44344e of this['inlineListView']['items'])_0x44344e['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',_0x2b64b6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class D extends _0x157a15{['listWrapperView'];constructor(_0x3b04c1,_0x1b2a76){super(_0x3b04c1);const _0x508f91=this['bindTemplate'];this['listWrapperView']=new mt(_0x3b04c1,_0x1b2a76),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0x3b04c1,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x508f91['to'](_0x2e7ad9=>{const _0x165521=_0x2e7ad9,_0x2437d6=document['querySelector']('.ck-presence-list__list'),_0x437fd0=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2437d6?.['contains'](_0x165521['relatedTarget'])||_0x437fd0?.['contains'](_0x165521['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x13123e{constructor(_0x45b271,_0x40bc81){super(_0x45b271);const _0x4b31bd=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x40bc81?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4b31bd['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4b31bd['to']('role'),'aria-label':_0x4b31bd['to']('ariaLabel'),'aria-labelledby':_0x4b31bd['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3b3485['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x52d734=this['element'];_0x52d734&&(this['_isScrollable']=Math['max'](_0x52d734['scrollHeight'],_0x52d734['clientHeight'])>0.8*window['innerHeight']);}}class U extends rt{['userView'];constructor(_0x19fb62,_0x3f445f,_0x191d45){super(_0x19fb62);const _0x2f7e5e=this['bindTemplate'];this['userView']=new ct(_0x19fb62,_0x3f445f);const _0x3d24b7={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x3f445f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x3f445f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3f445f['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x191d45&&(_0x3d24b7['tag']='button',_0x3d24b7['on']={'click':_0x2f7e5e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d24b7);}['focus'](){this['element']['focus']();}}class V extends _0x157a15{['userView'];['markerView'];constructor(_0x36a1ca,_0x3ad1d6,_0x3354d2){super(_0x36a1ca);const _0x3029fa=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x36a1ca,_0x3ad1d6),this['markerView']=new at(_0x36a1ca,_0x3ad1d6);const _0x59d38b=new ot(_0x36a1ca);_0x59d38b['template']['tag']='span',_0x59d38b['text']=_0x3ad1d6['name'];const _0x3a4c9d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x3029fa['to']('isFocusable',_0x2a7fca=>!!_0x2a7fca&&0x0),'aria-labelledby':_0x59d38b['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x3029fa['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x3029fa['to']('hasTooltip',_0x5112f4=>!_0x5112f4),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x59d38b]};_0x3354d2&&(_0x3a4c9d['tag']='button',_0x3a4c9d['on']={'click':_0x3029fa['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3a4c9d);}}class at extends _0x157a15{constructor(_0x140a59,_0x11b5ee){super(_0x140a59),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x11b5ee['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const E={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x42e636{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x565cda){super(_0x565cda),this['context']['config']['define']('presenceList',E);const _0x5bcac9=_0x565cda['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5bcac9)throw new _0x9c1d4e('presencelist-collapseat-invalid-format',this);if(_0x5bcac9<0x1)throw new _0x9c1d4e('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4af4f4(),this['balloonPanelView']=new _0x3c08a0(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x31ca2b of this['_allConnectedUsers'])this['_handleUserAdd'](_0x31ca2b);this['listenTo'](this['_allConnectedUsers'],'add',(_0xcee5ab,_0x494851)=>{this['_handleUserAdd'](_0x494851);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x45fffe,_0x58a450)=>{this['_handleUserRemove'](_0x58a450);});}['_createView'](){const _0x5a44c7=this['context'],_0x3b1acb=new _(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x32f29f=this['balloonPanelView'];if(!_0x185eae(_0x5a44c7['config']['get']('presenceList.container')))throw new _0x9c1d4e('presencelist-missing-container',this);return _0x3b1acb['counterView']['bind']('usersCount')['to'](this),_0x3b1acb['bind']('isCollapsed')['to'](this,'usersCount',_0xd8830=>{const {collapseAt:_0x42574b}=_0x5a44c7['config']['get']('presenceList'),_0x1aa537=_0xd8830>=_0x42574b;if(_0x1aa537&&!_0x3b1acb['inlineListView']['items']['find'](_0x1a9306=>_0x1a9306 instanceof P)){const _0x5841ac=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5841ac&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3b1acb['inlineListView']['items']['add'](_0x3b1acb['counterView']);}return _0x1aa537||this['hideDropdown'](),_0x1aa537;}),_0x3b1acb['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x252be8=>{const _0x1633fa=_0x5a44c7['config']['get']('presenceList'),_0xc0b780=new V(_0x5a44c7['locale'],_0x252be8,!!_0x1633fa['onClick']);return _0xc0b780['bind']('hasTooltip')['to'](_0x3b1acb,'isCollapsed',_0x20c212=>!_0x20c212),_0xc0b780['bind']('isFocusable')['to'](_0x3b1acb,'isCollapsed',_0x10ef2b=>!_0x10ef2b),_0x1633fa['onClick']&&this['listenTo'](_0xc0b780,'execute',()=>{this['view']['isCollapsed']||_0x1633fa['onClick'](_0x252be8,_0xc0b780['element']);}),_0xc0b780;}),this['listenTo'](_0x3b1acb['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3b1acb['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3b1acb['inlineListView']['keystrokes']['set']('Enter',(_0x274b1b,_0x498602)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x498602());}),_0x3b1acb['render'](),_0x32f29f['render'](),_0x188faf({'emitter':_0x3b1acb,'activator':()=>_0x32f29f['isVisible'],'contextElements':[_0x32f29f['element'],_0x3b1acb['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5a44c7['config']['get']('presenceList.container')['appendChild'](_0x3b1acb['element']),this['_bodyCollection']=new _0x4fb312(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3b1acb;}['_handleUserAdd'](_0x513a0b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x513a0b['isMe'])return;const _0x34ffa4=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x34ffa4-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2cef83=_0x513a0b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x513a0b,_0x2cef83);}['_handleUserRemove'](_0x47f8f8){this['usersCount']--;const {collapseAt:_0x372c06}=this['context']['config']['get']('presenceList'),_0x4c6059=this['usersCount']>=_0x372c06;if(this['currentDisplayedUsers']['get'](_0x47f8f8['id']))this['currentDisplayedUsers']['remove'](_0x47f8f8['id']);else{if(_0x4c6059&&this['currentDisplayedUsers']['length']+0x1===_0x372c06-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4c6059?0x1:0x0)<this['usersCount']){for(const _0x20270b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x20270b['id'])&&(this['currentDisplayedUsers']['add'](_0x20270b,Math['min'](this['currentDisplayedUsers']['length']-(_0x4c6059?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4c6059?0x1:0x0)===_0x372c06-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x11d0c7=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new D(this['context']['locale'],!!_0x11d0c7['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5be7b8}=this['presenceDropdownView'];_0x5be7b8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x44da56=>{if(!_0x11d0c7['displayMe']&&_0x44da56['isMe'])return null;const _0x3a231b=new U(this['context']['locale'],_0x44da56,!!_0x11d0c7['onClick']);return _0x11d0c7['onClick']&&this['listenTo'](_0x3a231b,'execute',()=>{_0x11d0c7['onClick'](_0x44da56,_0x3a231b['element']);}),_0x3a231b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5be7b8['focus'](),_0x5be7b8['checkIfScrollable']();const _0x3c460e=(_0xaa9dbe,_0x1e2996)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1e2996();};_0x5be7b8['keystrokes']['set']('Esc',_0x3c460e),_0x5be7b8['keystrokes']['set']('Shift+Tab',_0x3c460e),_0x5be7b8['keystrokes']['set']('Tab',(_0x1face4,_0x3a3945)=>{!function(_0x470259){const _0x19b6dd=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x15556f=>_0x15556f+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5251f3=[...document['body']['querySelectorAll'](_0x19b6dd)]['filter'](_0x4636f4=>_0x4636f4===document['activeElement']||_0x4636f4['offsetWidth']+_0x4636f4['offsetHeight']>0x0)['sort']((_0x542eaa,_0x43cd69)=>(_0x542eaa['tabIndex']||0x0)-(_0x43cd69['tabIndex']||0x0)),_0xfdebae=_0x5251f3['indexOf'](_0x470259),_0x5489b3=_0x5251f3[(_0xfdebae+0x1)%_0x5251f3['length']];_0x5489b3&&_0x5489b3['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3a3945();}),_0x5be7b8['focusTracker']['add'](this['view']['element']),_0x5be7b8['focusTracker']['on']('change:isFocused',(_0x22b2f1,_0x431d5b,_0x181131)=>{_0x181131||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 s extends _0x42e636{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
23
+ import{ContextPlugin as _0x3f68a4,Plugin as _0xdcbc50,PendingActions as _0x352a17,Context as _0x51b985}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x58e02a,CKEditorError as _0x19d29c,Collection as _0x52ca00,global as _0x4366f0,version as nt,uid as _0x53029c,KeystrokeHandler as _0x404036}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xc034f2,View as _0x2e989d,ListView as _0x54e28b,ListItemView as rt,LabelView as ot,BalloonPanelView as _0xcc0d89,clickOutsideHandler as _0x57da6e,BodyCollection as _0x202965}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x241be6,NoOperation as _0x27ade8,InsertOperation as _0x4955f3,MarkerOperation as _0x455320,RootAttributeOperation as _0x15eb0d,transformSets as _0x401905,OperationFactory as _0xdb4121}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x312285,CollaborativeEditingService as _0x4f847e,User as dt,CommentsService as _0x360da2,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x2aaab9,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x2e6a41}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2a9041}from'es-toolkit/compat';class c extends _0x3f68a4{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xc034f2];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1aea76){super(_0x1aea76),this['set']('state',_0x312285['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x58e02a);}['init'](){const _0x13110f=this['context'],_0xaa1bcc=_0x13110f['plugins']['get']('CloudServices'),_0x55ae5b=_0x13110f['plugins']['get'](_0xc034f2);if(!_0xaa1bcc['token'])throw new _0x19d29c('websocketgateway-missing-token',this);if(!_0xaa1bcc['webSocketUrl'])throw new _0x19d29c('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),c['WebSocketGateway']['connect'](_0xaa1bcc['token'],_0xaa1bcc['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x271802=>{if(this['connection']=_0x271802,this['bind']('state')['to'](_0x271802,'state',this,'_isBrowserOffline',(_0x3a8f85,_0x585d0a)=>('connected'!==_0x3a8f85&&(this['_shouldPluginsReconnect']=!0x0),_0x585d0a||_0x3a8f85!==_0x312285['CONNECTED']?_0x312285['DISCONNECTED']:this['state']==_0x312285['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x312285['CONNECTING']):_0x312285['CONNECTED'])),this['connection']['on']('error',(_0x27420b,_0x31038b)=>{if('limitExceeded'!==_0x31038b['code'])throw console['error'](_0x31038b),new _0x19d29c('cloudservices-init',null,{'originalError':_0x31038b});_0x55ae5b['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'});}),!_0x271802['me'])return new Promise(_0x31328b=>_0x271802['on']('change:me',_0x31328b));})['catch'](_0x4524e7=>{throw console['error'](_0x4524e7),new _0x19d29c('cloudservices-init',null,{'originalError':_0x4524e7});});}['addToReconnectionStack'](_0x517438){if('function'!=typeof _0x517438['reconnect'])throw new _0x19d29c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x517438))throw new _0x19d29c('websocketgateway-plugin-already-registered',this,{'name':_0x517438['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x517438);}['removeFromReconnectionStack'](_0x78d6f7){this['_reconnectionStack']['delete'](_0x78d6f7);}['isInReconnectionStack'](_0x38338d){return this['_reconnectionStack']['has'](_0x38338d);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5a66cb=>_0x5a66cb['reconnect']())))['then'](()=>this['state']=_0x312285['CONNECTED'])['catch'](_0x4292d0=>{throw console['error'](_0x4292d0),new _0x19d29c('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x312285['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3f68a4{['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[c,_0x2aaab9];}constructor(_0x4961d5){super(_0x4961d5),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x52ca00(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2aaab9);}['init'](){const _0x3f6174=this['context']['plugins']['get'](c);this['listenTo'](_0x3f6174,'change:state',(_0x3354fa,_0x708e0b,_0x49ad29)=>{if('connected'!==_0x49ad29)this['channelSessions']['forEach'](_0x518567=>_0x518567['clear']()),this['channelConnectedUsers']['forEach'](_0x5d92f4=>_0x5d92f4['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x49db1e,_0x123188]of this['_registeredSessions'])for(const _0x1f6224 of _0x123188)this['_handleSessionAdd'](_0x49db1e,_0x1f6224);}}),this['_createUser'](_0x3f6174['connection']['me'],!0x0);}['register'](_0x35da19,_0x20fae4){if(this['_registeredSessions']['has'](_0x35da19))throw new _0x19d29c('sessions-register-already-registered',null,{'channelId':_0x35da19});this['_registeredSessions']['set'](_0x35da19,_0x20fae4),this['channelSessions']['set'](_0x35da19,new _0x52ca00()),this['channelConnectedUsers']['set'](_0x35da19,new _0x52ca00()),this['listenTo'](_0x20fae4,'add',(_0x21c582,_0x501b46)=>this['_handleSessionAdd'](_0x35da19,_0x501b46)),this['listenTo'](_0x20fae4,'remove',(_0x9e9307,_0x1b13b9)=>this['_handleSessionRemove'](_0x35da19,_0x1b13b9));for(const _0x9f73f2 of _0x20fae4)this['_handleSessionAdd'](_0x35da19,_0x9f73f2);}['unregister'](_0x532bd1){if(!this['_registeredSessions']['has'](_0x532bd1))throw new _0x19d29c('sessions-unregister-not-exist',null,{'channelId':_0x532bd1});const _0x44b55c=this['_registeredSessions']['get'](_0x532bd1);this['stopListening'](_0x44b55c);for(const _0xf2a99 of _0x44b55c)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x532bd1,_0xf2a99);this['_registeredSessions']['delete'](_0x532bd1),this['channelSessions']['delete'](_0x532bd1),this['channelConnectedUsers']['delete'](_0x532bd1);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x25d736){for(const _0x9440a6 of this['channelSessions']['values']())for(const _0x14bc25 of _0x9440a6)if(_0x14bc25['id']===_0x25d736)return _0x14bc25['user'];}['getUserSessions'](_0x4c281a,_0x129e6a){const _0xeb0fd9=_0x129e6a?[this['channelSessions']['get'](_0x129e6a)]:this['channelSessions']['values'](),_0x25b90e=new Set();for(const _0x4da448 of _0xeb0fd9)for(const _0x289f41 of _0x4da448)_0x289f41['user']['id']===_0x4c281a['id']&&_0x25b90e['add'](_0x289f41['id']);return _0x25b90e;}['getUserRole'](_0x54ccd6){for(const _0x110f4d of this['channelSessions']['values']())for(const _0x535500 of _0x110f4d)if(_0x535500['user']===_0x54ccd6)return _0x535500['role'];}['_handleSessionAdd'](_0x27f8b6,_0x1fb42c){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x2367c5=_0x1fb42c['user'],_0x4e538f=this['_users']['getUser'](_0x2367c5['id'])||this['_createUser'](_0x2367c5),_0x10648c=Object['assign']({},_0x1fb42c,{'user':_0x4e538f});this['channelSessions']['get'](_0x27f8b6)['add'](_0x10648c);const _0x58f766=this['channelConnectedUsers']['get'](_0x27f8b6);_0x58f766['has'](_0x4e538f['id'])||_0x58f766['add'](_0x4e538f),this['allConnectedUsers']['has'](_0x4e538f['id'])||this['allConnectedUsers']['add'](_0x4e538f,_0x4e538f['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x27f8b6,{'channelId':_0x27f8b6,'session':_0x10648c});}['_handleSessionRemove'](_0x4d1fbc,_0x4b3038){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x445242=this['channelConnectedUsers']['get'](_0x4d1fbc),_0x5ca821=_0x4b3038['user'];_0x5ca821['id']&&(this['channelSessions']['get'](_0x4d1fbc)['remove'](_0x4b3038['id']),_0x445242['has'](_0x5ca821['id'])&&!this['getUserSessions'](_0x5ca821,_0x4d1fbc)['size']&&_0x445242['remove'](_0x5ca821['id']),this['allConnectedUsers']['get'](_0x5ca821['id'])&&!this['getUserSessions'](_0x5ca821)['size']&&this['allConnectedUsers']['remove'](_0x5ca821['id']));}['_createUser'](_0x1d93e2,_0x2ed4f8){const _0xea685=this['_users']['addUser'](_0x1d93e2);return _0x2ed4f8&&this['_users']['defineMe'](_0x1d93e2['id']),_0xea685['orderNumber']=this['_uniqueUsersCount']++,_0xea685;}}class q extends _0xdcbc50{['_domEmitter']=new(_0x58e02a())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4d0d7e=this['editor'],_0xff3e91=_0x4d0d7e['plugins']['get'](i);_0x4d0d7e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x38ccc2,{writer:_0x1af9ea})=>function(_0x51edb6,_0x3b7869,_0x52193b,_0x4a5507){const _0x33ce22=_0x51edb6['markerName']['split'](':')[0x2],_0xd3c0f9=_0x52193b['getUserBySessionId'](_0x33ce22);if(!_0xd3c0f9||_0x33ce22===_0x52193b['mySessionId'])return;if(!_0x4a5507['model']['schema']['checkChild'](_0x51edb6['markerRange']['start'],'$text'))return;const _0xc38011={'class':'ck-user__marker\x20'+_0xd3c0f9['color']['getMarkerClass'](),'data-name':_0xd3c0f9['name'],'data-session-id':_0x33ce22},_0x59c2d6=_0x4a5507['model']['markers']['get'](_0x51edb6['markerName']),_0x59a72d=_0x59c2d6['getStart'](),_0x576ae8=_0x59a72d['nodeAfter'],_0x38c123=_0x4a5507['model']['schema'];if(_0x576ae8&&_0x38c123['isObject'](_0x576ae8)&&_0x38c123['isInline'](_0x576ae8)&&!_0x4a5507['model']['markers']['get']('user:range:'+_0x33ce22)['getRange']()['isCollapsed'])return;const _0x5efff8=_0x59a72d['parent'];return _0x4a5507['model']['schema']['isLimit'](_0x5efff8)&&!_0x4a5507['model']['hasContent'](_0x5efff8)&&(_0xc38011['contenteditable']=!0x1),function(_0x150bf9,_0x4396d7,_0x63fe4e){const _0x1cd20e=_0x150bf9['createUIElement']('span',_0x4396d7);return _0x150bf9['setCustomProperty']('userPositionMarker',!0x0,_0x1cd20e),_0x1cd20e['render']=function(_0x4f25a8){const _0x18e49c=this['toDomElement'](_0x4f25a8),_0x3d3303=document['createElement']('span');return _0x3d3303['classList']['add']('ck-user__marker-tooltip'),_0x3d3303['setAttribute']('contenteditable','false'),_0x3d3303['setAttribute']('spellcheck','false'),_0x3d3303['textContent']=_0x63fe4e['name'],_0x18e49c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3d3303['outerHTML']+'⁠',_0x18e49c['addEventListener']('mouseenter',()=>{_0x18e49c['classList']['add']('ck-user__marker_hovered');}),_0x18e49c['addEventListener']('mouseleave',()=>{_0x18e49c['classList']['remove']('ck-user__marker_hovered');}),_0x18e49c;},_0x1cd20e['isSimilar']=function(_0x18d014){return!(!this['getCustomProperty']('userPositionMarker')||!_0x18d014['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x18d014['getAttribute']('data-session-id'));},_0x1cd20e;}(_0x3b7869,_0xc38011,_0xd3c0f9);}(_0x38ccc2,_0x1af9ea,_0xff3e91,_0x4d0d7e)}),_0x4d0d7e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5f5b1b=>function(_0x56c5e0,_0x177fef){const _0x2859fe=_0x56c5e0['markerName']['split'](':')[0x2];if(_0x2859fe===_0x177fef['mySessionId'])return null;const _0x33c0f1=_0x177fef['getUserBySessionId'](_0x2859fe);if(!_0x33c0f1)return{'id':_0x2859fe,'classes':[]};return{'id':_0x2859fe,'classes':['ck-user__selection',_0x33c0f1['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2859fe},'priority':0x7d0+_0x33c0f1['orderNumber']};}(_0x5f5b1b,_0xff3e91)}),function(_0x1c5e43){const _0x582f7c=_0x1c5e43['model'],_0x5a5388=new Map(),_0x307b98=_0x1c5e43['plugins']['get'](i);_0x582f7c['markers']['on']('update:user:range',(_0x382aca,_0x156b12,_0x3767db,_0x36be2f)=>{if(!_0x36be2f&&_0x5a5388['get'](_0x156b12['name']))return _0x5a5388['get'](_0x156b12['name'])['detach'](),void _0x5a5388['delete'](_0x156b12['name']);const _0x18afe7=_0x156b12['name']['split'](':')[0x2];if(_0x18afe7===_0x307b98['mySessionId'])return;const _0x2ff4d9='user:position:'+_0x18afe7;_0x582f7c['markers']['has'](_0x2ff4d9)&&_0x1c5e43['editing']['reconvertMarker'](_0x2ff4d9),_0x156b12['on']('change:range',(_0x20e157,_0x223cca,_0x15ae12)=>{if('$graveyard'!=_0x223cca['root']['rootName']&&'$graveyard'==_0x156b12['getRange']()['root']['rootName']&&!_0x5a5388['has'](_0x156b12['name'])){const _0x14bd92=_0x582f7c['schema']['getNearestSelectionRange'](_0x15ae12['deletionPosition']);if(_0x14bd92){const _0x1a501f=ht['fromRange'](_0x14bd92);_0x5a5388['set'](_0x156b12['name'],_0x1a501f),_0x1a501f['on']('change:range',(_0x28acd6,_0x5a7209,_0x3ef412)=>{if('$graveyard'==_0x1a501f['root']['rootName']){const _0x183233=_0x582f7c['schema']['getNearestSelectionRange'](_0x3ef412['deletionPosition']);_0x183233?(_0x1a501f['start']=_0x183233['start'],_0x1a501f['end']=_0x183233['end']):(_0x5a5388['delete'](_0x156b12['name']),_0x1a501f['detach']());}});}}});}),_0x582f7c['document']['on']('change',()=>{_0x5a5388['size']>0x0&&_0x582f7c['enqueueChange']({'isUndoable':!0x1},_0x37e516=>{for(const [_0x19d3b8,_0x42678c]of _0x5a5388)'$graveyard'==_0x582f7c['markers']['get'](_0x19d3b8)['getRange']()['root']['rootName']&&(te(_0x19d3b8['split'](':')[0x2],_0x42678c['toRange'](),_0x582f7c,_0x37e516),_0x42678c['detach']());_0x5a5388['clear']();});});}(_0x4d0d7e),this['_domEmitter']['listenTo'](_0x4366f0['document'],'keydown',(_0x58484d,{key:_0x5e116c})=>{'Escape'===_0x5e116c&&function(_0x3db62a){_0x3db62a['editing']['view']['change'](_0x161cb6=>{for(const _0x5c3b1f of _0x3db62a['model']['markers']){if(!_0x5c3b1f['name']['startsWith']('user:position'))continue;const _0xaedbbf=_0x3db62a['editing']['mapper']['markerNameToElements'](_0x5c3b1f['name']);if(_0xaedbbf){for(const _0x43dda8 of _0xaedbbf)_0x161cb6['removeClass']('ck-user__marker_hovered',_0x43dda8);}}});}(_0x4d0d7e);},{'useCapture':!0x0});}['afterInit'](){const _0x36e65f=this['editor'],_0x365bd8=_0x36e65f['commands']['get']('undo');_0x365bd8&&_0x36e65f['model']['on']('applyOperation',(_0x258eaa,_0x4b8315)=>{const _0x5114dd=_0x4b8315[0x0];if(!_0x5114dd['isDocumentOperation'])return;if('marker'!=_0x5114dd['type']||!_0x5114dd['name']['startsWith']('user:'))return;const _0x430401=_0x5114dd['batch'];_0x365bd8['_createdBatches']['has'](_0x430401)&&(_0x5114dd['newRange']=_0x5114dd['oldRange']?_0x36e65f['model']['createRange'](_0x5114dd['oldRange']['start'],_0x5114dd['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x8e831c=this['editor'],_0x4107d7=_0x8e831c['model']['document'],_0x115e6e=_0x8e831c['plugins']['get'](i);_0x8e831c['model']['enqueueChange']({'isUndoable':!0x1},_0x2505b2=>{const _0x4a00e9='user:range:'+_0x115e6e['mySessionId'],_0xebf53c='user:position:'+_0x115e6e['mySessionId'],_0x506f94=_0x8e831c['model']['markers']['has'](_0x4a00e9);_0x8e831c['editing']['view']['hasDomSelection']?te(_0x115e6e['mySessionId'],_0x4107d7['selection']['getFirstRange'](),_0x8e831c['model'],_0x2505b2):_0x506f94&&(_0x2505b2['removeMarker'](_0x4a00e9),_0x2505b2['removeMarker'](_0xebf53c));});}}function te(_0x4f15c6,_0x50fbe9,_0x211c28,_0x11f045){const _0x5edd7e='user:range:'+_0x4f15c6,_0x5aed46='user:position:'+_0x4f15c6,_0x536d45=_0x50fbe9['getContainedElement']();let _0xd0b1d=_0x50fbe9['start'];if(_0x536d45&&_0x536d45['is']('element','tableCell')){const _0x13d82b=function(_0x5bcebf,_0x4bc03f){for(const _0x937850 of _0x5bcebf['getPositions']())if(_0x4bc03f['schema']['checkChild'](_0x937850,'$text'))return _0x937850;}(_0x50fbe9,_0x211c28);_0x13d82b&&(_0xd0b1d=_0x13d82b,_0x50fbe9=_0x11f045['createRange'](_0xd0b1d));}const _0x16cffd=_0x11f045['createRange'](_0xd0b1d);_0x211c28['markers']['has'](_0x5edd7e)?(_0x11f045['updateMarker'](_0x5edd7e,{'range':_0x50fbe9}),_0x11f045['updateMarker'](_0x5aed46,{'range':_0x16cffd})):(_0x11f045['addMarker'](_0x5edd7e,{'range':_0x50fbe9,'usingOperation':!0x0}),_0x11f045['addMarker'](_0x5aed46,{'range':_0x16cffd,'usingOperation':!0x0}));}function G(_0x8411e5,_0x282679,_0xf183f3){const _0x4b8929=_0x8411e5['t'],t=_0x8411e5['t'];switch(_0x282679){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 _0x4b8929({'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'},_0xf183f3);default:return'';}}let J=0x1;class l extends _0xdcbc50{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x4f847e)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x352a17,_0x2aaab9,_0xc034f2];}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 _0x315b37=this['serverHistory']['getOperations']();for(let _0xba6ebe=_0x315b37['length']-0x1;_0xba6ebe>=0x0;_0xba6ebe--){const _0x4bb05b=_0x315b37[_0xba6ebe];if(!this['_disconnectionOperations']['has'](_0x4bb05b))return _0x4bb05b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5c7834){if(super(_0x5c7834),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x241be6(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x19d29c('collaboration-missing-channelid',this);const _0x54e674=_0x5c7834['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x54e674,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2e6a41(),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 Y(this['_disconnectionOperations']);}['init'](){const _0x4d3f45=this['editor'],_0x4194b1=_0x4d3f45['plugins']['get'](_0x2aaab9),_0x4b0779=_0x4d3f45['plugins']['get'](c);this['listenTo'](_0x4194b1,'getOperationAuthor',(_0x3f2a60,_0x5e3ab2)=>{const _0x5ee973=_0x5e3ab2[0x0];_0x5ee973['_authorId']&&(_0x3f2a60['return']=_0x4194b1['getUser'](_0x5ee973['_authorId']),_0x3f2a60['stop']()),null===_0x5ee973['_authorId']&&(_0x3f2a60['return']=null,_0x3f2a60['stop']());},{'priority':'high'}),this['listenTo'](_0x4d3f45['model']['document']['selection'],'change:range',(_0x2beb2f,_0x3417d0)=>{_0x3417d0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4d3f45['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4d3f45['model']['on']('applyOperation',(_0x3347e4,_0x2989fb)=>{const _0x12b350=_0x2989fb[0x0];_0x12b350['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x12b350),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4b0779,'state',this,'_hasSynchronizationProblem',(_0x21747d,_0x1f21f3)=>'connected'===_0x21747d&&!_0x1f21f3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4d3f45['disableReadOnlyMode']('rtc-offline'):_0x4d3f45['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4d3f45['disableReadOnlyMode']('rtc-offline'):_0x4d3f45['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3f243e=this['editor']['plugins']['get'](i),_0x528cb4=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x3f243e['unregister'](this['_channelId']);const _0x4704ad=await this['_service']['reconnect'](_0x528cb4['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4704ad)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x554546=await this['_service']['getConnectedSessions']();_0x3f243e['register'](this['_channelId'],_0x554546),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5b8d22){if(function(_0x18618b){return'404'===_0x18618b['code'];}(_0x5b8d22)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x34d2fa){return'409'===_0x34d2fa['code'];}(_0x5b8d22)){const _0x39a5fd=G(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'](_0x39a5fd);}else{if(!(_0x5b8d22 instanceof Q))throw _0x5b8d22;this['_handleReconnectionError']();}}}}['destroy'](){const _0x33eb60=this['editor']['plugins']['get'](c),_0x387f81=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x387f81['channelSessions']['has'](this['_channelId'])&&_0x387f81['unregister'](this['_channelId']),_0x33eb60['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5df39e){if(this['sessionId']!==_0x5df39e['sessionId']&&this['_lastSyncedOperationId']!==_0x5df39e['lastOperationId'])throw new Q();return this['sessionId']=_0x5df39e['sessionId'],this['_handleServerResponse']([],{..._0x5df39e,'wereChangesApplied':!0x1,'data':_0x5df39e['data']},'reconnect');}async['_connectService'](_0x30feaa,_0x4dea60=!0x1){const {connection:_0x275bb8}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x275bb8,this['_channelId'])['then'](_0x16b045=>this['_initSessionsHandling'](_0x16b045))['catch'](_0x5aee6c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5aee6c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x572b90,_0x408165)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x408165);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x2e9dbb=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x30feaa);this['_isPendingUpdate']=!0x0;const _0x31d791=await this['_service']['connect'](_0x275bb8,this['_compressOperations'](_0x30feaa),_0x2e9dbb);if(this['sessionId']=_0x31d791['sessionId'],_0x4dea60){if(!_0x31d791['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x31d791['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x30feaa,_0x31d791,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x31d791,_0x30feaa);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x177a19=this['editor']['plugins']['get'](i),_0x3fee87=this['editor']['plugins']['get'](q),_0x19ad16=_0x177a19['channelSessions']['get'](this['_channelId']);_0x19ad16&&_0x19ad16['length']>0x1?_0x3fee87['createUserMarkerOperations']():this['listenTo'](_0x177a19,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x177a19['channelSessions']['get'](this['_channelId'])['length']&&_0x3fee87['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x242fb6,_0x37e39b,_0x2be766,_0x4c397b){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x37e39b){const _0x3ecd26=this['_decompressOperations'](_0x2be766,_0x4c397b);await this['_fetchMissingUsers'](_0x3ecd26),this['_handleExternalOperations'](_0x3ecd26,_0x37e39b,_0x2be766['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x97eb67}=this['editor'];let _0x1e0a1d;try{_0x1e0a1d=await this['_service']['getDocumentDetails']();}catch{const _0xb18869=G(_0x97eb67,'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'](_0xb18869);}const _0x502736=_0x1e0a1d['currentDocumentSession']||_0x1e0a1d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x502736['lastOperationId']){const _0x2f6287=G(_0x97eb67,'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'](_0x2f6287);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x452e66){const _0x432a64=this['editor']['plugins']['get'](i);this['listenTo'](_0x432a64,'sessionAdd:'+this['_channelId'],(_0x39d590,{session:_0x15db25})=>{if(_0x15db25['id']===_0x432a64['mySessionId']){_0x39d590['off']();const _0x41a0bf=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x33f39e=_0x15db25['permissions'];_0x41a0bf&&_0x41a0bf['isEnabled']&&(_0x33f39e=_0x33f39e['filter'](_0x4fef0c=>'document:write'!==_0x4fef0c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x33f39e,this['_channelId']);}}),_0x432a64['register'](this['_channelId'],_0x452e66);}['_initThrowingOnDataSet'](){const _0x16c9dc=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3242a4)=>{if(!_0x3242a4[_0x3242a4['length']-0x1]['suppressErrorInCollaboration'])throw new _0x19d29c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x16c9dc['apply'](this['editor']['data'],_0x3242a4);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4382d2,[_0x5b2113])=>{if(this['_document']['version'])throw new _0x19d29c('realtimecollaborationclient-init-document-already-initialized',this);_0x4382d2['stop'](),this['_setPendingAction']();const _0x17ac41=this['editor']['config']['get']('rootsAttributes'),_0x318746=this['_getOperationsFromInitData'](_0x5b2113,_0x17ac41);0x0==_0x318746['length']&&_0x318746['push'](new _0x27ade8(0x0)),_0x4382d2['return']=this['_connectService'](_0x318746)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x23fcff=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x23fcff))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x40cf36,[_0x2bbeec,_0x278870])=>{_0x40cf36['stop']();const _0x220e08=this['editor']['model']['document']['getRoot'](_0x2bbeec);if(!this['_knownRootNames']['has'](_0x2bbeec)){const _0x5457df=_0x278870&&_0x278870['data']?_0x278870['data']:'',_0x55fad4=_0x278870&&_0x278870['attributes']?_0x278870['attributes']:{};await this['_loadRoot'](_0x2bbeec,_0x5457df,_0x55fad4);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x220e08['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x220e08);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x440f0d){const _0x19fb08=this['editor']['plugins']['get'](_0x2aaab9),{connection:_0x3022f1}=this['editor']['plugins']['get'](c),_0x2c4fcd=new Set();for(const _0x16648c of _0x440f0d){const _0x13daf1=_0x16648c['_authorId'];_0x13daf1&&!_0x19fb08['getUser'](_0x13daf1)&&_0x2c4fcd['add'](_0x13daf1);}if(0x0===_0x2c4fcd['size'])return;const _0x4d56fb=await dt['getMany'](_0x3022f1,Array['from'](_0x2c4fcd));for(const _0x4933d4 of _0x4d56fb)_0x19fb08['getUser'](_0x4933d4['id'])||_0x19fb08['addUser'](_0x4933d4);}['_getOperationsFromInitData'](_0xfeefc2,_0x34450a={}){const _0x4b0352=this['editor']['model'],_0x5cf809=[];let _0x37680e=0x0;const _0x25cc6c='string'==typeof _0xfeefc2?{'main':_0xfeefc2}:_0xfeefc2;for(const _0x47cc1d of Object['keys'](_0x25cc6c)){if(!this['_document']['roots']['has'](_0x47cc1d))throw new _0x19d29c('realtimecollaborationclient-init-non-existent-root',this);const _0x17ee4d=this['editor']['data']['parse'](_0x25cc6c[_0x47cc1d]),_0x51e8cd=this['_document']['getRoot'](_0x47cc1d),_0x399a38=new _0x4955f3(_0x4b0352['createPositionAt'](_0x51e8cd,0x0),_0x17ee4d,_0x37680e++);_0x5cf809['push'](_0x399a38);for(const [_0x33d163,_0x699fd6]of _0x17ee4d['markers']){const _0x5802b0=_0x4b0352['createRange'](_0x4b0352['createPositionFromPath'](_0x51e8cd,_0x699fd6['start']['path']['slice']()),_0x4b0352['createPositionFromPath'](_0x51e8cd,_0x699fd6['end']['path']['slice']())),_0x2e5728=new _0x455320(_0x33d163,null,_0x5802b0,_0x4b0352['markers'],!0x0,_0x37680e++);_0x5cf809['push'](_0x2e5728);}}if(_0x34450a)for(const [_0xe16a9f,_0x26e589]of Object['entries'](_0x34450a)){const _0x347668=_0x4b0352['document']['getRoot'](_0xe16a9f);if(!_0x347668)throw new _0x19d29c('multi-root-editor-root-attributes-no-root',null);for(const [_0x4379df,_0x35a01f]of Object['entries'](_0x26e589))if(null!==_0x35a01f){const _0x448df7=new _0x15eb0d(_0x347668,_0x4379df,null,_0x35a01f,_0x37680e++);_0x5cf809['push'](_0x448df7);}}return _0x5cf809;}async['_loadRoot'](_0x181ef8,_0x6d4080,_0x2dab9a){this['_getOperationsFromInitData']({[_0x181ef8]:_0x6d4080},{[_0x181ef8]:_0x2dab9a})['forEach']((_0x2839d5,_0x3b7991)=>{_0x2839d5['baseVersion']=this['_document']['version']+_0x3b7991,_0x2839d5['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2839d5);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2515cf,_0x39ea31){let _0x1f7eff;this['_offset']=_0x2515cf['offset'];const _0x514774=_0x2515cf['wereChangesApplied']&&!_0x2515cf['initData'],_0x20028b=_0x514774?0x0:_0x2515cf['data']['baseVersion'];if(_0x39ea31['forEach'](_0x37bac7=>{_0x37bac7['_isInit']=!0x0,_0x37bac7['createdAt']=_0x2515cf['sessionCreatedAt'],_0x37bac7['_authorId']=null;}),_0x514774)_0x1f7eff=_0x39ea31,this['_applyOperationsSet'](_0x1f7eff,_0x514774);else{if(_0x2515cf['initData']){const _0x4cceb4=this['_getOperationsFromInitData'](_0x2515cf['initData']);this['_document']['history']['version']=-_0x4cceb4['length'],_0x4cceb4['forEach'](_0x2661ad=>{_0x2661ad['baseVersion']-=_0x4cceb4['length'],_0x2661ad['createdAt']=_0x2515cf['sessionCreatedAt'],_0x2661ad['_isInit']=!0x0,_0x2661ad['_authorId']=null;}),this['_applyOperationsSet'](_0x4cceb4,!0x0),this['serverHistory']['version']=-_0x4cceb4['length']+this['_offset'],this['_updateServerHistory'](_0x4cceb4);}this['_document']['history']['version']=_0x20028b,_0x1f7eff=this['_decompressOperations'](_0x2515cf['data'],_0x2515cf['metadata']),await this['_fetchMissingUsers'](_0x1f7eff),this['_applyOperationsSet'](_0x1f7eff,_0x514774);}_0x2515cf['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f7eff,_0x2515cf['lastOperationId']),this['_lastSyncedOperationId']=_0x2515cf['lastOperationId']),this['serverHistory']['version']=_0x20028b+this['_offset'],this['_updateServerHistory'](_0x1f7eff),_0x39ea31['filter'](_0x476f82=>{const _0x78ca8=this['_getAffectedRoot'](_0x476f82);return _0x78ca8&&!this['_knownRootNames']['has'](_0x78ca8);})['forEach']((_0x16ed26,_0x20df46)=>{_0x16ed26['baseVersion']=this['_document']['version']+_0x20df46,this['_saveOperationInBuffer'](_0x16ed26);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x9c60be,_0x1419b4){const _0x156715=_0x1419b4&&_0x1419b4['message'];if(_0x156715&&_0x156715['startsWith']('realtimecollaborationclient'))throw _0x1419b4;const _0x59b8fe=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x59b8fe['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x19d29c(_0x9c60be,this['editor'],_0x156715?{'originalError':_0x156715}:void 0x0);}['_saveOperationInBuffer'](_0x4e01aa){this['_knownOperations']['has'](_0x4e01aa)||(this['_knownOperations']['add'](_0x4e01aa),this['_bufferedOperations']['push'](_0x4e01aa),this['_pendingAction']||'marker'==_0x4e01aa['type']&&!_0x4e01aa['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x21e289=!0x1){!_0x21e289&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5d707d=>{_0x5d707d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x519b19=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x53bc72){return _0x53bc72['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x53bc72['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x53bc72['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x519b19)||this['_crash'](_0x519b19['message'],_0x519b19);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x872ae2=>{this['on']('change:_isPendingUpdate',()=>{_0x872ae2();});});}async['_sendBufferedOperations'](){const _0x1d153f=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0x1d153f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x346530=[...this['_bufferedOperations']];for(const _0x55ea5b of _0x346530)_0x55ea5b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x55ea5b);const _0x4ace40=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x346530),_0x52572a=J++,_0x369125=this['_compressOperations'](_0x346530),_0x3beaf2=await this['_service']['sendOperations'](_0x369125,_0x369125['baseVersion'],_0x4ace40);try{return await this['_handleServerResponse'](_0x346530,_0x3beaf2,_0x52572a);}catch(_0x5c06e0){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5c06e0);}}async['_handleServerResponse'](_0x1fcb44,_0x559830,_0xb52e61){if('error'in _0x559830)throw _0x559830['error'];let _0x4a0e37=!0x1;if(_0x559830['wereChangesApplied']){_0x559830['lastOperationId']&&(this['_lastSyncedOperationId']=_0x559830['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x48b97e=>!_0x1fcb44['includes'](_0x48b97e));for(const _0x1dbf02 of _0x1fcb44)_0x1dbf02['createdAt']='lastOperationAcceptedAt'in _0x559830&&_0x559830['lastOperationAcceptedAt']||void 0x0;X(_0x1fcb44,_0x559830['version']-_0x1fcb44['length']),this['_updateServerHistory'](_0x1fcb44);const _0x104b50=_0x1fcb44['filter'](_0x5a364c=>{if(!_0x5a364c['_isInit'])return!0x1;const _0x2ddd23=this['_getAffectedRoot'](_0x5a364c);return _0x2ddd23&&!this['_knownRootNames']['has'](_0x2ddd23);});X(_0x104b50,this['_document']['version']),this['_applyOperationsSet'](_0x104b50),_0x4a0e37=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x468c25=this['_decompressOperations'](_0x559830['data'],_0x559830['metadata'])['filter'](_0x260054=>_0x260054['baseVersion']>=this['_lastServerVersion']);_0x468c25['forEach'](_0x38932e=>this['_addKnownRoot'](_0x38932e)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x35f5f6=>!_0x35f5f6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x35f5f6))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x468c25),_0x4a0e37=this['_handleExternalOperations'](_0x468c25,_0x559830['version'],_0x559830['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x4a0e37?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x132e86,_0x2e3514,_0x412ca2){try{const _0x235c7f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4dec66,operationsB:_0x49a823,originalOperations:_0x49a85}=_0x401905(_0x132e86,this['_bufferedOperations'],_0x235c7f);X(_0x4dec66,this['_document']['version']),X(_0x49a823,_0x2e3514);for(const _0x271fed of _0x4dec66){const _0x3e8b50=_0x49a85['get'](_0x271fed);_0x271fed['_authorId']=_0x3e8b50?_0x3e8b50['_authorId']:null;}_0x412ca2&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x132e86,_0x412ca2),this['_lastSyncedOperationId']=_0x412ca2),this['_bufferedOperations']=[..._0x49a823],this['_applyOperationsSet'](_0x4dec66),this['_updateServerHistory'](_0x132e86);}catch(_0x57d8c2){return console['error'](_0x57d8c2),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5c7d8c,_0x4f365a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x134212=>{for(const _0x5565ae of _0x5c7d8c)this['_knownOperations']['add'](_0x5565ae),this['_addKnownRoot'](_0x5565ae),_0x134212['batch']['addOperation'](_0x5565ae),this['editor']['model']['applyOperation'](_0x5565ae);});}['_addKnownRoot'](_0x4a7ede){const _0xd5bead=this['_getAffectedRoot'](_0x4a7ede);_0xd5bead&&this['_knownRootNames']['add'](_0xd5bead);}['_getAffectedRoot'](_0x196360){let _0x1b6f52,_0x3c8f9c;switch(_0x196360['type']){case'insert':_0x1b6f52=_0x196360['position']['root'];break;case'marker':if(_0x3c8f9c=_0x196360['newRange'],!_0x3c8f9c)return null;_0x1b6f52=_0x3c8f9c['root'];break;case'addRootAttribute':_0x1b6f52=_0x196360['root'];break;case'addRoot':_0x1b6f52=_0x196360['affectedSelectable'];break;case'move':_0x1b6f52=_0x196360['targetPosition']['root'];break;default:return null;}return _0x1b6f52['rootName'];}['_updateServerHistory'](_0x5da47c){_0x5da47c['forEach'](_0xe943b1=>{const _0x13a25a=_0xe943b1['clone']();_0x13a25a['_authorId']=_0xe943b1['_authorId'],_0x13a25a['_isInit']=!!_0xe943b1['_isInit'],_0x13a25a['createdAt']=_0xe943b1['createdAt'],_0x13a25a['baseVersion']+=this['_offset'],_0xe943b1['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x13a25a),this['serverHistory']['addOperation'](_0x13a25a);});}['_handleReconnectionError'](_0x53978d){const _0x5982c8=this['editor']['plugins']['get']('Notification'),_0x13d08d=this['editor']['locale'];_0x53978d||(_0x53978d=G(_0x13d08d,'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.')),_0x5982c8['showWarning'](_0x53978d,{'title':G(_0x13d08d,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x352a17)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x352a17)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x435096){const _0x11f008=_0x435096['map'](_0x4cb939=>_0x4cb939['toJSON']());return this['_compressor']['compress'](_0x11f008);}['_decompressOperations'](_0x43a4e6,_0xad23d8){return this['_compressor']['decompress'](_0x43a4e6)['map']((_0x4c8c15,_0x1f4947)=>{const _0x47035e='init'==_0xad23d8[_0x1f4947]['type'];if('InsertOperation'==_0x4c8c15['__className']){const _0x510439=_0x4c8c15['position']['root'];!this['_document']['getRoot'](_0x510439)&&(this['_document']['createRoot']('$root',_0x510439)['_isAttached']=!0x1);}const _0x4ed1ba=_0xdb4121['fromJSON'](_0x4c8c15,this['_document']);return _0x4ed1ba['wasUndone']=_0x4c8c15['wasUndone'],_0x4ed1ba['_isInit']=_0x47035e,_0x4ed1ba['_authorId']=_0x47035e?null:_0xad23d8[_0x1f4947]['userId'],_0x4ed1ba['_isDisconnection']='cs:removeUser'===_0xad23d8[_0x1f4947]['type'],_0x4ed1ba['createdAt']=_0xad23d8[_0x1f4947]['createdAt'],_0x4ed1ba;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3f25fb=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3f25fb&&_0x3f25fb['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x13819a,_0x294514){for(const _0x4bbda1 of _0x13819a)_0x4bbda1['baseVersion']=_0x294514++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x5dab86){this['_ignoredOperations']=_0x5dab86,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1ce2e2){let _0x391c84=_0x1ce2e2['length'];for(;_0x391c84--;){const _0x473997=_0x1ce2e2[_0x391c84];if(!this['_ignoredOperations']['has'](_0x473997)){if(!this['_operationToId']['has'](_0x473997)){const _0x14ce74=_0x53029c()['slice'](0x1,0x12);this['_operationToId']['set'](_0x473997,_0x14ce74);}return this['_operationToId']['get'](_0x473997);}}}['setIdForTheLastOperation'](_0x32e42d,_0x31a0d6){if(!_0x31a0d6)return;let _0x4334cf=_0x32e42d['length'];for(;_0x4334cf--;){const _0x2e93a0=_0x32e42d[_0x4334cf];this['_ignoredOperations']['has'](_0x2e93a0)||this['_operationToId']['set'](_0x2e93a0,_0x31a0d6);}}}class n extends _0xdcbc50{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x3f68a4{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x360da2)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x2aaab9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x360e72){super(_0x360e72),this['_services']=new Map();}async['init'](){const _0x39b43b=this['context'],_0x1f0951=_0x39b43b['plugins']['get']('CommentsRepository');if(_0x39b43b['plugins']['get'](c)['addToReconnectionStack'](this),_0x1f0951['adapter']={'addCommentThread':async({channelId:_0x18d894,threadId:_0x5b8e26,comments:_0x33b269,resolvedAt:_0x1c86db,resolvedBy:_0x4d0c1c,context:_0x487c48,attributes:_0x2bc87e})=>{const _0x2b265f=await this['_getService'](_0x18d894)['addCommentThread']({'commentThreadId':_0x5b8e26,'comments':_0x33b269['map'](_0x5449d3=>function(_0x299906,_0x13634b,_0x29abe9){return{'commentThreadId':_0x29abe9,'commentId':_0x299906['commentId'],'userId':_0x299906['authorId'],'content':_0x299906['content'],'documentId':_0x13634b,'createdAt':_0x299906['createdAt'],'attributes':_0x299906['attributes']||{}};}(_0x5449d3,_0x18d894,_0x5b8e26)),'resolvedAt':_0x1c86db,'resolvedBy':_0x4d0c1c,'context':_0x487c48,'attributes':_0x2bc87e})['catch'](ut);return{'threadId':_0x2b265f['commentThreadId'],'comments':_0x2b265f['comments']};},'getCommentThread':async({channelId:_0x28e0a2,threadId:_0x13504e})=>{const _0x1a89ad=await this['_getService'](_0x28e0a2)['getCommentThread'](_0x13504e)['catch'](ut);return _0x1a89ad['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1a89ad]),{'threadId':_0x1a89ad['commentThreadId'],'comments':_0x1a89ad['comments']['map'](_),'context':_0x1a89ad['context'],'resolvedAt':_0x1a89ad['resolvedAt'],'resolvedBy':_0x1a89ad['resolvedBy'],'attributes':_0x1a89ad['attributes']||{}});},'updateCommentThread':async({channelId:_0x2475f1,threadId:_0x36f33d,context:_0x329896,unlinkedAt:_0x4d7c0e,attributes:_0x11b163})=>this['_getService'](_0x2475f1)['updateCommentThread']({'commentThreadId':_0x36f33d,'context':_0x329896,'attributes':_0x11b163,'unlinkedAt':_0x4d7c0e})['catch'](S)['catch'](ut),'resolveCommentThread':async({channelId:_0x322aaf,threadId:_0x135409})=>{const _0x1babf0=await this['_getService'](_0x322aaf)['resolveCommentThread'](_0x135409)['catch'](S)['catch'](ut);return{'threadId':_0x1babf0['commentThreadId'],'resolvedAt':_0x1babf0['resolvedAt'],'resolvedBy':_0x1babf0['resolvedBy']};},'reopenCommentThread':async({channelId:_0x18ac7b,threadId:_0x2725a0})=>this['_getService'](_0x18ac7b)['reopenCommentThread'](_0x2725a0)['catch'](S)['catch'](ut),'removeCommentThread':({channelId:_0x5a39f0,threadId:_0x21001a})=>this['_getService'](_0x5a39f0)['removeCommentThread'](_0x21001a)['catch'](S)['catch'](ut),'addComment':({channelId:_0x5d2aea,threadId:_0x138469,commentId:_0x548241,content:_0x2dcab0,attributes:_0x52a635})=>this['_getService'](_0x5d2aea)['addComment'](_0x138469,_0x548241,_0x2dcab0,_0x52a635)['catch'](ut),'updateComment':({channelId:_0x463bb2,threadId:_0x55ba91,commentId:_0x26a2a8,content:_0x3609d6,attributes:_0xa0351d})=>this['_getService'](_0x463bb2)['updateComment'](_0x55ba91,_0x26a2a8,_0x3609d6,_0xa0351d)['catch'](S)['catch'](ut),'removeComment':({channelId:_0xf881e1,threadId:_0x15f936,commentId:_0x380439})=>this['_getService'](_0xf881e1)['removeComment'](_0x15f936,_0x380439)['catch'](S)['catch'](ut)},_0x39b43b instanceof _0x51b985){const _0xd8b47c=_0x39b43b['config']['get']('collaboration.channelId'),_0x23f506=_0x39b43b['plugins']['get'](i);await this['_setUpService'](_0xd8b47c);const _0x963752=await this['_services']['get'](_0xd8b47c)['getConnectedSessions']();this['listenTo'](_0x23f506,'sessionAdd:'+_0xd8b47c,(_0xab493d,{session:_0x2347f0})=>{_0x2347f0['id']===_0x23f506['mySessionId']&&(_0xab493d['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2347f0['permissions'],_0xd8b47c));}),_0x23f506['register'](_0xd8b47c,_0x963752);}}async['_setUpService'](_0x28c2c5){if(this['_services']['has'](_0x28c2c5))throw new _0x19d29c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x28c2c5});const _0x464d9e=this['context']['plugins']['get']('CommentsRepository'),_0x32490d=new a['CommentsService'](_0x28c2c5);this['_services']['set'](_0x28c2c5,_0x32490d),this['listenTo'](_0x32490d,'commentThreadAdded',(_0x1d7274,_0x5a0e76)=>{const {commentThreadId:_0x114208,documentId:_0x437ec5,context:_0x17617b,attributes:_0x2b331c,resolvedAt:_0x15fb94,resolvedBy:_0x4f67c9,comments:_0x1fd78f}=_0x5a0e76;_0x464d9e['getCommentThread'](_0x114208)||_0x464d9e['addCommentThread']({'threadId':_0x114208,'channelId':_0x437ec5,'comments':_0x1fd78f?_0x1fd78f['map'](_):[],'context':_0x17617b,'attributes':_0x2b331c,'resolvedAt':_0x15fb94,'resolvedBy':_0x4f67c9,'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadUpdated',(_0x3060b8,{commentThreadId:_0x488a61,documentId:_0x33d771,context:_0x62b15,unlinkedAt:_0xdc1f74,attributes:_0x216f3e})=>{_0x464d9e['getCommentThread'](_0x488a61)&&_0x464d9e['updateCommentThread']({'threadId':_0x488a61,'channelId':_0x33d771,'context':_0x62b15,'unlinkedAt':_0xdc1f74,'attributes':_0x216f3e,'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadResolved',(_0xcf65a9,{commentThreadId:_0x125ca9,resolvedBy:_0x54c59e,resolvedAt:_0x235edf})=>{const _0x11b240=_0x464d9e['getCommentThread'](_0x125ca9);_0x11b240&&_0x11b240['resolve']({'resolvedBy':_0x54c59e,'resolvedAt':_0x235edf,'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadReopened',(_0x227cb0,{commentThreadId:_0x426e6f})=>{const _0x409980=_0x464d9e['getCommentThread'](_0x426e6f);_0x409980&&_0x409980['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadRemoved',(_0x4a0f79,{commentThreadId:_0x2d3b44})=>{const _0x4c49fd=_0x464d9e['getCommentThread'](_0x2d3b44);_0x4c49fd&&_0x4c49fd['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentAdded',(_0x53c03b,_0xbbb89f)=>{const _0x30a984=_0xbbb89f['commentThreadId'],_0x21c5a8=_0x464d9e['getCommentThread'](_0x30a984);_0x21c5a8&&_0x21c5a8['addComment']({..._(_0xbbb89f),'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentUpdated',(_0x4dfc8a,{commentThreadId:_0x5714e1,commentId:_0x3a6bb3,content:_0x3d3e80,attributes:_0x2d4c08})=>{const _0x453630=_0x464d9e['getCommentThread'](_0x5714e1);if(_0x453630){const _0x42e5f6=_0x453630['getComment'](_0x3a6bb3);_0x42e5f6&&_0x42e5f6['update']({'content':_0x3d3e80,'attributes':_0x2d4c08,'isFromAdapter':!0x0});}}),this['listenTo'](_0x32490d,'commentRemoved',(_0x369884,{commentThreadId:_0x4f27f3,commentId:_0x26b442})=>{const _0x25ff28=_0x464d9e['getCommentThread'](_0x4f27f3);if(_0x25ff28){const _0x81a53e=_0x25ff28['getComment'](_0x26b442);_0x81a53e&&_0x81a53e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x28c2c5);}['destroy'](){if(this['context']instanceof _0x51b985){const _0x108050=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x108050);}}['_terminateService'](_0x5b614b){if(!this['_services']['has'](_0x5b614b))throw new _0x19d29c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5b614b});this['_getService'](_0x5b614b)['disconnect'](),this['_services']['delete'](_0x5b614b);}async['reconnect'](){for(const _0x3cb99c of this['_services']['keys']())await this['_connectService'](_0x3cb99c);if(this['context']instanceof _0x51b985){const _0x5dcd31=this['context']['config']['get']('collaboration.channelId'),_0x17de4f=this['context']['plugins']['get'](i);_0x17de4f['unregister'](_0x5dcd31);const _0x11d9d4=await this['_services']['get'](_0x5dcd31)['getConnectedSessions']();_0x17de4f['register'](_0x5dcd31,_0x11d9d4);}}async['_connectService'](_0x1ff709){const {connection:_0x763018}=this['context']['plugins']['get'](c),_0x641f5c=this['context']['plugins']['get']('CommentsRepository'),_0x29a3a7=this['_services']['get'](_0x1ff709),_0x54cbed=await _0x29a3a7['connect'](_0x763018);await this['_fetchMissingUsersForThreads'](_0x54cbed);const _0x4ebbf4=new Set(Array['from'](_0x641f5c['getCommentThreads']({'channelId':_0x1ff709}),_0x3845d8=>_0x3845d8['id']));for(const _0x3523e2 of _0x54cbed)_0x3523e2['deletedAt']||_0x4ebbf4['delete'](_0x3523e2['commentThreadId']);for(const _0x21624b of _0x4ebbf4)_0x641f5c['getCommentThread'](_0x21624b)['remove']({'isFromAdapter':!0x0});for(const _0x2dba35 of _0x54cbed){let _0x4267e3=_0x641f5c['getCommentThread'](_0x2dba35['commentThreadId']);const {commentThreadId:_0xe8eb61,context:_0x2b779a,attributes:_0x125e17,resolvedBy:_0x3ae955,resolvedAt:_0x4d52c7,unlinkedAt:_0x5fe59b,deletedAt:_0x104af3}=_0x2dba35;if(_0x104af3)continue;_0x4267e3||(_0x4267e3=_0x641f5c['addCommentThread']({'channelId':_0x1ff709,'threadId':_0xe8eb61,'context':_0x2b779a,'attributes':_0x125e17||{},'resolvedBy':_0x3ae955,'resolvedAt':_0x4d52c7,'unlinkedAt':_0x5fe59b,'isFromAdapter':!0x0}));const _0x263570=new Set(Array['from'](_0x4267e3['comments'],_0x41cba0=>_0x41cba0['id']));for(const _0x4196f1 of _0x2dba35['comments'])_0x263570['delete'](_0x4196f1['commentId']);for(const _0x5da7e1 of _0x263570)_0x4267e3['getComment'](_0x5da7e1)['remove']({'isFromAdapter':!0x0});for(const _0x28b245 of _0x2dba35['comments']){const _0x1d690d=_0x4267e3['getComment'](_0x28b245['commentId']);_0x1d690d?_0x1d690d['content']!==_0x28b245['content']&&_0x1d690d['update']({'content':_0x28b245['content'],'isFromAdapter':!0x0}):_0x4267e3['addComment'](Object['assign'](_(_0x28b245),{'isFromAdapter':!0x0}));}}}['_getService'](_0x9f7bd0){if(!this['_services']['has'](_0x9f7bd0))throw new _0x19d29c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x9f7bd0});return this['_services']['get'](_0x9f7bd0);}async['_fetchMissingUsersForThreads'](_0x5d45a3){const _0x135367=this['context']['plugins']['get'](_0x2aaab9),{connection:_0xa89817}=this['context']['plugins']['get'](c),_0x18dd78=new Set();for(const {resolvedBy:_0x172d45,comments:_0x49abcf}of _0x5d45a3){_0x172d45&&!_0x135367['getUser'](_0x172d45)&&_0x18dd78['add'](_0x172d45);for(const {userId:_0x3b95b5}of _0x49abcf)_0x135367['getUser'](_0x3b95b5)||_0x18dd78['add'](_0x3b95b5);}if(0x0===_0x18dd78['size'])return;const _0x6cb33=await dt['getMany'](_0xa89817,Array['from'](_0x18dd78));for(const _0x109f9c of _0x6cb33)_0x135367['getUser'](_0x109f9c['id'])||_0x135367['addUser'](_0x109f9c);}}async function S(_0x2513ba){if('404'!==_0x2513ba['code'])throw _0x2513ba;}function ut(_0x5183d4){if((_0x2c1b85=_0x5183d4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2c1b85['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2c1b85['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2c1b85;throw _0x5183d4;}function _(_0x4a7900){return{'threadId':_0x4a7900['commentThreadId'],'commentId':_0x4a7900['commentId'],'content':_0x4a7900['content'],'createdAt':_0x4a7900['createdAt'],'authorId':_0x4a7900['userId'],'attributes':_0x4a7900['attributes']||{}};}class f extends _0xdcbc50{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x39e4ec){super(_0x39e4ec);const _0x11cd5b=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x11cd5b);}['init'](){const _0x462989=this['editor']['plugins']['get'](c),_0x2ca589=this['editor']['plugins']['get']('TrackChangesEditing');return _0x2ca589['adapter']={'getSuggestion':async _0x31f5db=>{await this['_waitForServiceReady']();const _0x305056=await this['_trackChangesService']['get'](_0x31f5db)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x305056]),_0x305056;},'addSuggestion':async({id:_0x519acd,type:_0x1204e3,data:_0xb907b1,originalSuggestionId:_0x517721,attributes:_0x456165})=>{await this['_waitForServiceReady']();const _0xf2a66b={'id':_0x519acd,'type':_0x1204e3,'data':_0xb907b1,'originalSuggestionId':_0x517721,'attributes':_0x456165},_0x4fc642=await this['_trackChangesService']['add'](_0x519acd,_0x1204e3,_0xb907b1,_0x517721,_0x456165)['catch'](_0x2f41cf=>{if(ft(_0x2f41cf))return new Promise(_0x4287e3=>{this['_bufferedRequests']['set'](_0x519acd,{'resolve':_0x4287e3,'suggestionData':_0xf2a66b});});throw _0x2f41cf;});return this['_bufferedRequests']['delete'](_0x519acd),_0x4fc642;},'updateSuggestion':async(_0x59bb8d,_0x58fd22)=>{if(await this['_waitForServiceReady'](),'open'!==_0x58fd22['state'])return this['_trackChangesService']['update'](_0x59bb8d,_0x58fd22)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xf81890,_0x4c7aaf)=>{_0x2ca589['hasSuggestion'](_0x4c7aaf['id'])&&(_0x2ca589['getSuggestion'](_0x4c7aaf['id'])['attributes']=_0x4c7aaf['attributes']);}),this['_trackChangesService']['connect'](_0x462989['connection'])['then'](_0x5f1976=>(_0x462989['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5f1976)['then'](()=>{for(const _0x156d4b of _0x5f1976){_0x2ca589['addSuggestionData'](_0x156d4b)['_saved']=!0x0;}})));}async['reconnect'](){const _0x319808=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x34017f}=this['editor']['plugins']['get'](c),_0x2c2c25=await this['_trackChangesService']['connect'](_0x34017f);await this['_fetchMissingUsersForThreads'](_0x2c2c25);for(const {suggestionData:_0x1e9275,resolve:_0x4e1c2c}of this['_bufferedRequests']['values']()){let _0x3d61aa=_0x2c2c25['find'](_0x36d468=>_0x36d468['id']===_0x1e9275['id']);_0x3d61aa||(_0x3d61aa=await this['_trackChangesService']['add'](_0x1e9275['id'],_0x1e9275['type'],_0x1e9275['data'],_0x1e9275['originalSuggestionId'])),_0x4e1c2c(_0x3d61aa);}for(const _0x6a0f88 of _0x2c2c25)_0x319808['hasSuggestion'](_0x6a0f88['id'])||_0x319808['addSuggestionData'](_0x6a0f88);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4807aa=>{this['listenTo'](this['_trackChangesService'],'connected',_0x74bf41=>{_0x74bf41['off'](),_0x4807aa();});});}async['_fetchMissingUsersForThreads'](_0x45eb53){const _0x208b40=this['editor']['plugins']['get'](_0x2aaab9),{connection:_0x5d8b7b}=this['editor']['plugins']['get'](c),_0x2c2a3c=new Set();for(const {authorId:_0x11486d}of _0x45eb53)_0x208b40['getUser'](_0x11486d)||_0x2c2a3c['add'](_0x11486d);if(0x0===_0x2c2a3c['size'])return;const _0x44d95d=await dt['getMany'](_0x5d8b7b,Array['from'](_0x2c2a3c));for(const _0x482b14 of _0x44d95d)_0x208b40['getUser'](_0x482b14['id'])||_0x208b40['addUser'](_0x482b14);}}function R(_0x416e78){if(ft(_0x416e78))return new Promise(()=>{});throw _0x416e78;}function ft(_0x5d1ee6){return _0x5d1ee6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5d1ee6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0xdcbc50{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3b1d36=this['editor']['plugins']['get'](c),_0x2bc9ca=this['editor']['plugins']['get']('CommentsEditing'),_0x3858dd=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3b1d36,'change:state',(_0x47d1b8,_0xc6511b,_0x49c132)=>{_0x2bc9ca['isThreadsLoadingPaused']='connected'!==_0x49c132;});}),this['listenTo'](_0x3b1d36,'change:state',(_0x19b98e,_0x3147cf,_0x73fbd2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x73fbd2);}),_0x3858dd['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0xdcbc50{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0xdcbc50{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x2aaab9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x64232e){super(_0x64232e);const _0x2629db=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x2629db);}async['init'](){const _0xc85d8d=this['editor']['plugins']['get'](l),_0x563ce0=_0xc85d8d['serverHistory'],_0x4d0b21=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x563ce0,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xc85d8d['sessionId']});const _0x45e40c=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x181637=await tt['isBundleUploaded'](_0x4d0b21['connection'],_0x45e40c);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x1204ed})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1204ed)),'updateRevisions':async _0x5734ed=>{await this['_waitForServiceReady']();const _0x3c136b=this['_revisionTracker']['currentRevision'];if(_0x181637&&0x1===_0x5734ed['length']&&_0x5734ed[0x0]['id']===_0x3c136b['id'])return _0x5734ed;for(const _0xf58391 of _0x5734ed)_0xf58391['id']===_0x3c136b['id']&&(_0xf58391['isEmptyCurrent']=_0xf58391['fromVersion']===_0xf58391['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5734ed,this['_lastRequestId'])['then'](_0x733141=>(this['_lastRequestId']=_0x733141,_0x5734ed))['catch'](_0x4bc883=>{if(st(_0x4bc883)||'400'===_0x4bc883['code']&&void 0x0!==_0x4bc883['data']['wrongRequestId']){for(const _0x5ca906 of _0x5734ed){!this['_revisionTracker']['repository']['getRevision'](_0x5ca906['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5ca906['id'],_0x5ca906,!0x1);}if(st(_0x4bc883))throw _0x4bc883;return _0x5734ed;}throw _0x4bc883;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4b75c4,{revisionsData:_0x2dc1c4,requestId:_0x561b7d})=>{Math['max'](..._0x2dc1c4['map'](_0x4de17f=>_0x4de17f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2dc1c4,_0x561b7d);}):this['_handleRevisionsUpdate'](_0x2dc1c4,_0x561b7d);});const {revisions:_0x294a42,requestId:_0x5e7c39}=await this['_revisionHistoryService']['connect'](_0x4d0b21['connection']);_0x4d0b21['addToReconnectionStack'](this),this['_lastRequestId']=_0x5e7c39,await this['_fetchMissingUsers'](_0x294a42);for(const _0x2751b0 of _0x294a42)this['_revisionTracker']['addRevisionData'](_0x2751b0);this['listenTo'](_0xc85d8d,'change:_isConnected',(_0x4c99a7,_0x39622f,_0x4160d5)=>{_0x4160d5&&(this['_oldOffset']=_0xc85d8d['_offset'],_0x4c99a7['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4d0b21,'state',_0x45b2d4=>_0x45b2d4===_0x312285['CONNECTED']);}async['reconnect'](){const _0x55cc5d=this['editor']['plugins']['get'](c),_0x3b775a=this['editor']['plugins']['get'](l),_0x5541ec=async()=>{const _0xa91d08=this['_revisionTracker']['currentRevision'],_0x5b6b65=_0xa91d08['id'],_0x2a76cc=_0x5b6b65!==_0x3b775a['sessionId'];if(_0x2a76cc){const _0x1855de=_0x3b775a['_offset']-this['_oldOffset'],_0x25d2b3=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xa91d08['toVersion']+_0x1855de!==_0x25d2b3){const _0x113017=_0xa91d08['fromVersion']+_0x1855de,_0x5e1a06=this['editor']['plugins']['get'](_0x2aaab9),_0x47a63d=this['_revisionTracker']['buildRevisionData']({'revision':_0xa91d08,'from':_0x113017,'to':_0x25d2b3});_0x47a63d['id']=_0xa91d08['id'];const _0xa26992=_0x47a63d['authorsIds']['map'](_0x36ce40=>_0x5e1a06['getUser'](_0x36ce40));_0xa91d08['_update']({..._0x47a63d,'authors':_0xa26992},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xa91d08['id'],_0x47a63d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x25d2b3,(_0xa91d08['toVersion']===_0xa91d08['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5b6b65)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5b6b65),this['_revisionTracker']['_createCurrentRevision'](_0x25d2b3));}const {revisions:_0x4c1421,requestId:_0x3d2573}=await this['_revisionHistoryService']['reconnect'](_0x55cc5d['connection'],this['_lastRequestId']);_0x2a76cc&&_0x4c1421['length']>0x0?_0x3b775a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4c1421),this['_handleRevisionsUpdate'](_0x4c1421,_0x3d2573),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3b775a['_isConnected']?_0x5541ec():new Promise((_0xfecb1,_0x252a5b)=>{_0x3b775a['once']('change:_isConnected',()=>{_0x5541ec()['then'](_0xfecb1)['catch'](_0x252a5b);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4fc11a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x53fdfc=>{_0x53fdfc['off'](),_0x4fc11a();});});}['_getLatestVersionFromServerOperations'](){const _0x482b7f=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x50a3c1 of _0x482b7f)if('marker'!==_0x50a3c1['type']||_0x50a3c1['affectsData'])return _0x50a3c1['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5312b2=this['editor']['plugins']['get'](l);return new Promise(_0x49934a=>{_0x5312b2['_isPendingUpdate']?_0x5312b2['once']('change:_isPendingUpdate',()=>{_0x49934a(this['_getLatestVersionFromServerOperations']());}):_0x49934a(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x264b73,_0x361629){const _0x2198e4=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x361629;for(const _0x4a3f04 of _0x264b73){const _0x1d113b=_0x2198e4['getRevision'](_0x4a3f04['id']);if(_0x1d113b){if((_0x4a3f04['fromVersion']||_0x4a3f04['toVersion'])&&(_0x4a3f04['diffData']=null),_0x1d113b===this['_revisionTracker']['currentRevision']){const _0x58a3cf=Math['max'](_0x1d113b['toVersion'],_0x4a3f04['toVersion']),_0xd7e03e=Math['max'](_0x1d113b['fromVersion'],_0x4a3f04['fromVersion']);let _0x16a0e6;_0x1d113b['toVersion']===_0x4a3f04['toVersion']&&_0x1d113b['fromVersion']===_0x4a3f04['fromVersion']?(_0x16a0e6=!0x0,this['_preventResendingRevisionData'](_0x4a3f04)):_0x4a3f04['toVersion']===_0x58a3cf&&_0x4a3f04['fromVersion']===_0xd7e03e?_0x16a0e6=!0x1:(_0x1d113b['toVersion']===_0x58a3cf&&_0x1d113b['fromVersion']===_0xd7e03e||this['_fixRevision']({'revision':_0x1d113b,'from':_0xd7e03e,'to':_0x58a3cf}),_0x16a0e6=!0x0),_0x16a0e6&&(delete _0x4a3f04['fromVersion'],delete _0x4a3f04['toVersion'],delete _0x4a3f04['diffData'],delete _0x4a3f04['createdAt'],delete _0x4a3f04['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4a3f04),this['_preventResendingRevisionData'](_0x4a3f04);}else this['_revisionTracker']['addRevisionData'](_0x4a3f04);}const _0x1ce79f=_0x2198e4['getRevisions']();_0x1ce79f['reverse']();for(let _0xdf97ad=0x0;_0xdf97ad<_0x1ce79f['length']-0x1;_0xdf97ad++){const _0x4a669b=_0x1ce79f[_0xdf97ad],_0x217ae9=_0x1ce79f[_0xdf97ad+0x1];if(_0x4a669b['fromVersion']<_0x217ae9['toVersion']){const _0x36e7f3=_0x217ae9['toVersion'],_0x40fe12=Math['max'](_0x36e7f3,_0x4a669b['toVersion']);this['_fixRevision']({'revision':_0x4a669b,'from':_0x36e7f3,'to':_0x40fe12});}}}['_fixRevision']({revision:_0x5db21d,from:_0x1d3f27,to:_0xf0b379}={}){const _0x19eab9=this['editor']['plugins']['get'](_0x2aaab9),_0x152c55=this['_revisionTracker']['buildRevisionData']({'revision':_0x5db21d,'from':_0x1d3f27,'to':_0xf0b379});_0x152c55['authors']=_0x152c55['authorsIds']['map'](_0x23da0b=>_0x19eab9['getUser'](_0x23da0b)),_0x5db21d['_update'](_0x152c55);}['_preventResendingRevisionData'](_0x66d570){const _0x5498fe={};_0x5498fe['id']=_0x66d570['id'];for(const _0x154b37 of Object['keys'](_0x66d570))'id'!==_0x154b37&&(_0x5498fe[_0x154b37]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5498fe['id'],_0x5498fe,!0x0);}async['_fetchMissingUsers'](_0x2387e2){const _0x5c4807=this['editor']['plugins']['get'](_0x2aaab9),{connection:_0x3ef64d}=this['editor']['plugins']['get'](c),_0x42b1df=new Set();for(const _0x49f416 of _0x2387e2){for(const _0x465f44 of _0x49f416['authorsIds'])_0x5b4edd(_0x465f44);_0x49f416['creatorId']&&_0x5b4edd(_0x49f416['creatorId']);}if(0x0===_0x42b1df['size'])return;const _0x5b44e8=await dt['getMany'](_0x3ef64d,Array['from'](_0x42b1df));for(const _0x3a63ad of _0x5b44e8)_0x5c4807['getUser'](_0x3a63ad['id'])||_0x5c4807['addUser'](_0x3a63ad);function _0x5b4edd(_0x88e32f){_0x5c4807['getUser'](_0x88e32f)||_0x42b1df['add'](_0x88e32f);}}}function st(_0x4aa927){return _0x4aa927['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4aa927['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4aa927['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0xdcbc50{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x2e989d{['_collapseAt'];constructor(_0x365a26,_0x3525c1=0x6){super(_0x365a26);const _0x536e5c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3525c1,this['bind']('isHidden')['to'](this,'usersCount',_0x35297e=>_0x35297e<_0x3525c1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x536e5c['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':_0x536e5c['to']('usersCount',_0x4bcfed=>'+'+(_0x4bcfed-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x2e989d{['items'];['keystrokes'];constructor(_0x35ab4d){super(_0x35ab4d);const _0x76cf8b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x404036(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x76cf8b['if']('hasPopup'),'aria-expanded':_0x76cf8b['to']('isExpanded',_0x3ba6ce=>this['hasPopup']&&String(_0x3ba6ce)),'aria-label':_0x76cf8b['to']('hasPopup',_0x749496=>G(_0x35ab4d,_0x749496?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x76cf8b['to']('hasPopup',_0x32d8f7=>!!_0x32d8f7&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x76cf8b['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x76cf8b['to'](_0x59bc99=>{const _0x1ef8c9=_0x59bc99,_0x887bdf=document['querySelector']('.ck-presence-list__dropdown-list'),_0x895301=document['querySelector']('.ck-balloon-panel_with-arrow');_0x887bdf?.['contains'](_0x1ef8c9['relatedTarget'])||_0x895301?.['contains'](_0x1ef8c9['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x10e1b5,_0x552375,_0x48517d)=>{this['element']&&(_0x48517d?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 _0x2e989d{['counterView'];['inlineListView'];constructor(_0x1b8ac1,_0x3e0517=0x6){super(_0x1b8ac1);const _0x3610f2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x3e0517),this['inlineListView']=new ts(_0x1b8ac1),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x57a820 of this['inlineListView']['items'])_0x57a820['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',_0x3610f2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x2e989d{['listWrapperView'];constructor(_0x1241ef,_0x338d81){super(_0x1241ef);const _0x11b294=this['bindTemplate'];this['listWrapperView']=new mt(_0x1241ef,_0x338d81),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0x1241ef,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x11b294['to'](_0xaee2e8=>{const _0x2d966f=_0xaee2e8,_0x4f165f=document['querySelector']('.ck-presence-list__list'),_0x2c1565=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4f165f?.['contains'](_0x2d966f['relatedTarget'])||_0x2c1565?.['contains'](_0x2d966f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x54e28b{constructor(_0x55d925,_0x34c8cf){super(_0x55d925);const _0x20d615=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x34c8cf?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x20d615['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x20d615['to']('role'),'aria-label':_0x20d615['to']('ariaLabel'),'aria-labelledby':_0x20d615['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4366f0['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x115303=this['element'];_0x115303&&(this['_isScrollable']=Math['max'](_0x115303['scrollHeight'],_0x115303['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x2e0100,_0x120255,_0x2a855b){super(_0x2e0100);const _0x49023e=this['bindTemplate'];this['userView']=new ct(_0x2e0100,_0x120255);const _0x46308e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x120255['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x120255['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x120255['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2a855b&&(_0x46308e['tag']='button',_0x46308e['on']={'click':_0x49023e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x46308e);}['focus'](){this['element']['focus']();}}class y extends _0x2e989d{['userView'];['markerView'];constructor(_0x3109a3,_0x20b7d8,_0x6ae8be){super(_0x3109a3);const _0x38ebf4=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x3109a3,_0x20b7d8),this['markerView']=new at(_0x3109a3,_0x20b7d8);const _0x3ead27=new ot(_0x3109a3);_0x3ead27['template']['tag']='span',_0x3ead27['text']=_0x20b7d8['name'];const _0x1e80e1={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x38ebf4['to']('isFocusable',_0x2a4671=>!!_0x2a4671&&0x0),'aria-labelledby':_0x3ead27['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x38ebf4['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x38ebf4['to']('hasTooltip',_0x28082f=>!_0x28082f),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3ead27]};_0x6ae8be&&(_0x1e80e1['tag']='button',_0x1e80e1['on']={'click':_0x38ebf4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1e80e1);}}class at extends _0x2e989d{constructor(_0x3dcda4,_0x9fcaec){super(_0x3dcda4),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x9fcaec['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3f68a4{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x19a29d){super(_0x19a29d),this['context']['config']['define']('presenceList',C);const _0x12df01=_0x19a29d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x12df01)throw new _0x19d29c('presencelist-collapseat-invalid-format',this);if(_0x12df01<0x1)throw new _0x19d29c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x52ca00(),this['balloonPanelView']=new _0xcc0d89(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x5cfed2 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5cfed2);this['listenTo'](this['_allConnectedUsers'],'add',(_0x56d3a6,_0x47dfe1)=>{this['_handleUserAdd'](_0x47dfe1);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x59dbd4,_0x23f143)=>{this['_handleUserRemove'](_0x23f143);});}['_createView'](){const _0x16261d=this['context'],_0x4202fa=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x14d7bd=this['balloonPanelView'];if(!_0x2a9041(_0x16261d['config']['get']('presenceList.container')))throw new _0x19d29c('presencelist-missing-container',this);return _0x4202fa['counterView']['bind']('usersCount')['to'](this),_0x4202fa['bind']('isCollapsed')['to'](this,'usersCount',_0x5d8510=>{const {collapseAt:_0x305099}=_0x16261d['config']['get']('presenceList'),_0xef56f1=_0x5d8510>=_0x305099;if(_0xef56f1&&!_0x4202fa['inlineListView']['items']['find'](_0x4d44ec=>_0x4d44ec instanceof A)){const _0x42c424=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x42c424&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4202fa['inlineListView']['items']['add'](_0x4202fa['counterView']);}return _0xef56f1||this['hideDropdown'](),_0xef56f1;}),_0x4202fa['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2104d9=>{const _0x4d316b=_0x16261d['config']['get']('presenceList'),_0x4b451b=new y(_0x16261d['locale'],_0x2104d9,!!_0x4d316b['onClick']);return _0x4b451b['bind']('hasTooltip')['to'](_0x4202fa,'isCollapsed',_0x32167f=>!_0x32167f),_0x4b451b['bind']('isFocusable')['to'](_0x4202fa,'isCollapsed',_0x446efb=>!_0x446efb),_0x4d316b['onClick']&&this['listenTo'](_0x4b451b,'execute',()=>{this['view']['isCollapsed']||_0x4d316b['onClick'](_0x2104d9,_0x4b451b['element']);}),_0x4b451b;}),this['listenTo'](_0x4202fa['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4202fa['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4202fa['inlineListView']['keystrokes']['set']('Enter',(_0x9b662d,_0xf0edfb)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0xf0edfb());}),_0x4202fa['render'](),_0x14d7bd['render'](),_0x57da6e({'emitter':_0x4202fa,'activator':()=>_0x14d7bd['isVisible'],'contextElements':[_0x14d7bd['element'],_0x4202fa['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x16261d['config']['get']('presenceList.container')['appendChild'](_0x4202fa['element']),this['_bodyCollection']=new _0x202965(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4202fa;}['_handleUserAdd'](_0x10911b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x10911b['isMe'])return;const _0x3ccace=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3ccace-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2e3c91=_0x10911b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x10911b,_0x2e3c91);}['_handleUserRemove'](_0xfe4e63){this['usersCount']--;const {collapseAt:_0x353d15}=this['context']['config']['get']('presenceList'),_0x64d6e0=this['usersCount']>=_0x353d15;if(this['currentDisplayedUsers']['get'](_0xfe4e63['id']))this['currentDisplayedUsers']['remove'](_0xfe4e63['id']);else{if(_0x64d6e0&&this['currentDisplayedUsers']['length']+0x1===_0x353d15-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x64d6e0?0x1:0x0)<this['usersCount']){for(const _0x43b9de of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x43b9de['id'])&&(this['currentDisplayedUsers']['add'](_0x43b9de,Math['min'](this['currentDisplayedUsers']['length']-(_0x64d6e0?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x64d6e0?0x1:0x0)===_0x353d15-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xa19e41=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0xa19e41['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4c650e}=this['presenceDropdownView'];_0x4c650e['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x50fe43=>{if(!_0xa19e41['displayMe']&&_0x50fe43['isMe'])return null;const _0x5dfe54=new k(this['context']['locale'],_0x50fe43,!!_0xa19e41['onClick']);return _0xa19e41['onClick']&&this['listenTo'](_0x5dfe54,'execute',()=>{_0xa19e41['onClick'](_0x50fe43,_0x5dfe54['element']);}),_0x5dfe54;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4c650e['focus'](),_0x4c650e['checkIfScrollable']();const _0xed00dc=(_0x3c3727,_0x1e0c37)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1e0c37();};_0x4c650e['keystrokes']['set']('Esc',_0xed00dc),_0x4c650e['keystrokes']['set']('Shift+Tab',_0xed00dc),_0x4c650e['keystrokes']['set']('Tab',(_0x11a183,_0xca72a2)=>{!function(_0x33ba48){const _0x578417=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5206b3=>_0x5206b3+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x42433a=[...document['body']['querySelectorAll'](_0x578417)]['filter'](_0x3142ab=>_0x3142ab===document['activeElement']||_0x3142ab['offsetWidth']+_0x3142ab['offsetHeight']>0x0)['sort']((_0x473760,_0x4379bf)=>(_0x473760['tabIndex']||0x0)-(_0x4379bf['tabIndex']||0x0)),_0x393891=_0x42433a['indexOf'](_0x33ba48),_0x3471ed=_0x42433a[(_0x393891+0x1)%_0x42433a['length']];_0x3471ed&&_0x3471ed['focus']();}(this['view']['element']),this['hideDropdown'](),_0xca72a2();}),_0x4c650e['focusTracker']['add'](this['view']['element']),_0x4c650e['focusTracker']['on']('change:isFocused',(_0x3758f1,_0x55cce6,_0x3cbf80)=>{_0x3cbf80||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 s extends _0x3f68a4{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};