@ckeditor/ckeditor5-real-time-collaboration 47.3.0-alpha.4 → 47.3.0-alpha.5

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 _0x2e1c2e,Plugin as _0x5b4332,PendingActions as _0x2fc7e3,Context as _0x475de3}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1566af,CKEditorError as _0x2bce97,Collection as _0x2c7c4,global as _0xce7c42,version as ht,uid as _0x566030,KeystrokeHandler as _0x265acb}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x234c84,View as _0x474a7b,ListView as _0x4c8996,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x5b9ec9,clickOutsideHandler as _0x52645d,BodyCollection as _0x51a795}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x58b1f7,History as _0x4a6db3,NoOperation as _0x399b45,InsertOperation as _0x3a5e47,MarkerOperation as _0x4ea834,RootAttributeOperation as _0x5019a7,transformOperationSets as _0x117a9b,OperationFactory as _0x25bca7}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x78d56b,CollaborativeEditingService as _0x317a13,User as ut,CommentsService as _0x86f88e,TrackChangesService as rt,RevisionHistoryService as et,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x564686,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x137f85}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0xef8e80}from'es-toolkit/compat';class n extends _0x2e1c2e{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x234c84];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b689b){super(_0x5b689b),this['set']('state',_0x78d56b['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1566af())();}['init'](){const _0x17394f=this['context'],_0x44493b=_0x17394f['plugins']['get']('CloudServices'),_0x50d4f1=_0x17394f['plugins']['get'](_0x234c84);if(!_0x44493b['token'])throw new _0x2bce97('websocketgateway-missing-token',this);if(!_0x44493b['webSocketUrl'])throw new _0x2bce97('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x44493b['token'],_0x44493b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5a045f=>{if(this['connection']=_0x5a045f,this['bind']('state')['to'](_0x5a045f,'state',this,'_isBrowserOffline',(_0x58cea6,_0x3e258b)=>('connected'!==_0x58cea6&&(this['_shouldPluginsReconnect']=!0x0),_0x3e258b||_0x58cea6!==_0x78d56b['CONNECTED']?_0x78d56b['DISCONNECTED']:this['state']==_0x78d56b['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x78d56b['CONNECTING']):_0x78d56b['CONNECTED'])),this['connection']['on']('error',(_0x35682d,_0x4a24c6)=>{if('limitExceeded'!==_0x4a24c6['code'])throw console['error'](_0x4a24c6),new _0x2bce97('cloudservices-init',null,{'originalError':_0x4a24c6});_0x50d4f1['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'});}),!_0x5a045f['me'])return new Promise(_0x299fae=>_0x5a045f['on']('change:me',_0x299fae));})['catch'](_0x4113be=>{throw console['error'](_0x4113be),new _0x2bce97('cloudservices-init',null,{'originalError':_0x4113be});});}['addToReconnectionStack'](_0x4d5462){if('function'!=typeof _0x4d5462['reconnect'])throw new _0x2bce97('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4d5462))throw new _0x2bce97('websocketgateway-plugin-already-registered',this,{'name':_0x4d5462['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4d5462);}['removeFromReconnectionStack'](_0x4eb85d){this['_reconnectionStack']['delete'](_0x4eb85d);}['isInReconnectionStack'](_0x3292c2){return this['_reconnectionStack']['has'](_0x3292c2);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5bde9b=>_0x5bde9b['reconnect']())))['then'](()=>this['state']=_0x78d56b['CONNECTED'])['catch'](_0x190a90=>{throw console['error'](_0x190a90),new _0x2bce97('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x78d56b['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2e1c2e{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x564686];}constructor(_0x19bbe2){super(_0x19bbe2),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2c7c4(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x564686);}['init'](){const _0x2d75de=this['context']['plugins']['get'](n);this['listenTo'](_0x2d75de,'change:state',(_0x319daa,_0x13fce5,_0x4635cb)=>{if('connected'!==_0x4635cb)this['channelSessions']['forEach'](_0x3e97f3=>_0x3e97f3['clear']()),this['channelConnectedUsers']['forEach'](_0x49d034=>_0x49d034['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3f58e8,_0x3e66ec]of this['_registeredSessions'])for(const _0x409398 of _0x3e66ec)this['_handleSessionAdd'](_0x3f58e8,_0x409398);}}),this['_createUser'](_0x2d75de['connection']['me'],!0x0);}['register'](_0x505e05,_0x337691){if(this['_registeredSessions']['has'](_0x505e05))throw new _0x2bce97('sessions-register-already-registered',null,{'channelId':_0x505e05});this['_registeredSessions']['set'](_0x505e05,_0x337691),this['channelSessions']['set'](_0x505e05,new _0x2c7c4()),this['channelConnectedUsers']['set'](_0x505e05,new _0x2c7c4()),this['listenTo'](_0x337691,'add',(_0x38f0f8,_0x4dfd78)=>this['_handleSessionAdd'](_0x505e05,_0x4dfd78)),this['listenTo'](_0x337691,'remove',(_0xf8123c,_0x1c63f3)=>this['_handleSessionRemove'](_0x505e05,_0x1c63f3));for(const _0x1d0452 of _0x337691)this['_handleSessionAdd'](_0x505e05,_0x1d0452);}['unregister'](_0xd5bca4){if(!this['_registeredSessions']['has'](_0xd5bca4))throw new _0x2bce97('sessions-unregister-not-exist',null,{'channelId':_0xd5bca4});const _0x453790=this['_registeredSessions']['get'](_0xd5bca4);this['stopListening'](_0x453790);for(const _0x3ab81b of _0x453790)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0xd5bca4,_0x3ab81b);this['_registeredSessions']['delete'](_0xd5bca4),this['channelSessions']['delete'](_0xd5bca4),this['channelConnectedUsers']['delete'](_0xd5bca4);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x45af93){for(const _0x411fa1 of this['channelSessions']['values']())for(const _0x2545dd of _0x411fa1)if(_0x2545dd['id']===_0x45af93)return _0x2545dd['user'];}['getUserSessions'](_0x13af18,_0x3dbddf){const _0x2424c0=_0x3dbddf?[this['channelSessions']['get'](_0x3dbddf)]:this['channelSessions']['values'](),_0x1d1f6a=new Set();for(const _0x59a0be of _0x2424c0)for(const _0x59656f of _0x59a0be)_0x59656f['user']['id']===_0x13af18['id']&&_0x1d1f6a['add'](_0x59656f['id']);return _0x1d1f6a;}['getUserRole'](_0xa022ea){for(const _0x49ef92 of this['channelSessions']['values']())for(const _0x9d9f49 of _0x49ef92)if(_0x9d9f49['user']===_0xa022ea)return _0x9d9f49['role'];}['_handleSessionAdd'](_0x56a214,_0x493e1f){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x111ede=_0x493e1f['user'],_0x52a354=this['_users']['getUser'](_0x111ede['id'])||this['_createUser'](_0x111ede),_0x11192f=Object['assign']({},_0x493e1f,{'user':_0x52a354});if(this['channelSessions']['get'](_0x56a214)['add'](_0x11192f),!_0x111ede['hiddenInPresenceList']){const _0x528d69=this['channelConnectedUsers']['get'](_0x56a214);_0x528d69['has'](_0x52a354['id'])||_0x528d69['add'](_0x52a354),this['allConnectedUsers']['has'](_0x52a354['id'])||_0x111ede['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x52a354,_0x52a354['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x56a214,{'channelId':_0x56a214,'session':_0x11192f});}['_handleSessionRemove'](_0x434444,_0x2f1276){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0xd0636d=this['channelConnectedUsers']['get'](_0x434444),_0x1eb8d7=_0x2f1276['user'];_0x1eb8d7['id']&&(this['channelSessions']['get'](_0x434444)['remove'](_0x2f1276['id']),_0xd0636d['has'](_0x1eb8d7['id'])&&!this['getUserSessions'](_0x1eb8d7,_0x434444)['size']&&_0xd0636d['remove'](_0x1eb8d7['id']),this['allConnectedUsers']['get'](_0x1eb8d7['id'])&&!this['getUserSessions'](_0x1eb8d7)['size']&&this['allConnectedUsers']['remove'](_0x1eb8d7['id']));}['_createUser'](_0x22cacb,_0x3e06a7){const _0x1c79c2=this['_users']['addUser'](_0x22cacb);return _0x3e06a7&&this['_users']['defineMe'](_0x22cacb['id']),_0x1c79c2['orderNumber']=this['_uniqueUsersCount']++,_0x1c79c2;}}class D extends _0x5b4332{['_domEmitter']=new(_0x1566af())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x588fc2=this['editor'],_0x123ad9=_0x588fc2['plugins']['get'](i);_0x588fc2['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x39bbbb,{writer:_0x338e24})=>function(_0x332f59,_0x53ce14,_0x4435bd,_0x994c1d){const _0x21dfdb=_0x332f59['markerName']['split'](':')[0x2],_0x52b719=_0x4435bd['getUserBySessionId'](_0x21dfdb);if(!_0x52b719||_0x21dfdb===_0x4435bd['mySessionId'])return;if(!_0x994c1d['model']['schema']['checkChild'](_0x332f59['markerRange']['start'],'$text'))return;const _0x1f9f27={'class':'ck-user__marker\x20'+_0x52b719['color']['getMarkerClass'](),'data-name':_0x52b719['name'],'data-session-id':_0x21dfdb},_0x5e8970=_0x994c1d['model']['markers']['get'](_0x332f59['markerName']),_0xf44016=_0x5e8970['getStart'](),_0x5cf762=_0xf44016['nodeAfter'],_0x130d73=_0x994c1d['model']['schema'];if(_0x5cf762&&_0x130d73['isObject'](_0x5cf762)&&_0x130d73['isInline'](_0x5cf762)&&!_0x994c1d['model']['markers']['get']('user:range:'+_0x21dfdb)['getRange']()['isCollapsed'])return;const _0xa514e=_0xf44016['parent'];return _0x994c1d['model']['schema']['isLimit'](_0xa514e)&&!_0x994c1d['model']['hasContent'](_0xa514e)&&(_0x1f9f27['contenteditable']=!0x1),function(_0x2c5fb1,_0x128800,_0x1d8335){const _0x3cfa87=_0x2c5fb1['createUIElement']('span',_0x128800);return _0x2c5fb1['setCustomProperty']('userPositionMarker',!0x0,_0x3cfa87),_0x3cfa87['render']=function(_0x1f15c6){const _0x53ead3=this['toDomElement'](_0x1f15c6),_0x55117a=document['createElement']('span');return _0x55117a['classList']['add']('ck-user__marker-tooltip'),_0x55117a['setAttribute']('contenteditable','false'),_0x55117a['setAttribute']('spellcheck','false'),_0x55117a['textContent']=_0x1d8335['name'],_0x53ead3['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x55117a['outerHTML']+'⁠',_0x53ead3['addEventListener']('mouseenter',()=>{_0x53ead3['classList']['add']('ck-user__marker_hovered');}),_0x53ead3['addEventListener']('mouseleave',()=>{_0x53ead3['classList']['remove']('ck-user__marker_hovered');}),_0x53ead3;},_0x3cfa87['isSimilar']=function(_0x27d310){return!(!this['getCustomProperty']('userPositionMarker')||!_0x27d310['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x27d310['getAttribute']('data-session-id'));},_0x3cfa87;}(_0x53ce14,_0x1f9f27,_0x52b719);}(_0x39bbbb,_0x338e24,_0x123ad9,_0x588fc2)}),_0x588fc2['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3ede0c=>function(_0x1d21da,_0x561c54){const _0x4ddc6e=_0x1d21da['markerName']['split'](':')[0x2];if(_0x4ddc6e===_0x561c54['mySessionId'])return null;const _0x55db41=_0x561c54['getUserBySessionId'](_0x4ddc6e);if(!_0x55db41)return{'id':_0x4ddc6e,'classes':[]};return{'id':_0x4ddc6e,'classes':['ck-user__selection',_0x55db41['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x4ddc6e},'priority':0x7d0+_0x55db41['orderNumber']};}(_0x3ede0c,_0x123ad9)}),function(_0x3b7be0){const _0x410675=_0x3b7be0['model'],_0x270494=new Map(),_0x3dde67=_0x3b7be0['plugins']['get'](i);_0x410675['markers']['on']('update:user:range',(_0x543dc6,_0x132566,_0x27b7d5,_0x1965a4)=>{if(!_0x1965a4&&_0x270494['get'](_0x132566['name']))return _0x270494['get'](_0x132566['name'])['detach'](),void _0x270494['delete'](_0x132566['name']);const _0x2228be=_0x132566['name']['split'](':')[0x2];if(_0x2228be===_0x3dde67['mySessionId'])return;const _0x149cf1='user:position:'+_0x2228be;_0x410675['markers']['has'](_0x149cf1)&&_0x3b7be0['editing']['reconvertMarker'](_0x149cf1),_0x132566['on']('change:range',(_0x47d366,_0x38462d,_0x1dcc7e)=>{if('$graveyard'!=_0x38462d['root']['rootName']&&'$graveyard'==_0x132566['getRange']()['root']['rootName']&&!_0x270494['has'](_0x132566['name'])){const _0x162ffd=_0x410675['schema']['getNearestSelectionRange'](_0x1dcc7e['deletionPosition']);if(_0x162ffd){const _0x30e279=_0x58b1f7['fromRange'](_0x162ffd);_0x270494['set'](_0x132566['name'],_0x30e279),_0x30e279['on']('change:range',(_0x5c7604,_0x25d01a,_0x2010e9)=>{if('$graveyard'==_0x30e279['root']['rootName']){const _0x4adcc7=_0x410675['schema']['getNearestSelectionRange'](_0x2010e9['deletionPosition']);_0x4adcc7?(_0x30e279['start']=_0x4adcc7['start'],_0x30e279['end']=_0x4adcc7['end']):(_0x270494['delete'](_0x132566['name']),_0x30e279['detach']());}});}}});}),_0x410675['document']['on']('change',()=>{_0x270494['size']>0x0&&_0x410675['enqueueChange']({'isUndoable':!0x1},_0x2b0cb9=>{for(const [_0x3c8aed,_0x5d0e8e]of _0x270494)'$graveyard'==_0x410675['markers']['get'](_0x3c8aed)['getRange']()['root']['rootName']&&(G(_0x3c8aed['split'](':')[0x2],_0x5d0e8e['toRange'](),_0x410675,_0x2b0cb9),_0x5d0e8e['detach']());_0x270494['clear']();});});}(_0x588fc2),this['_domEmitter']['listenTo'](_0xce7c42['document'],'keydown',(_0x29f220,{key:_0x3ad486})=>{'Escape'===_0x3ad486&&function(_0x57cc3){_0x57cc3['editing']['view']['change'](_0x421de6=>{for(const _0x44aee8 of _0x57cc3['model']['markers']){if(!_0x44aee8['name']['startsWith']('user:position'))continue;const _0x3827a4=_0x57cc3['editing']['mapper']['markerNameToElements'](_0x44aee8['name']);if(_0x3827a4){for(const _0x28c67d of _0x3827a4)_0x421de6['removeClass']('ck-user__marker_hovered',_0x28c67d);}}});}(_0x588fc2);},{'useCapture':!0x0});}['afterInit'](){const _0x1955b2=this['editor'],_0x52440a=_0x1955b2['commands']['get']('undo');_0x52440a&&_0x1955b2['model']['on']('applyOperation',(_0x4c806e,_0x42cbb8)=>{const _0x29d87d=_0x42cbb8[0x0];if(!_0x29d87d['isDocumentOperation'])return;if('marker'!=_0x29d87d['type']||!_0x29d87d['name']['startsWith']('user:'))return;const _0x2a5af0=_0x29d87d['batch'];_0x52440a['_createdBatches']['has'](_0x2a5af0)&&(_0x29d87d['newRange']=_0x29d87d['oldRange']?_0x1955b2['model']['createRange'](_0x29d87d['oldRange']['start'],_0x29d87d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x32dd23=this['editor'],_0x109fca=_0x32dd23['model']['document'],_0x218c44=_0x32dd23['plugins']['get'](i);_0x32dd23['model']['enqueueChange']({'isUndoable':!0x1},_0xbd2adf=>{const _0x5e917e='user:range:'+_0x218c44['mySessionId'],_0x58666e='user:position:'+_0x218c44['mySessionId'],_0x1b3f6b=_0x32dd23['model']['markers']['has'](_0x5e917e);_0x32dd23['editing']['view']['hasDomSelection']?G(_0x218c44['mySessionId'],_0x109fca['selection']['getFirstRange'](),_0x32dd23['model'],_0xbd2adf):_0x1b3f6b&&(_0xbd2adf['removeMarker'](_0x5e917e),_0xbd2adf['removeMarker'](_0x58666e));});}}function G(_0x25a7f9,_0x388550,_0x13931c,_0x1538fb){const _0x20894e='user:range:'+_0x25a7f9,_0x4ee41c='user:position:'+_0x25a7f9,_0x40df11=_0x388550['getContainedElement']();let _0x32c0d9=_0x388550['start'];if(_0x40df11&&_0x40df11['is']('element','tableCell')){const _0x5a03f6=function(_0x1569ed,_0x5f0b3a){for(const _0x318fe6 of _0x1569ed['getPositions']())if(_0x5f0b3a['schema']['checkChild'](_0x318fe6,'$text'))return _0x318fe6;}(_0x388550,_0x13931c);_0x5a03f6&&(_0x32c0d9=_0x5a03f6,_0x388550=_0x1538fb['createRange'](_0x32c0d9));}const _0x3a5fcb=_0x1538fb['createRange'](_0x32c0d9);_0x13931c['markers']['has'](_0x20894e)?(_0x1538fb['updateMarker'](_0x20894e,{'range':_0x388550}),_0x1538fb['updateMarker'](_0x4ee41c,{'range':_0x3a5fcb})):(_0x1538fb['addMarker'](_0x20894e,{'range':_0x388550,'usingOperation':!0x0}),_0x1538fb['addMarker'](_0x4ee41c,{'range':_0x3a5fcb,'usingOperation':!0x0}));}function P(_0x5b5f03,_0x40ee36,_0x172a7b){const _0x30fc35=_0x5b5f03['t'],t=_0x5b5f03['t'];switch(_0x40ee36){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 _0x30fc35({'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'},_0x172a7b);default:return'';}}let N=0x1;class l extends _0x5b4332{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x317a13)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,D,_0x2fc7e3,_0x564686,_0x234c84];}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 _0x2af376=this['serverHistory']['getOperations']();for(let _0x2de20c=_0x2af376['length']-0x1;_0x2de20c>=0x0;_0x2de20c--){const _0x5e47b3=_0x2af376[_0x2de20c];if(!this['_disconnectionOperations']['has'](_0x5e47b3))return _0x5e47b3['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1b96ed){if(super(_0x1b96ed),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4a6db3(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2bce97('collaboration-missing-channelid',this);const _0x39289f=_0x1b96ed['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x39289f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x137f85(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new M(this['_disconnectionOperations']);}['init'](){const _0x29661d=this['editor'],_0xc3092e=_0x29661d['plugins']['get'](_0x564686),_0x30e14e=_0x29661d['plugins']['get'](n);this['listenTo'](_0xc3092e,'getOperationAuthor',(_0x4717bd,_0x30d864)=>{const _0x52cd94=_0x30d864[0x0];_0x52cd94['_authorId']&&(_0x4717bd['return']=_0xc3092e['getUser'](_0x52cd94['_authorId']),_0x4717bd['stop']()),null===_0x52cd94['_authorId']&&(_0x4717bd['return']=null,_0x4717bd['stop']());},{'priority':'high'}),this['listenTo'](_0x29661d['model']['document']['selection'],'change:range',(_0x1369b2,_0x14327c)=>{_0x14327c['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x29661d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x29661d['model']['on']('applyOperation',(_0x599846,_0x646af1)=>{const _0x161cbe=_0x646af1[0x0];_0x161cbe['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x161cbe),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x30e14e,'state',this,'_hasSynchronizationProblem',(_0x4571e7,_0x2efb26)=>'connected'===_0x4571e7&&!_0x2efb26),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x29661d['disableReadOnlyMode']('rtc-offline'):_0x29661d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x29661d['disableReadOnlyMode']('rtc-offline'):_0x29661d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x12a2c0=this['editor']['plugins']['get'](i),_0x204955=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x12a2c0['unregister'](this['_channelId']);const _0x38d2bf=await this['_service']['reconnect'](_0x204955['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x38d2bf)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x38275b=await this['_service']['getConnectedSessions']();_0x12a2c0['register'](this['_channelId'],_0x38275b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5bf551){if(function(_0x43879f){return'404'===_0x43879f['code'];}(_0x5bf551)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x173355){return'409'===_0x173355['code'];}(_0x5bf551)){const _0x4c48b7=P(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'](_0x4c48b7);}else{if(!(_0x5bf551 instanceof B))throw _0x5bf551;this['_handleReconnectionError']();}}}}['destroy'](){const _0x2e26e8=this['editor']['plugins']['get'](n),_0x47b0bb=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x47b0bb['channelSessions']['has'](this['_channelId'])&&_0x47b0bb['unregister'](this['_channelId']),_0x2e26e8['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xb38a29){if(this['sessionId']!==_0xb38a29['sessionId']&&this['_lastSyncedOperationId']!==_0xb38a29['lastOperationId'])throw new B();return this['sessionId']=_0xb38a29['sessionId'],this['_handleServerResponse']([],{..._0xb38a29,'wereChangesApplied':!0x1,'data':_0xb38a29['data']},'reconnect');}async['_connectService'](_0x479895,_0x1a4840=!0x1){const {connection:_0x9c213a}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x9c213a,this['_channelId'])['then'](_0x98f900=>this['_initSessionsHandling'](_0x98f900))['catch'](_0x5c929d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5c929d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x16b1fd,_0x5bee0a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5bee0a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x17c914=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x479895);this['_isPendingUpdate']=!0x0;const _0x4867f4=await this['_service']['connect'](_0x9c213a,this['_compressOperations'](_0x479895),_0x17c914);if(this['sessionId']=_0x4867f4['sessionId'],_0x1a4840){if(!_0x4867f4['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4867f4['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x479895,_0x4867f4,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4867f4,_0x479895);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x360ec8=this['editor']['plugins']['get'](i),_0x20df3f=this['editor']['plugins']['get'](D),_0x3e43d9=_0x360ec8['channelSessions']['get'](this['_channelId']);_0x3e43d9&&_0x3e43d9['length']>0x1?_0x20df3f['createUserMarkerOperations']():this['listenTo'](_0x360ec8,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x360ec8['channelSessions']['get'](this['_channelId'])['length']&&_0x20df3f['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x12aa8f,_0x557b5e,_0x2228b5,_0x5f350a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x557b5e){const _0x3e6889=this['_decompressOperations'](_0x2228b5,_0x5f350a);await this['_fetchMissingUsers'](_0x3e6889),this['_handleExternalOperations'](_0x3e6889,_0x557b5e,_0x2228b5['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x30679c}=this['editor'];let _0x17dea0;try{_0x17dea0=await this['_service']['getDocumentDetails']();}catch{const _0x114457=P(_0x30679c,'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'](_0x114457);}const _0x242f19=_0x17dea0['currentDocumentSession']||_0x17dea0['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x242f19['lastOperationId']){const _0xd9693=P(_0x30679c,'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'](_0xd9693);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x6775a5){const _0x1cd234=this['editor']['plugins']['get'](i);this['listenTo'](_0x1cd234,'sessionAdd:'+this['_channelId'],(_0x3a1e60,{session:_0x53108b})=>{if(_0x53108b['id']===_0x1cd234['mySessionId']){_0x3a1e60['off']();const _0x40c805=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x358ebf=_0x53108b['permissions'];_0x40c805&&_0x40c805['isEnabled']&&(_0x358ebf=_0x358ebf['filter'](_0xd68d88=>'document:write'!==_0xd68d88)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x358ebf,this['_channelId']);}}),_0x1cd234['register'](this['_channelId'],_0x6775a5);}['_initThrowingOnDataSet'](){const _0x3868c7=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5f2e96)=>{if(!_0x5f2e96[_0x5f2e96['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2bce97('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3868c7['apply'](this['editor']['data'],_0x5f2e96);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4966a9,[_0x1d4089])=>{if(this['_document']['version'])throw new _0x2bce97('realtimecollaborationclient-init-document-already-initialized',this);_0x4966a9['stop'](),this['_setPendingAction']();const _0x5688d5=this['editor']['config']['get']('rootsAttributes'),_0x3c1083=this['_getOperationsFromInitData'](_0x1d4089,_0x5688d5);0x0==_0x3c1083['length']&&_0x3c1083['push'](new _0x399b45(0x0)),_0x4966a9['return']=this['_connectService'](_0x3c1083)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2628fe=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2628fe))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1cf258,[_0x567e92,_0x210cf6])=>{_0x1cf258['stop']();const _0x37bed=this['editor']['model']['document']['getRoot'](_0x567e92);if(!this['_knownRootNames']['has'](_0x567e92)){const _0x2dbfb3=_0x210cf6&&_0x210cf6['data']?_0x210cf6['data']:'',_0x3a4b9f=_0x210cf6&&_0x210cf6['attributes']?_0x210cf6['attributes']:{};await this['_loadRoot'](_0x567e92,_0x2dbfb3,_0x3a4b9f);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x37bed['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x37bed);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x58a94b){const _0x4b5018=this['editor']['plugins']['get'](_0x564686),{connection:_0x789e01}=this['editor']['plugins']['get'](n),_0x3954fa=new Set();for(const _0xaeca4f of _0x58a94b){const _0x2a10ea=_0xaeca4f['_authorId'];_0x2a10ea&&!_0x4b5018['getUser'](_0x2a10ea)&&_0x3954fa['add'](_0x2a10ea);}if(0x0===_0x3954fa['size'])return;const _0x218755=await ut['getMany'](_0x789e01,Array['from'](_0x3954fa));for(const _0x19d7c9 of _0x218755)_0x4b5018['getUser'](_0x19d7c9['id'])||_0x4b5018['addUser'](_0x19d7c9);}['_getOperationsFromInitData'](_0x20c16e,_0x2d77d6={}){const _0x185ab7=this['editor']['model'],_0x3fc8e6=[];let _0x65c340=0x0;const _0x16a1c6='string'==typeof _0x20c16e?{'main':_0x20c16e}:_0x20c16e;for(const _0x1097af of Object['keys'](_0x16a1c6)){if(!this['_document']['roots']['has'](_0x1097af))throw new _0x2bce97('realtimecollaborationclient-init-non-existent-root',this);const _0x30786c=this['editor']['data']['parse'](_0x16a1c6[_0x1097af]),_0x5554ba=this['_document']['getRoot'](_0x1097af),_0x36c189=new _0x3a5e47(_0x185ab7['createPositionAt'](_0x5554ba,0x0),_0x30786c,_0x65c340++);_0x3fc8e6['push'](_0x36c189);for(const [_0x43f2fd,_0x15567a]of _0x30786c['markers']){const _0x516db9=_0x185ab7['createRange'](_0x185ab7['createPositionFromPath'](_0x5554ba,_0x15567a['start']['path']['slice']()),_0x185ab7['createPositionFromPath'](_0x5554ba,_0x15567a['end']['path']['slice']())),_0x57a688=new _0x4ea834(_0x43f2fd,null,_0x516db9,_0x185ab7['markers'],!0x0,_0x65c340++);_0x3fc8e6['push'](_0x57a688);}}if(_0x2d77d6)for(const [_0x30126e,_0x2b0c0e]of Object['entries'](_0x2d77d6)){const _0x146076=_0x185ab7['document']['getRoot'](_0x30126e);if(!_0x146076)throw new _0x2bce97('multi-root-editor-root-attributes-no-root',null);for(const [_0x205eaf,_0x3b6851]of Object['entries'](_0x2b0c0e))if(null!==_0x3b6851){const _0x19fbef=new _0x5019a7(_0x146076,_0x205eaf,null,_0x3b6851,_0x65c340++);_0x3fc8e6['push'](_0x19fbef);}}return _0x3fc8e6;}async['_loadRoot'](_0x5f05b9,_0x49bf36,_0x32a8da){this['_getOperationsFromInitData']({[_0x5f05b9]:_0x49bf36},{[_0x5f05b9]:_0x32a8da})['forEach']((_0x172d73,_0x2e3bad)=>{_0x172d73['baseVersion']=this['_document']['version']+_0x2e3bad,_0x172d73['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x172d73);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xfbb68f,_0x2b953a){let _0x1b1d14;this['_offset']=_0xfbb68f['offset'];const _0x1d2d38=_0xfbb68f['wereChangesApplied']&&!_0xfbb68f['initData'],_0x2c7b31=_0x1d2d38?0x0:_0xfbb68f['data']['baseVersion'];if(_0x2b953a['forEach'](_0x3b857e=>{_0x3b857e['_isInit']=!0x0,_0x3b857e['createdAt']=_0xfbb68f['sessionCreatedAt'],_0x3b857e['_authorId']=null;}),_0x1d2d38)_0x1b1d14=_0x2b953a,this['_applyOperationsSet'](_0x1b1d14,_0x1d2d38);else{if(_0xfbb68f['initData']){const _0x524670=this['_getOperationsFromInitData'](_0xfbb68f['initData']);this['_document']['history']['version']=-_0x524670['length'],_0x524670['forEach'](_0x28f5b0=>{_0x28f5b0['baseVersion']-=_0x524670['length'],_0x28f5b0['createdAt']=_0xfbb68f['sessionCreatedAt'],_0x28f5b0['_isInit']=!0x0,_0x28f5b0['_authorId']=null;}),this['_applyOperationsSet'](_0x524670,!0x0),this['serverHistory']['version']=-_0x524670['length']+this['_offset'],this['_updateServerHistory'](_0x524670);}this['_document']['history']['version']=_0x2c7b31,_0x1b1d14=this['_decompressOperations'](_0xfbb68f['data'],_0xfbb68f['metadata']),await this['_fetchMissingUsers'](_0x1b1d14),this['_applyOperationsSet'](_0x1b1d14,_0x1d2d38);}_0xfbb68f['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1b1d14,_0xfbb68f['lastOperationId']),this['_lastSyncedOperationId']=_0xfbb68f['lastOperationId']),this['serverHistory']['version']=_0x2c7b31+this['_offset'],this['_updateServerHistory'](_0x1b1d14),_0x2b953a['filter'](_0x54d850=>{const _0x4f525e=this['_getAffectedRoot'](_0x54d850);return _0x4f525e&&!this['_knownRootNames']['has'](_0x4f525e);})['forEach']((_0x15b97c,_0x1729d2)=>{_0x15b97c['baseVersion']=this['_document']['version']+_0x1729d2,this['_saveOperationInBuffer'](_0x15b97c);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x342d41,_0x3a8c74){const _0x2f4dda=_0x3a8c74&&_0x3a8c74['message'];if(_0x2f4dda&&_0x2f4dda['startsWith']('realtimecollaborationclient'))throw _0x3a8c74;const _0x388621=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x388621['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2bce97(_0x342d41,this['editor'],_0x2f4dda?{'originalError':_0x2f4dda}:void 0x0);}['_saveOperationInBuffer'](_0x2cc567){this['_knownOperations']['has'](_0x2cc567)||(this['_knownOperations']['add'](_0x2cc567),this['_bufferedOperations']['push'](_0x2cc567),this['_pendingAction']||'marker'==_0x2cc567['type']&&!_0x2cc567['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x27206f=!0x1){!_0x27206f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x44f15d=>{_0x44f15d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1a54a4=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x575fa9){return _0x575fa9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x575fa9['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x575fa9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1a54a4)||this['_crash'](_0x1a54a4['message'],_0x1a54a4);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x35e7c2=>{this['on']('change:_isPendingUpdate',()=>{_0x35e7c2();});});}async['_sendBufferedOperations'](){const _0x2ac621=this['editor']['plugins']['get'](D);if(this['_shouldSendSelectionUpdate']()&&(_0x2ac621['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3809bc=[...this['_bufferedOperations']];for(const _0x204376 of _0x3809bc)_0x204376['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x204376);const _0x96bc8f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3809bc),_0x503202=N++,_0x1048cc=this['_compressOperations'](_0x3809bc),_0xfb1bc=await this['_service']['sendOperations'](_0x1048cc,_0x1048cc['baseVersion'],_0x96bc8f);try{return await this['_handleServerResponse'](_0x3809bc,_0xfb1bc,_0x503202);}catch(_0x28be0b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x28be0b);}}async['_handleServerResponse'](_0x401bcb,_0x22046b,_0x51a01b){if('error'in _0x22046b)throw _0x22046b['error'];let _0x20b2bf=!0x1;if(_0x22046b['wereChangesApplied']){_0x22046b['lastOperationId']&&(this['_lastSyncedOperationId']=_0x22046b['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x483982=>!_0x401bcb['includes'](_0x483982));for(const _0x370138 of _0x401bcb)_0x370138['createdAt']='lastOperationAcceptedAt'in _0x22046b&&_0x22046b['lastOperationAcceptedAt']||void 0x0;x(_0x401bcb,_0x22046b['version']-_0x401bcb['length']),this['_updateServerHistory'](_0x401bcb);const _0x11719e=_0x401bcb['filter'](_0xa1a536=>{if(!_0xa1a536['_isInit'])return!0x1;const _0x346373=this['_getAffectedRoot'](_0xa1a536);return _0x346373&&!this['_knownRootNames']['has'](_0x346373);});x(_0x11719e,this['_document']['version']),this['_applyOperationsSet'](_0x11719e),_0x20b2bf=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2a9c95=this['_decompressOperations'](_0x22046b['data'],_0x22046b['metadata'])['filter'](_0x211dcc=>_0x211dcc['baseVersion']>=this['_lastServerVersion']);_0x2a9c95['forEach'](_0x3f4468=>this['_addKnownRoot'](_0x3f4468)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x23c591=>!_0x23c591['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x23c591))),this['_bufferedOperations']['length']&&x(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2a9c95),_0x20b2bf=this['_handleExternalOperations'](_0x2a9c95,_0x22046b['version'],_0x22046b['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x20b2bf?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x37ffbd,_0x345261,_0x501940){try{const _0x2c62ae={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3e297b,operationsB:_0x59db9b,originalOperations:_0x488eb5}=_0x117a9b(_0x37ffbd,this['_bufferedOperations'],_0x2c62ae);x(_0x3e297b,this['_document']['version']),x(_0x59db9b,_0x345261);for(const _0x4fc98b of _0x3e297b){const _0x5b1361=_0x488eb5['get'](_0x4fc98b);_0x4fc98b['_authorId']=_0x5b1361?_0x5b1361['_authorId']:null;}_0x501940&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x37ffbd,_0x501940),this['_lastSyncedOperationId']=_0x501940),this['_bufferedOperations']=[..._0x59db9b],this['_applyOperationsSet'](_0x3e297b),this['_updateServerHistory'](_0x37ffbd);}catch(_0x46e214){return console['error'](_0x46e214),!0x1;}return!0x0;}['_applyOperationsSet'](_0x38f232,_0x12e319=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x313aae=>{for(const _0x3bbcfa of _0x38f232)this['_knownOperations']['add'](_0x3bbcfa),this['_addKnownRoot'](_0x3bbcfa),_0x313aae['batch']['addOperation'](_0x3bbcfa),this['editor']['model']['applyOperation'](_0x3bbcfa);});}['_addKnownRoot'](_0xc4ab1d){const _0x14386f=this['_getAffectedRoot'](_0xc4ab1d);_0x14386f&&this['_knownRootNames']['add'](_0x14386f);}['_getAffectedRoot'](_0x1d493b){let _0x18f731,_0x19c8a5;switch(_0x1d493b['type']){case'insert':_0x18f731=_0x1d493b['position']['root'];break;case'marker':if(_0x19c8a5=_0x1d493b['newRange'],!_0x19c8a5)return null;_0x18f731=_0x19c8a5['root'];break;case'addRootAttribute':_0x18f731=_0x1d493b['root'];break;case'addRoot':_0x18f731=_0x1d493b['affectedSelectable'];break;case'move':_0x18f731=_0x1d493b['targetPosition']['root'];break;default:return null;}return _0x18f731['rootName'];}['_updateServerHistory'](_0x3b277c){_0x3b277c['forEach'](_0x38c814=>{const _0x4e48fa=_0x38c814['clone']();_0x4e48fa['_authorId']=_0x38c814['_authorId'],_0x4e48fa['_isInit']=!!_0x38c814['_isInit'],_0x4e48fa['createdAt']=_0x38c814['createdAt'],_0x4e48fa['baseVersion']+=this['_offset'],_0x38c814['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4e48fa),this['serverHistory']['addOperation'](_0x4e48fa);});}['_handleReconnectionError'](_0x148d87){const _0x3fa40a=this['editor']['plugins']['get']('Notification'),_0x1f697c=this['editor']['locale'];_0x148d87||(_0x148d87=P(_0x1f697c,'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.')),_0x3fa40a['showWarning'](_0x148d87,{'title':P(_0x1f697c,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2fc7e3)['add'](P(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2fc7e3)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5e496a){const _0x279b0b=_0x5e496a['map'](_0x43639f=>_0x43639f['toJSON']());return this['_compressor']['compress'](_0x279b0b);}['_decompressOperations'](_0x38c055,_0x43d0e7){return this['_compressor']['decompress'](_0x38c055)['map']((_0x5920ae,_0x5ce1fa)=>{const _0x1969c8='init'==_0x43d0e7[_0x5ce1fa]['type'];if('InsertOperation'==_0x5920ae['__className']){const _0x243c49=_0x5920ae['position']['root'];!this['_document']['getRoot'](_0x243c49)&&(this['_document']['createRoot']('$root',_0x243c49)['_isAttached']=!0x1);}const _0x171b95=_0x25bca7['fromJSON'](_0x5920ae,this['_document']);return _0x171b95['wasUndone']=_0x5920ae['wasUndone'],_0x171b95['_isInit']=_0x1969c8,_0x171b95['_authorId']=_0x1969c8?null:_0x43d0e7[_0x5ce1fa]['userId'],_0x171b95['_isDisconnection']='cs:removeUser'===_0x43d0e7[_0x5ce1fa]['type'],_0x171b95['createdAt']=_0x43d0e7[_0x5ce1fa]['createdAt'],_0x171b95;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x26c5b8=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x26c5b8&&_0x26c5b8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class B extends Error{}function x(_0x265c73,_0x4e7c19){for(const _0x56a5d3 of _0x265c73)_0x56a5d3['baseVersion']=_0x4e7c19++;}class M{['_ignoredOperations'];['_operationToId'];constructor(_0x5d35d4){this['_ignoredOperations']=_0x5d35d4,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x58fc49){let _0x375a54=_0x58fc49['length'];for(;_0x375a54--;){const _0x3eec71=_0x58fc49[_0x375a54];if(!this['_ignoredOperations']['has'](_0x3eec71)){if(!this['_operationToId']['has'](_0x3eec71)){const _0x4a7541=_0x566030()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3eec71,_0x4a7541);}return this['_operationToId']['get'](_0x3eec71);}}}['setIdForTheLastOperation'](_0x2a6686,_0x882cd2){if(!_0x882cd2)return;let _0xc37b33=_0x2a6686['length'];for(;_0xc37b33--;){const _0x2a0fe1=_0x2a6686[_0xc37b33];this['_ignoredOperations']['has'](_0x2a0fe1)||this['_operationToId']['set'](_0x2a0fe1,_0x882cd2);}}}class a extends _0x5b4332{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2e1c2e{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x86f88e)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x564686];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x15d5c0){super(_0x15d5c0),this['_services']=new Map();}async['init'](){const _0x38cda3=this['context'],_0x14efc1=_0x38cda3['plugins']['get']('CommentsRepository');if(_0x38cda3['plugins']['get'](n)['addToReconnectionStack'](this),_0x14efc1['adapter']={'addCommentThread':async({channelId:_0x44ae54,threadId:_0x444d92,comments:_0x477fbb,resolvedAt:_0x407a35,resolvedBy:_0x5d6bb0,context:_0x13ce5d,attributes:_0x5dc89f})=>{const _0x411a4d=await this['_getService'](_0x44ae54)['addCommentThread']({'commentThreadId':_0x444d92,'comments':_0x477fbb['map'](_0x5c2000=>function(_0x2e94b6,_0x45528d,_0x48cdbd){return{'commentThreadId':_0x48cdbd,'commentId':_0x2e94b6['commentId'],'userId':_0x2e94b6['authorId'],'content':_0x2e94b6['content'],'documentId':_0x45528d,'createdAt':_0x2e94b6['createdAt'],'attributes':_0x2e94b6['attributes']||{}};}(_0x5c2000,_0x44ae54,_0x444d92)),'resolvedAt':_0x407a35,'resolvedBy':_0x5d6bb0,'context':_0x13ce5d,'attributes':_0x5dc89f})['catch'](ft);return{'threadId':_0x411a4d['commentThreadId'],'comments':_0x411a4d['comments']};},'getCommentThread':async({channelId:_0x263381,threadId:_0x376981})=>{const _0x58e4b4=await this['_getService'](_0x263381)['getCommentThread'](_0x376981)['catch'](f)['catch'](ft);return _0x58e4b4?_0x58e4b4['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x58e4b4]),{'threadId':_0x58e4b4['commentThreadId'],'comments':_0x58e4b4['comments']['map'](p),'context':_0x58e4b4['context'],'resolvedAt':_0x58e4b4['resolvedAt'],'resolvedBy':_0x58e4b4['resolvedBy'],'attributes':_0x58e4b4['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x575987,threadId:_0x3ef10e,context:_0x565680,unlinkedAt:_0x530add,attributes:_0x49b104})=>this['_getService'](_0x575987)['updateCommentThread']({'commentThreadId':_0x3ef10e,'context':_0x565680,'attributes':_0x49b104,'unlinkedAt':_0x530add})['catch'](f)['catch'](ft),'resolveCommentThread':async({channelId:_0x259ada,threadId:_0x34ce8f})=>{const _0x256be7=await this['_getService'](_0x259ada)['resolveCommentThread'](_0x34ce8f)['catch'](f)['catch'](ft);return{'threadId':_0x256be7['commentThreadId'],'resolvedAt':_0x256be7['resolvedAt'],'resolvedBy':_0x256be7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5319fb,threadId:_0x2879ca})=>this['_getService'](_0x5319fb)['reopenCommentThread'](_0x2879ca)['catch'](f)['catch'](ft),'removeCommentThread':({channelId:_0x4a495b,threadId:_0x20079b})=>this['_getService'](_0x4a495b)['removeCommentThread'](_0x20079b)['catch'](f)['catch'](ft),'addComment':({channelId:_0x3d51fe,threadId:_0x206a40,commentId:_0x57a6e7,content:_0x55c771,attributes:_0x507e26})=>this['_getService'](_0x3d51fe)['addComment'](_0x206a40,_0x57a6e7,_0x55c771,_0x507e26)['catch'](ft),'updateComment':({channelId:_0x1572ca,threadId:_0xee6aed,commentId:_0x32fd9d,content:_0x2f00f4,attributes:_0x4b1cf6})=>this['_getService'](_0x1572ca)['updateComment'](_0xee6aed,_0x32fd9d,_0x2f00f4,_0x4b1cf6)['catch'](f)['catch'](ft),'removeComment':({channelId:_0x4aa10e,threadId:_0x23dac9,commentId:_0x33a7dc})=>this['_getService'](_0x4aa10e)['removeComment'](_0x23dac9,_0x33a7dc)['catch'](f)['catch'](ft)},_0x38cda3 instanceof _0x475de3){const _0x588102=_0x38cda3['config']['get']('collaboration.channelId'),_0x3293bf=_0x38cda3['plugins']['get'](i);await this['_setUpService'](_0x588102);const _0x1034bb=await this['_services']['get'](_0x588102)['getConnectedSessions']();this['listenTo'](_0x3293bf,'sessionAdd:'+_0x588102,(_0x1f3ba3,{session:_0x252204})=>{_0x252204['id']===_0x3293bf['mySessionId']&&(_0x1f3ba3['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x252204['permissions'],_0x588102));}),_0x3293bf['register'](_0x588102,_0x1034bb);}}async['_setUpService'](_0x5da9d0){if(this['_services']['has'](_0x5da9d0))throw new _0x2bce97('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5da9d0});const _0x929ff8=this['context']['plugins']['get']('CommentsRepository'),_0x2cf170=new s['CommentsService'](_0x5da9d0);this['_services']['set'](_0x5da9d0,_0x2cf170),this['listenTo'](_0x2cf170,'commentThreadAdded',(_0x1ffc8c,_0xe5b65f)=>{const {commentThreadId:_0x19ddd2,documentId:_0x54c1ef,context:_0x5dd511,attributes:_0x39f98d,resolvedAt:_0x50ac4e,resolvedBy:_0x5d744e,comments:_0x3c8251}=_0xe5b65f;_0x929ff8['getCommentThread'](_0x19ddd2)||_0x929ff8['addCommentThread']({'threadId':_0x19ddd2,'channelId':_0x54c1ef,'comments':_0x3c8251?_0x3c8251['map'](p):[],'context':_0x5dd511,'attributes':_0x39f98d,'resolvedAt':_0x50ac4e,'resolvedBy':_0x5d744e,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentThreadUpdated',(_0xce902,{commentThreadId:_0x5d4d18,documentId:_0x5a12f9,context:_0x2e9c3c,unlinkedAt:_0x463723,attributes:_0x338493})=>{_0x929ff8['getCommentThread'](_0x5d4d18)&&_0x929ff8['updateCommentThread']({'threadId':_0x5d4d18,'channelId':_0x5a12f9,'context':_0x2e9c3c,'unlinkedAt':_0x463723,'attributes':_0x338493,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentThreadResolved',(_0x5e8151,{commentThreadId:_0x4f2015,resolvedBy:_0x5f1b75,resolvedAt:_0x253e18})=>{const _0x4779d1=_0x929ff8['getCommentThread'](_0x4f2015);_0x4779d1&&_0x4779d1['resolve']({'resolvedBy':_0x5f1b75,'resolvedAt':_0x253e18,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentThreadReopened',(_0x5f0d5f,{commentThreadId:_0x33969c})=>{const _0x1a89a9=_0x929ff8['getCommentThread'](_0x33969c);_0x1a89a9&&_0x1a89a9['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentThreadRemoved',(_0x3f98bd,{commentThreadId:_0x2035d9})=>{const _0x3e706f=_0x929ff8['getCommentThread'](_0x2035d9);_0x3e706f&&_0x3e706f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentAdded',(_0x576d5f,_0xd28bb6)=>{const _0x4f4bd2=_0xd28bb6['commentThreadId'],_0x5707e7=_0x929ff8['getCommentThread'](_0x4f4bd2);_0x5707e7&&_0x5707e7['addComment']({...p(_0xd28bb6),'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentUpdated',(_0x2b8119,{commentThreadId:_0x595e45,commentId:_0x29aa0f,content:_0x1e12c6,attributes:_0x5b3ac8})=>{const _0x5b5a8a=_0x929ff8['getCommentThread'](_0x595e45);if(_0x5b5a8a){const _0x3356d1=_0x5b5a8a['getComment'](_0x29aa0f);_0x3356d1&&_0x3356d1['update']({'content':_0x1e12c6,'attributes':_0x5b3ac8,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2cf170,'commentRemoved',(_0x5d91e5,{commentThreadId:_0x25ff30,commentId:_0x50d4d6})=>{const _0x1dc8f5=_0x929ff8['getCommentThread'](_0x25ff30);if(_0x1dc8f5){const _0x80ed11=_0x1dc8f5['getComment'](_0x50d4d6);_0x80ed11&&_0x80ed11['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5da9d0);}['destroy'](){if(this['context']instanceof _0x475de3){const _0x2467b1=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2467b1);}}['_terminateService'](_0x1b6007){if(!this['_services']['has'](_0x1b6007))throw new _0x2bce97('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1b6007});this['_getService'](_0x1b6007)['disconnect'](),this['_services']['delete'](_0x1b6007);}async['reconnect'](){for(const _0x446497 of this['_services']['keys']())await this['_connectService'](_0x446497);if(this['context']instanceof _0x475de3){const _0x340629=this['context']['config']['get']('collaboration.channelId'),_0x26b71d=this['context']['plugins']['get'](i);_0x26b71d['unregister'](_0x340629);const _0x33b2f0=await this['_services']['get'](_0x340629)['getConnectedSessions']();_0x26b71d['register'](_0x340629,_0x33b2f0);}}async['_connectService'](_0x3f252b){const {connection:_0x229200}=this['context']['plugins']['get'](n),_0x1cafd6=this['context']['plugins']['get']('CommentsRepository'),_0x110d47=this['_services']['get'](_0x3f252b),_0x3caa98=await _0x110d47['connect'](_0x229200);await this['_fetchMissingUsersForThreads'](_0x3caa98);const _0x487b50=new Set(Array['from'](_0x1cafd6['getCommentThreads']({'channelId':_0x3f252b}),_0x53390e=>_0x53390e['id']));for(const _0x3c45cb of _0x3caa98)_0x3c45cb['deletedAt']||_0x487b50['delete'](_0x3c45cb['commentThreadId']);for(const _0x591466 of _0x487b50)_0x1cafd6['getCommentThread'](_0x591466)['remove']({'isFromAdapter':!0x0});for(const _0x19df4a of _0x3caa98){let _0x296e1b=_0x1cafd6['getCommentThread'](_0x19df4a['commentThreadId']);const {commentThreadId:_0xbf2861,context:_0x49cf16,attributes:_0x45ecb5,resolvedBy:_0x4fb382,resolvedAt:_0x4334e0,unlinkedAt:_0x2c8c48,deletedAt:_0x1729c0}=_0x19df4a;if(_0x1729c0)continue;_0x296e1b||(_0x296e1b=_0x1cafd6['addCommentThread']({'channelId':_0x3f252b,'threadId':_0xbf2861,'context':_0x49cf16,'attributes':_0x45ecb5||{},'resolvedBy':_0x4fb382,'resolvedAt':_0x4334e0,'unlinkedAt':_0x2c8c48,'isFromAdapter':!0x0}));const _0x3a6420=new Set(Array['from'](_0x296e1b['comments'],_0x1eb77d=>_0x1eb77d['id']));for(const _0x4773a8 of _0x19df4a['comments'])_0x3a6420['delete'](_0x4773a8['commentId']);for(const _0xc23339 of _0x3a6420)_0x296e1b['getComment'](_0xc23339)['remove']({'isFromAdapter':!0x0});for(const _0x7f13d2 of _0x19df4a['comments']){const _0x1485b4=_0x296e1b['getComment'](_0x7f13d2['commentId']);_0x1485b4?_0x1485b4['content']!==_0x7f13d2['content']&&_0x1485b4['update']({'content':_0x7f13d2['content'],'isFromAdapter':!0x0}):_0x296e1b['addComment'](Object['assign'](p(_0x7f13d2),{'isFromAdapter':!0x0}));}}}['_getService'](_0x241855){if(!this['_services']['has'](_0x241855))throw new _0x2bce97('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x241855});return this['_services']['get'](_0x241855);}async['_fetchMissingUsersForThreads'](_0x280b89){const _0x2dc6da=this['context']['plugins']['get'](_0x564686),{connection:_0x3f6233}=this['context']['plugins']['get'](n),_0x5ab6d5=new Set();for(const {resolvedBy:_0x83e614,comments:_0x1627f1}of _0x280b89){_0x83e614&&!_0x2dc6da['getUser'](_0x83e614)&&_0x5ab6d5['add'](_0x83e614);for(const {userId:_0x4c6fd0}of _0x1627f1)_0x2dc6da['getUser'](_0x4c6fd0)||_0x5ab6d5['add'](_0x4c6fd0);}if(0x0===_0x5ab6d5['size'])return;const _0x25e459=await ut['getMany'](_0x3f6233,Array['from'](_0x5ab6d5));for(const _0x3245a7 of _0x25e459)_0x2dc6da['getUser'](_0x3245a7['id'])||_0x2dc6da['addUser'](_0x3245a7);}}async function f(_0x4bb674){if('404'!==_0x4bb674['code'])throw _0x4bb674;}function ft(_0x422905){if((_0x16d274=_0x422905)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x16d274['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x16d274['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x16d274;throw _0x422905;}function p(_0x73e649){return{'threadId':_0x73e649['commentThreadId'],'commentId':_0x73e649['commentId'],'content':_0x73e649['content'],'createdAt':_0x73e649['createdAt'],'authorId':_0x73e649['userId'],'attributes':_0x73e649['attributes']||{}};}class m extends _0x5b4332{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>rt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1c7ab5){super(_0x1c7ab5);const _0x539310=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x539310);}['init'](){const _0x18089f=this['editor']['plugins']['get'](n),_0x5db099=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5db099['adapter']={'getSuggestion':async _0x568390=>{await this['_waitForServiceReady']();const _0x19c341=await this['_trackChangesService']['get'](_0x568390)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x19c341]),_0x19c341;},'addSuggestion':async({id:_0x414f73,type:_0x35bcbd,data:_0x33291c,originalSuggestionId:_0x471baa,attributes:_0x2fe503})=>{await this['_waitForServiceReady']();const _0x51b3a9={'id':_0x414f73,'type':_0x35bcbd,'data':_0x33291c,'originalSuggestionId':_0x471baa,'attributes':_0x2fe503},_0x41236c=await this['_trackChangesService']['add'](_0x414f73,_0x35bcbd,_0x33291c,_0x471baa,_0x2fe503)['catch'](_0x312ae7=>{if(mt(_0x312ae7))return new Promise(_0x4dd5d2=>{this['_bufferedRequests']['set'](_0x414f73,{'resolve':_0x4dd5d2,'suggestionData':_0x51b3a9});});throw _0x312ae7;});return this['_bufferedRequests']['delete'](_0x414f73),_0x41236c;},'updateSuggestion':async(_0x9a0b98,_0x3daa65)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3daa65['state'])return this['_trackChangesService']['update'](_0x9a0b98,_0x3daa65)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5d43d4,_0x3c5ba8)=>{_0x5db099['hasSuggestion'](_0x3c5ba8['id'])&&(_0x5db099['getSuggestion'](_0x3c5ba8['id'])['attributes']=_0x3c5ba8['attributes']);}),this['_trackChangesService']['connect'](_0x18089f['connection'])['then'](_0x11700b=>(_0x18089f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x11700b)['then'](()=>{for(const _0x269a48 of _0x11700b){_0x5db099['addSuggestionData'](_0x269a48)['_saved']=!0x0;}})));}async['reconnect'](){const _0xa579ba=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x236985}=this['editor']['plugins']['get'](n),_0x350493=await this['_trackChangesService']['connect'](_0x236985);await this['_fetchMissingUsersForThreads'](_0x350493);for(const {suggestionData:_0x2b9864,resolve:_0x15ef2a}of this['_bufferedRequests']['values']()){let _0x8111c1=_0x350493['find'](_0x374584=>_0x374584['id']===_0x2b9864['id']);_0x8111c1||(_0x8111c1=await this['_trackChangesService']['add'](_0x2b9864['id'],_0x2b9864['type'],_0x2b9864['data'],_0x2b9864['originalSuggestionId'])),_0x15ef2a(_0x8111c1);}for(const _0xa32f84 of _0x350493)_0xa579ba['hasSuggestion'](_0xa32f84['id'])||_0xa579ba['addSuggestionData'](_0xa32f84);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5c784c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x6ea89c=>{_0x6ea89c['off'](),_0x5c784c();});});}async['_fetchMissingUsersForThreads'](_0x3228a3){const _0x52307c=this['editor']['plugins']['get'](_0x564686),{connection:_0x3dbbcc}=this['editor']['plugins']['get'](n),_0x146f31=new Set();for(const {authorId:_0x1a880b}of _0x3228a3)_0x52307c['getUser'](_0x1a880b)||_0x146f31['add'](_0x1a880b);if(0x0===_0x146f31['size'])return;const _0x390041=await ut['getMany'](_0x3dbbcc,Array['from'](_0x146f31));for(const _0x492e0d of _0x390041)_0x52307c['getUser'](_0x492e0d['id'])||_0x52307c['addUser'](_0x492e0d);}}function A(_0x41072a){if(mt(_0x41072a))return new Promise(()=>{});throw _0x41072a;}function mt(_0x3355a8){return _0x3355a8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3355a8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5b4332{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3d1453=this['editor']['plugins']['get'](n),_0x1bd0e3=this['editor']['plugins']['get']('CommentsEditing'),_0x11b072=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3d1453,'change:state',(_0x16cbd6,_0x5dc679,_0x852553)=>{_0x1bd0e3['isThreadsLoadingPaused']='connected'!==_0x852553;});}),this['listenTo'](_0x3d1453,'change:state',(_0x125552,_0x5e45f5,_0x384458)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x384458);}),_0x11b072['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x5b4332{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x5b4332{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>et)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x564686];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x379331){super(_0x379331);const _0x55030b=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x55030b);}async['init'](){const _0xe4ddce=this['editor']['plugins']['get'](l),_0x4b22ed=_0xe4ddce['serverHistory'],_0x2c8564=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x4b22ed,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xe4ddce['sessionId']});const _0x55df3f=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x101cae=await it['isBundleUploaded'](_0x2c8564['connection'],_0x55df3f);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x5c3833})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5c3833)),'updateRevisions':async _0x12e405=>{await this['_waitForServiceReady']();const _0x5bdfea=this['_revisionTracker']['currentRevision'];if(_0x101cae&&0x1===_0x12e405['length']&&_0x12e405[0x0]['id']===_0x5bdfea['id'])return _0x12e405;for(const _0x4db3aa of _0x12e405)_0x4db3aa['id']===_0x5bdfea['id']&&(_0x4db3aa['isEmptyCurrent']=_0x4db3aa['fromVersion']===_0x4db3aa['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x12e405,this['_lastRequestId'])['then'](_0x43781b=>(this['_lastRequestId']=_0x43781b,_0x12e405))['catch'](_0x134ee6=>{if(ot(_0x134ee6)||'400'===_0x134ee6['code']&&void 0x0!==_0x134ee6['data']['wrongRequestId']){for(const _0x7f4950 of _0x12e405){!this['_revisionTracker']['repository']['getRevision'](_0x7f4950['id'])||this['_revisionTracker']['_bufferUpdate'](_0x7f4950['id'],_0x7f4950,!0x1);}if(ot(_0x134ee6))throw _0x134ee6;return _0x12e405;}throw _0x134ee6;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x276f7e,{revisionsData:_0x2d53dd,requestId:_0x30c6f5})=>{Math['max'](..._0x2d53dd['map'](_0x4e94ae=>_0x4e94ae['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2d53dd,_0x30c6f5);}):this['_handleRevisionsUpdate'](_0x2d53dd,_0x30c6f5);});const {revisions:_0x372b1f,requestId:_0x52d316}=await this['_revisionHistoryService']['connect'](_0x2c8564['connection']);_0x2c8564['addToReconnectionStack'](this),this['_lastRequestId']=_0x52d316,await this['_fetchMissingUsers'](_0x372b1f);for(const _0x1fb428 of _0x372b1f)this['_revisionTracker']['addRevisionData'](_0x1fb428);this['listenTo'](_0xe4ddce,'change:_isConnected',(_0x229129,_0x2da37d,_0x3d1d8f)=>{_0x3d1d8f&&(this['_oldOffset']=_0xe4ddce['_offset'],_0x229129['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2c8564,'state',_0x4049bd=>_0x4049bd===_0x78d56b['CONNECTED']);}async['reconnect'](){const _0x372bde=this['editor']['plugins']['get'](n),_0x5dadf6=this['editor']['plugins']['get'](l),_0x3cdcca=async()=>{const _0x9b9360=this['_revisionTracker']['currentRevision'],_0x191c95=_0x9b9360['id'],_0x438832=_0x191c95!==_0x5dadf6['sessionId'];if(_0x438832){const _0x2fa368=_0x5dadf6['_offset']-this['_oldOffset'],_0x598395=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x9b9360['toVersion']+_0x2fa368!==_0x598395){const _0xb2f233=_0x9b9360['fromVersion']+_0x2fa368,_0x2326a3=this['editor']['plugins']['get'](_0x564686),_0x5a2bb1=this['_revisionTracker']['buildRevisionData']({'revision':_0x9b9360,'from':_0xb2f233,'to':_0x598395});_0x5a2bb1['id']=_0x9b9360['id'];const _0x3d7def=_0x5a2bb1['authorsIds']['map'](_0x3a54eb=>_0x2326a3['getUser'](_0x3a54eb));_0x9b9360['_update']({..._0x5a2bb1,'authors':_0x3d7def},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x9b9360['id'],_0x5a2bb1,!0x0);}this['_revisionTracker']['_startingVersion']=_0x598395,(_0x9b9360['toVersion']===_0x9b9360['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x191c95)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x191c95),this['_revisionTracker']['_createCurrentRevision'](_0x598395));}const {revisions:_0x3bd61a,requestId:_0x208f10}=await this['_revisionHistoryService']['reconnect'](_0x372bde['connection'],this['_lastRequestId']);_0x438832&&_0x3bd61a['length']>0x0?_0x5dadf6['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3bd61a),this['_handleRevisionsUpdate'](_0x3bd61a,_0x208f10),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5dadf6['_isConnected']?_0x3cdcca():new Promise((_0x1bcc05,_0x49ef62)=>{_0x5dadf6['once']('change:_isConnected',()=>{_0x3cdcca()['then'](_0x1bcc05)['catch'](_0x49ef62);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x19af0d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x31d174=>{_0x31d174['off'](),_0x19af0d();});});}['_getLatestVersionFromServerOperations'](){const _0x278cba=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2377eb of _0x278cba)if('marker'!==_0x2377eb['type']||_0x2377eb['affectsData'])return _0x2377eb['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1174c7=this['editor']['plugins']['get'](l);return new Promise(_0x2a6990=>{_0x1174c7['_isPendingUpdate']?_0x1174c7['once']('change:_isPendingUpdate',()=>{_0x2a6990(this['_getLatestVersionFromServerOperations']());}):_0x2a6990(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1687eb,_0x1e53cf){const _0x32acf3=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1e53cf;for(const _0x1b1d98 of _0x1687eb){const _0x243b13=_0x32acf3['getRevision'](_0x1b1d98['id']);if(_0x243b13){if((_0x1b1d98['fromVersion']||_0x1b1d98['toVersion'])&&(_0x1b1d98['diffData']=null),_0x243b13===this['_revisionTracker']['currentRevision']){const _0xfcb53=Math['max'](_0x243b13['toVersion'],_0x1b1d98['toVersion']),_0x457774=Math['max'](_0x243b13['fromVersion'],_0x1b1d98['fromVersion']);let _0x3c85bc;_0x243b13['toVersion']===_0x1b1d98['toVersion']&&_0x243b13['fromVersion']===_0x1b1d98['fromVersion']?(_0x3c85bc=!0x0,this['_preventResendingRevisionData'](_0x1b1d98)):_0x1b1d98['toVersion']===_0xfcb53&&_0x1b1d98['fromVersion']===_0x457774?_0x3c85bc=!0x1:(_0x243b13['toVersion']===_0xfcb53&&_0x243b13['fromVersion']===_0x457774||this['_fixRevision']({'revision':_0x243b13,'from':_0x457774,'to':_0xfcb53}),_0x3c85bc=!0x0),_0x3c85bc&&(delete _0x1b1d98['fromVersion'],delete _0x1b1d98['toVersion'],delete _0x1b1d98['diffData'],delete _0x1b1d98['createdAt'],delete _0x1b1d98['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1b1d98),this['_preventResendingRevisionData'](_0x1b1d98);}else this['_revisionTracker']['addRevisionData'](_0x1b1d98);}const _0xf27c9d=_0x32acf3['getRevisions']();_0xf27c9d['reverse']();for(let _0x2ae8a2=0x0;_0x2ae8a2<_0xf27c9d['length']-0x1;_0x2ae8a2++){const _0x21d5f8=_0xf27c9d[_0x2ae8a2],_0x5c27e2=_0xf27c9d[_0x2ae8a2+0x1];if(_0x21d5f8['fromVersion']<_0x5c27e2['toVersion']){const _0x20dba5=_0x5c27e2['toVersion'],_0x50dc8b=Math['max'](_0x20dba5,_0x21d5f8['toVersion']);this['_fixRevision']({'revision':_0x21d5f8,'from':_0x20dba5,'to':_0x50dc8b});}}}['_fixRevision']({revision:_0xf2da92,from:_0x27c090,to:_0x478af2}={}){const _0x5d9289=this['editor']['plugins']['get'](_0x564686),_0x239f54=this['_revisionTracker']['buildRevisionData']({'revision':_0xf2da92,'from':_0x27c090,'to':_0x478af2});_0x239f54['authors']=_0x239f54['authorsIds']['map'](_0x26a30d=>_0x5d9289['getUser'](_0x26a30d)),_0xf2da92['_update'](_0x239f54);}['_preventResendingRevisionData'](_0x44b54a){const _0xf0d0c0={};_0xf0d0c0['id']=_0x44b54a['id'];for(const _0x5dcb02 of Object['keys'](_0x44b54a))'id'!==_0x5dcb02&&(_0xf0d0c0[_0x5dcb02]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xf0d0c0['id'],_0xf0d0c0,!0x0);}async['_fetchMissingUsers'](_0x4b43ea){const _0x349804=this['editor']['plugins']['get'](_0x564686),{connection:_0x3a54e2}=this['editor']['plugins']['get'](n),_0xb46568=new Set();for(const _0x2d7970 of _0x4b43ea){for(const _0x18fb97 of _0x2d7970['authorsIds'])_0x557a98(_0x18fb97);_0x2d7970['creatorId']&&_0x557a98(_0x2d7970['creatorId']);}if(0x0===_0xb46568['size'])return;const _0x6506f=await ut['getMany'](_0x3a54e2,Array['from'](_0xb46568));for(const _0x4b59d7 of _0x6506f)_0x349804['getUser'](_0x4b59d7['id'])||_0x349804['addUser'](_0x4b59d7);function _0x557a98(_0x52fb34){_0x349804['getUser'](_0x52fb34)||_0xb46568['add'](_0x52fb34);}}}function ot(_0x14ec44){return _0x14ec44['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x14ec44['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x14ec44['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x5b4332{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class X extends _0x474a7b{['_collapseAt'];constructor(_0x92e007,_0x2b1ded=0x6){super(_0x92e007);const _0x1e0c37=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2b1ded,this['bind']('isHidden')['to'](this,'usersCount',_0x219aa5=>_0x219aa5<_0x2b1ded),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1e0c37['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':_0x1e0c37['to']('usersCount',_0x582501=>'+'+(_0x582501-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x474a7b{['items'];['keystrokes'];constructor(_0x87c37a){super(_0x87c37a);const _0x1e6cb6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x265acb(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1e6cb6['if']('hasPopup'),'aria-expanded':_0x1e6cb6['to']('isExpanded',_0x132a01=>this['hasPopup']&&String(_0x132a01)),'aria-label':_0x1e6cb6['to']('hasPopup',_0x1a416a=>P(_0x87c37a,_0x1a416a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1e6cb6['to']('hasPopup',_0x10e0ee=>!!_0x10e0ee&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x1e6cb6['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x1e6cb6['to'](_0x138a36=>{const _0x5e687b=_0x138a36,_0x1b6866=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1236c2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1b6866?.['contains'](_0x5e687b['relatedTarget'])||_0x1236c2?.['contains'](_0x5e687b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x5a5f4b,_0x109b9a,_0x4723f2)=>{this['element']&&(_0x4723f2?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class Q extends _0x474a7b{['counterView'];['inlineListView'];constructor(_0x2d5c59,_0x466778=0x6){super(_0x2d5c59);const _0x29ed11=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new X(this['locale'],_0x466778),this['inlineListView']=new is(_0x2d5c59),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xf3a99d of this['inlineListView']['items'])_0xf3a99d['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',_0x29ed11['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class Y extends _0x474a7b{['listWrapperView'];constructor(_0x45b4eb,_0x34f949){super(_0x45b4eb);const _0x10f100=this['bindTemplate'];this['listWrapperView']=new wt(_0x45b4eb,_0x34f949),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':P(_0x45b4eb,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x10f100['to'](_0x1e8f8a=>{const _0x17b448=_0x1e8f8a,_0x5cff0a=document['querySelector']('.ck-presence-list__list'),_0x4b2b0c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5cff0a?.['contains'](_0x17b448['relatedTarget'])||_0x4b2b0c?.['contains'](_0x17b448['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x4c8996{constructor(_0x594980,_0x45dcb8){super(_0x594980);const _0x2cdd1e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x45dcb8?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2cdd1e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2cdd1e['to']('role'),'aria-label':_0x2cdd1e['to']('ariaLabel'),'aria-labelledby':_0x2cdd1e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0xce7c42['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x330475=this['element'];_0x330475&&(this['_isScrollable']=Math['max'](_0x330475['scrollHeight'],_0x330475['clientHeight'])>0.8*window['innerHeight']);}}class Z extends ct{['userView'];constructor(_0x2c0e97,_0x273f86,_0x36b305){super(_0x2c0e97);const _0x57b0f1=this['bindTemplate'];this['userView']=new at(_0x2c0e97,_0x273f86);const _0x2f7885={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x273f86['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x273f86['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x273f86['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x36b305&&(_0x2f7885['tag']='button',_0x2f7885['on']={'click':_0x57b0f1['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2f7885);}['focus'](){this['element']['focus']();}}class tt extends _0x474a7b{['userView'];['markerView'];constructor(_0xcd8c97,_0x236328,_0x38082c){super(_0xcd8c97);const _0x1cf5ed=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0xcd8c97,_0x236328),this['markerView']=new nt(_0xcd8c97,_0x236328);const _0x2bfa48=new lt(_0xcd8c97);_0x2bfa48['template']['tag']='span',_0x2bfa48['text']=_0x236328['name'];const _0x506468={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1cf5ed['to']('isFocusable',_0x5f461c=>!!_0x5f461c&&0x0),'aria-labelledby':_0x2bfa48['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1cf5ed['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1cf5ed['to']('hasTooltip',_0x42fabd=>!_0x42fabd),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2bfa48]};_0x38082c&&(_0x506468['tag']='button',_0x506468['on']={'click':_0x1cf5ed['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x506468);}}class nt extends _0x474a7b{constructor(_0x15bbf4,_0x1d6168){super(_0x15bbf4),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1d6168['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const st={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2e1c2e{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2e929d){super(_0x2e929d),this['context']['config']['define']('presenceList',st);const _0x43c977=_0x2e929d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x43c977)throw new _0x2bce97('presencelist-collapseat-invalid-format',this);if(_0x43c977<0x1)throw new _0x2bce97('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2c7c4(),this['balloonPanelView']=new _0x5b9ec9(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x126125 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x126125);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5992e6,_0x16e8af)=>{this['_handleUserAdd'](_0x16e8af);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x51f878,_0x2895b5)=>{this['_handleUserRemove'](_0x2895b5);});}['_createView'](){const _0x40af8a=this['context'],_0x4fbb0b=new Q(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x2d1949=this['balloonPanelView'];if(!_0xef8e80(_0x40af8a['config']['get']('presenceList.container')))throw new _0x2bce97('presencelist-missing-container',this);return _0x4fbb0b['counterView']['bind']('usersCount')['to'](this),_0x4fbb0b['bind']('isCollapsed')['to'](this,'usersCount',_0x237aec=>{const {collapseAt:_0x418c7a}=_0x40af8a['config']['get']('presenceList'),_0xeac37d=_0x237aec>=_0x418c7a;if(_0xeac37d&&!_0x4fbb0b['inlineListView']['items']['find'](_0x27eb71=>_0x27eb71 instanceof X)){const _0x26e169=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x26e169&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4fbb0b['inlineListView']['items']['add'](_0x4fbb0b['counterView']);}return _0xeac37d||this['hideDropdown'](),_0xeac37d;}),_0x4fbb0b['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4d1b2c=>{const _0xc722af=_0x40af8a['config']['get']('presenceList'),_0x172399=new tt(_0x40af8a['locale'],_0x4d1b2c,!!_0xc722af['onClick']);return _0x172399['bind']('hasTooltip')['to'](_0x4fbb0b,'isCollapsed',_0x362514=>!_0x362514),_0x172399['bind']('isFocusable')['to'](_0x4fbb0b,'isCollapsed',_0x19c1f4=>!_0x19c1f4),_0xc722af['onClick']&&this['listenTo'](_0x172399,'execute',()=>{this['view']['isCollapsed']||_0xc722af['onClick'](_0x4d1b2c,_0x172399['element']);}),_0x172399;}),this['listenTo'](_0x4fbb0b['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4fbb0b['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4fbb0b['inlineListView']['keystrokes']['set']('Enter',(_0x2fbf44,_0x3688d8)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3688d8());}),_0x4fbb0b['render'](),_0x2d1949['render'](),_0x52645d({'emitter':_0x4fbb0b,'activator':()=>_0x2d1949['isVisible'],'contextElements':[_0x2d1949['element'],_0x4fbb0b['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x40af8a['config']['get']('presenceList.container')['appendChild'](_0x4fbb0b['element']),this['_bodyCollection']=new _0x51a795(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4fbb0b;}['_handleUserAdd'](_0x44c49c){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x44c49c['isMe'])return;const _0x3974c5=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3974c5-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x28731f=_0x44c49c['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x44c49c,_0x28731f);}['_handleUserRemove'](_0x1ed04d){this['usersCount']--;const {collapseAt:_0x51e816}=this['context']['config']['get']('presenceList'),_0x2e5142=this['usersCount']>=_0x51e816;if(this['currentDisplayedUsers']['get'](_0x1ed04d['id']))this['currentDisplayedUsers']['remove'](_0x1ed04d['id']);else{if(_0x2e5142&&this['currentDisplayedUsers']['length']+0x1===_0x51e816-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x2e5142?0x1:0x0)<this['usersCount']){for(const _0x5e11f2 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5e11f2['id'])&&(this['currentDisplayedUsers']['add'](_0x5e11f2,Math['min'](this['currentDisplayedUsers']['length']-(_0x2e5142?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x2e5142?0x1:0x0)===_0x51e816-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1b590a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Y(this['context']['locale'],!!_0x1b590a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3508d7}=this['presenceDropdownView'];_0x3508d7['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4b28b8=>{if(!_0x1b590a['displayMe']&&_0x4b28b8['isMe'])return null;const _0x16d22f=new Z(this['context']['locale'],_0x4b28b8,!!_0x1b590a['onClick']);return _0x1b590a['onClick']&&this['listenTo'](_0x16d22f,'execute',()=>{_0x1b590a['onClick'](_0x4b28b8,_0x16d22f['element']);}),_0x16d22f;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3508d7['focus'](),_0x3508d7['checkIfScrollable']();const _0x53aecf=(_0x468b00,_0x3c78d2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3c78d2();};_0x3508d7['keystrokes']['set']('Esc',_0x53aecf),_0x3508d7['keystrokes']['set']('Shift+Tab',_0x53aecf),_0x3508d7['keystrokes']['set']('Tab',(_0x326aa9,_0x3ba59b)=>{!function(_0x26ab18){const _0x36fc30=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xb15f84=>_0xb15f84+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x245458=[...document['body']['querySelectorAll'](_0x36fc30)]['filter'](_0x5f8467=>_0x5f8467===document['activeElement']||_0x5f8467['offsetWidth']+_0x5f8467['offsetHeight']>0x0)['sort']((_0x304510,_0xbf845)=>(_0x304510['tabIndex']||0x0)-(_0xbf845['tabIndex']||0x0)),_0xf500c0=_0x245458['indexOf'](_0x26ab18),_0x4d2952=_0x245458[(_0xf500c0+0x1)%_0x245458['length']];_0x4d2952&&_0x4d2952['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3ba59b();}),_0x3508d7['focusTracker']['add'](this['view']['element']),_0x3508d7['focusTracker']['on']('change:isFocused',(_0x6b0cb4,_0x4ae967,_0x3936bf)=>{_0x3936bf||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x2e1c2e{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x30f1c1,Plugin as _0x2db22b,PendingActions as _0x2cb9a5,Context as tt}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x3e8656,CKEditorError as _0x1d5a00,Collection as _0x58c1e0,global as _0x2bfaf9,version as ht,uid as _0x10ba7d,KeystrokeHandler as _0x2d8e87}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x205a02,View as _0x55006c,ListView as _0x32cb91,ListItemView as rt,LabelView as at,BalloonPanelView as _0xf7afb,clickOutsideHandler as _0x58a9e6,BodyCollection as _0x3f70a6}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x193441,History as _0x278641,NoOperation as _0x265da0,InsertOperation as _0x4d4990,MarkerOperation as _0x5c7a4b,RootAttributeOperation as _0x3f4d0b,transformOperationSets as _0x430af8,OperationFactory as _0x3caf06}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x4d5800,CollaborativeEditingService as _0x524947,User as ut,CommentsService as et,TrackChangesService as it,RevisionHistoryService as _0x3d0be0,EditorService as _0xa346ac}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1e6d0b,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3b4bbc}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x23b94a}from'es-toolkit/compat';class n extends _0x30f1c1{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x205a02];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x331666){super(_0x331666),this['set']('state',_0x4d5800['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3e8656())();}['init'](){const _0x53e48b=this['context'],_0x4ca8e3=_0x53e48b['plugins']['get']('CloudServices'),_0x1acefd=_0x53e48b['plugins']['get'](_0x205a02);if(!_0x4ca8e3['token'])throw new _0x1d5a00('websocketgateway-missing-token',this);if(!_0x4ca8e3['webSocketUrl'])throw new _0x1d5a00('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x4ca8e3['token'],_0x4ca8e3['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xf4f46b=>{if(this['connection']=_0xf4f46b,this['bind']('state')['to'](_0xf4f46b,'state',this,'_isBrowserOffline',(_0x222c4f,_0x2684eb)=>('connected'!==_0x222c4f&&(this['_shouldPluginsReconnect']=!0x0),_0x2684eb||_0x222c4f!==_0x4d5800['CONNECTED']?_0x4d5800['DISCONNECTED']:this['state']==_0x4d5800['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4d5800['CONNECTING']):_0x4d5800['CONNECTED'])),this['connection']['on']('error',(_0x40e8c5,_0x4a0d37)=>{if('limitExceeded'!==_0x4a0d37['code'])throw console['error'](_0x4a0d37),new _0x1d5a00('cloudservices-init',null,{'originalError':_0x4a0d37});_0x1acefd['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'});}),!_0xf4f46b['me'])return new Promise(_0x4698f9=>_0xf4f46b['on']('change:me',_0x4698f9));})['catch'](_0x3dc966=>{throw console['error'](_0x3dc966),new _0x1d5a00('cloudservices-init',null,{'originalError':_0x3dc966});});}['addToReconnectionStack'](_0x1ab122){if('function'!=typeof _0x1ab122['reconnect'])throw new _0x1d5a00('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1ab122))throw new _0x1d5a00('websocketgateway-plugin-already-registered',this,{'name':_0x1ab122['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1ab122);}['removeFromReconnectionStack'](_0x5c10f9){this['_reconnectionStack']['delete'](_0x5c10f9);}['isInReconnectionStack'](_0x5b33dd){return this['_reconnectionStack']['has'](_0x5b33dd);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1dc4c5=>_0x1dc4c5['reconnect']())))['then'](()=>this['state']=_0x4d5800['CONNECTED'])['catch'](_0x1dbb8d=>{throw console['error'](_0x1dbb8d),new _0x1d5a00('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4d5800['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x30f1c1{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x1e6d0b];}constructor(_0x16f240){super(_0x16f240),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x58c1e0(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1e6d0b);}['init'](){const _0x223212=this['context']['plugins']['get'](n);this['listenTo'](_0x223212,'change:state',(_0x45619d,_0x13b383,_0x225a75)=>{if('connected'!==_0x225a75)this['channelSessions']['forEach'](_0x2fbb47=>_0x2fbb47['clear']()),this['channelConnectedUsers']['forEach'](_0x1c11c0=>_0x1c11c0['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x31a453,_0x28b045]of this['_registeredSessions'])for(const _0xce7b6c of _0x28b045)this['_handleSessionAdd'](_0x31a453,_0xce7b6c);}}),this['_createUser'](_0x223212['connection']['me'],!0x0);}['register'](_0x26146c,_0x47b7ae){if(this['_registeredSessions']['has'](_0x26146c))throw new _0x1d5a00('sessions-register-already-registered',null,{'channelId':_0x26146c});this['_registeredSessions']['set'](_0x26146c,_0x47b7ae),this['channelSessions']['set'](_0x26146c,new _0x58c1e0()),this['channelConnectedUsers']['set'](_0x26146c,new _0x58c1e0()),this['listenTo'](_0x47b7ae,'add',(_0x50fe18,_0x1741ab)=>this['_handleSessionAdd'](_0x26146c,_0x1741ab)),this['listenTo'](_0x47b7ae,'remove',(_0x3889c8,_0x5704be)=>this['_handleSessionRemove'](_0x26146c,_0x5704be));for(const _0x5e9dec of _0x47b7ae)this['_handleSessionAdd'](_0x26146c,_0x5e9dec);}['unregister'](_0x59539d){if(!this['_registeredSessions']['has'](_0x59539d))throw new _0x1d5a00('sessions-unregister-not-exist',null,{'channelId':_0x59539d});const _0x196837=this['_registeredSessions']['get'](_0x59539d);this['stopListening'](_0x196837);for(const _0x3ecefc of _0x196837)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x59539d,_0x3ecefc);this['_registeredSessions']['delete'](_0x59539d),this['channelSessions']['delete'](_0x59539d),this['channelConnectedUsers']['delete'](_0x59539d);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x318219){for(const _0x3d9513 of this['channelSessions']['values']())for(const _0x43665e of _0x3d9513)if(_0x43665e['id']===_0x318219)return _0x43665e['user'];}['getUserSessions'](_0x1a3319,_0x1060b4){const _0x380609=_0x1060b4?[this['channelSessions']['get'](_0x1060b4)]:this['channelSessions']['values'](),_0x97380d=new Set();for(const _0x316eac of _0x380609)for(const _0x528025 of _0x316eac)_0x528025['user']['id']===_0x1a3319['id']&&_0x97380d['add'](_0x528025['id']);return _0x97380d;}['getUserRole'](_0x1d46aa){for(const _0x39d3e5 of this['channelSessions']['values']())for(const _0x10c75d of _0x39d3e5)if(_0x10c75d['user']===_0x1d46aa)return _0x10c75d['role'];}['_handleSessionAdd'](_0x39ccc4,_0x34bed6){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0xf972cb=_0x34bed6['user'],_0x24ba86=this['_users']['getUser'](_0xf972cb['id'])||this['_createUser'](_0xf972cb),_0x46380d=Object['assign']({},_0x34bed6,{'user':_0x24ba86});if(this['channelSessions']['get'](_0x39ccc4)['add'](_0x46380d),!_0xf972cb['hiddenInPresenceList']){const _0x4a2c9b=this['channelConnectedUsers']['get'](_0x39ccc4);_0x4a2c9b['has'](_0x24ba86['id'])||_0x4a2c9b['add'](_0x24ba86),this['allConnectedUsers']['has'](_0x24ba86['id'])||_0xf972cb['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x24ba86,_0x24ba86['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x39ccc4,{'channelId':_0x39ccc4,'session':_0x46380d});}['_handleSessionRemove'](_0x29fd28,_0x240c4f){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x224d58=this['channelConnectedUsers']['get'](_0x29fd28),_0x150aac=_0x240c4f['user'];_0x150aac['id']&&(this['channelSessions']['get'](_0x29fd28)['remove'](_0x240c4f['id']),_0x224d58['has'](_0x150aac['id'])&&!this['getUserSessions'](_0x150aac,_0x29fd28)['size']&&_0x224d58['remove'](_0x150aac['id']),this['allConnectedUsers']['get'](_0x150aac['id'])&&!this['getUserSessions'](_0x150aac)['size']&&this['allConnectedUsers']['remove'](_0x150aac['id']));}['_createUser'](_0x2892a4,_0x4ca664){const _0xc5ba01=this['_users']['addUser'](_0x2892a4);return _0x4ca664&&this['_users']['defineMe'](_0x2892a4['id']),_0xc5ba01['orderNumber']=this['_uniqueUsersCount']++,_0xc5ba01;}}class U extends _0x2db22b{['_domEmitter']=new(_0x3e8656())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x47813e=this['editor'],_0x2d987c=_0x47813e['plugins']['get'](i);_0x47813e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x300b76,{writer:_0x1cce1c})=>function(_0x174b5b,_0x1564d5,_0x1c5320,_0x476298){const _0x51c323=_0x174b5b['markerName']['split'](':')[0x2],_0x3a41ce=_0x1c5320['getUserBySessionId'](_0x51c323);if(!_0x3a41ce||_0x51c323===_0x1c5320['mySessionId'])return;if(!_0x476298['model']['schema']['checkChild'](_0x174b5b['markerRange']['start'],'$text'))return;const _0x46e0e9={'class':'ck-user__marker\x20'+_0x3a41ce['color']['getMarkerClass'](),'data-name':_0x3a41ce['name'],'data-session-id':_0x51c323},_0x432fae=_0x476298['model']['markers']['get'](_0x174b5b['markerName']),_0x2d51de=_0x432fae['getStart'](),_0x3696e3=_0x2d51de['nodeAfter'],_0x45a6d3=_0x476298['model']['schema'];if(_0x3696e3&&_0x45a6d3['isObject'](_0x3696e3)&&_0x45a6d3['isInline'](_0x3696e3)&&!_0x476298['model']['markers']['get']('user:range:'+_0x51c323)['getRange']()['isCollapsed'])return;const _0x31424c=_0x2d51de['parent'];return _0x476298['model']['schema']['isLimit'](_0x31424c)&&!_0x476298['model']['hasContent'](_0x31424c)&&(_0x46e0e9['contenteditable']=!0x1),function(_0x5e25cd,_0x21c917,_0x214c07){const _0x55cfea=_0x5e25cd['createUIElement']('span',_0x21c917);return _0x5e25cd['setCustomProperty']('userPositionMarker',!0x0,_0x55cfea),_0x55cfea['render']=function(_0x5e8d8b){const _0x1e0dbf=this['toDomElement'](_0x5e8d8b),_0x4e25bb=document['createElement']('span');return _0x4e25bb['classList']['add']('ck-user__marker-tooltip'),_0x4e25bb['setAttribute']('contenteditable','false'),_0x4e25bb['setAttribute']('spellcheck','false'),_0x4e25bb['textContent']=_0x214c07['name'],_0x1e0dbf['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4e25bb['outerHTML']+'⁠',_0x1e0dbf['addEventListener']('mouseenter',()=>{_0x1e0dbf['classList']['add']('ck-user__marker_hovered');}),_0x1e0dbf['addEventListener']('mouseleave',()=>{_0x1e0dbf['classList']['remove']('ck-user__marker_hovered');}),_0x1e0dbf;},_0x55cfea['isSimilar']=function(_0x1797a0){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1797a0['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1797a0['getAttribute']('data-session-id'));},_0x55cfea;}(_0x1564d5,_0x46e0e9,_0x3a41ce);}(_0x300b76,_0x1cce1c,_0x2d987c,_0x47813e)}),_0x47813e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3cb144=>function(_0xaf8ddf,_0x2fe2f9){const _0x129dfd=_0xaf8ddf['markerName']['split'](':')[0x2];if(_0x129dfd===_0x2fe2f9['mySessionId'])return null;const _0x344bb2=_0x2fe2f9['getUserBySessionId'](_0x129dfd);if(!_0x344bb2)return{'id':_0x129dfd,'classes':[]};return{'id':_0x129dfd,'classes':['ck-user__selection',_0x344bb2['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x129dfd},'priority':0x7d0+_0x344bb2['orderNumber']};}(_0x3cb144,_0x2d987c)}),function(_0x528438){const _0x5a0956=_0x528438['model'],_0x2b405f=new Map(),_0x289342=_0x528438['plugins']['get'](i);_0x5a0956['markers']['on']('update:user:range',(_0x40b5ba,_0x1d6d86,_0x1dc90a,_0x4140e0)=>{if(!_0x4140e0&&_0x2b405f['get'](_0x1d6d86['name']))return _0x2b405f['get'](_0x1d6d86['name'])['detach'](),void _0x2b405f['delete'](_0x1d6d86['name']);const _0x177f32=_0x1d6d86['name']['split'](':')[0x2];if(_0x177f32===_0x289342['mySessionId'])return;const _0x24c96f='user:position:'+_0x177f32;_0x5a0956['markers']['has'](_0x24c96f)&&_0x528438['editing']['reconvertMarker'](_0x24c96f),_0x1d6d86['on']('change:range',(_0x5cb689,_0x393247,_0x37403c)=>{if('$graveyard'!=_0x393247['root']['rootName']&&'$graveyard'==_0x1d6d86['getRange']()['root']['rootName']&&!_0x2b405f['has'](_0x1d6d86['name'])){const _0x4b445f=_0x5a0956['schema']['getNearestSelectionRange'](_0x37403c['deletionPosition']);if(_0x4b445f){const _0x487676=_0x193441['fromRange'](_0x4b445f);_0x2b405f['set'](_0x1d6d86['name'],_0x487676),_0x487676['on']('change:range',(_0x4af0ff,_0x205cba,_0x50be5f)=>{if('$graveyard'==_0x487676['root']['rootName']){const _0x33cbc7=_0x5a0956['schema']['getNearestSelectionRange'](_0x50be5f['deletionPosition']);_0x33cbc7?(_0x487676['start']=_0x33cbc7['start'],_0x487676['end']=_0x33cbc7['end']):(_0x2b405f['delete'](_0x1d6d86['name']),_0x487676['detach']());}});}}});}),_0x5a0956['document']['on']('change',()=>{_0x2b405f['size']>0x0&&_0x5a0956['enqueueChange']({'isUndoable':!0x1},_0x14306c=>{for(const [_0x12e497,_0x59b084]of _0x2b405f)'$graveyard'==_0x5a0956['markers']['get'](_0x12e497)['getRange']()['root']['rootName']&&(J(_0x12e497['split'](':')[0x2],_0x59b084['toRange'](),_0x5a0956,_0x14306c),_0x59b084['detach']());_0x2b405f['clear']();});});}(_0x47813e),this['_domEmitter']['listenTo'](_0x2bfaf9['document'],'keydown',(_0x184bff,{key:_0x1bfaad})=>{'Escape'===_0x1bfaad&&function(_0x56a86c){_0x56a86c['editing']['view']['change'](_0xfd3979=>{for(const _0x20680c of _0x56a86c['model']['markers']){if(!_0x20680c['name']['startsWith']('user:position'))continue;const _0x2c767a=_0x56a86c['editing']['mapper']['markerNameToElements'](_0x20680c['name']);if(_0x2c767a){for(const _0x51420c of _0x2c767a)_0xfd3979['removeClass']('ck-user__marker_hovered',_0x51420c);}}});}(_0x47813e);},{'useCapture':!0x0});}['afterInit'](){const _0x49ac23=this['editor'],_0x13f0a8=_0x49ac23['commands']['get']('undo');_0x13f0a8&&_0x49ac23['model']['on']('applyOperation',(_0x5c2c45,_0x49ee21)=>{const _0x5c0dc3=_0x49ee21[0x0];if(!_0x5c0dc3['isDocumentOperation'])return;if('marker'!=_0x5c0dc3['type']||!_0x5c0dc3['name']['startsWith']('user:'))return;const _0x178b1c=_0x5c0dc3['batch'];_0x13f0a8['_createdBatches']['has'](_0x178b1c)&&(_0x5c0dc3['newRange']=_0x5c0dc3['oldRange']?_0x49ac23['model']['createRange'](_0x5c0dc3['oldRange']['start'],_0x5c0dc3['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3bb999=this['editor'],_0x4b4b53=_0x3bb999['model']['document'],_0x54ebd0=_0x3bb999['plugins']['get'](i);_0x3bb999['model']['enqueueChange']({'isUndoable':!0x1},_0x17e203=>{const _0x1356e1='user:range:'+_0x54ebd0['mySessionId'],_0x5a175c='user:position:'+_0x54ebd0['mySessionId'],_0x2400a4=_0x3bb999['model']['markers']['has'](_0x1356e1);_0x3bb999['editing']['view']['hasDomSelection']?J(_0x54ebd0['mySessionId'],_0x4b4b53['selection']['getFirstRange'](),_0x3bb999['model'],_0x17e203):_0x2400a4&&(_0x17e203['removeMarker'](_0x1356e1),_0x17e203['removeMarker'](_0x5a175c));});}}function J(_0xb85a,_0x48ce81,_0x567b53,_0x39e4b1){const _0x24bd51='user:range:'+_0xb85a,_0x2387ba='user:position:'+_0xb85a,_0x59ae69=_0x48ce81['getContainedElement']();let _0x1fd044=_0x48ce81['start'];if(_0x59ae69&&_0x59ae69['is']('element','tableCell')){const _0xc27d2e=function(_0x114e24,_0x3a920f){for(const _0x4826a7 of _0x114e24['getPositions']())if(_0x3a920f['schema']['checkChild'](_0x4826a7,'$text'))return _0x4826a7;}(_0x48ce81,_0x567b53);_0xc27d2e&&(_0x1fd044=_0xc27d2e,_0x48ce81=_0x39e4b1['createRange'](_0x1fd044));}const _0x14cad4=_0x39e4b1['createRange'](_0x1fd044);_0x567b53['markers']['has'](_0x24bd51)?(_0x39e4b1['updateMarker'](_0x24bd51,{'range':_0x48ce81}),_0x39e4b1['updateMarker'](_0x2387ba,{'range':_0x14cad4})):(_0x39e4b1['addMarker'](_0x24bd51,{'range':_0x48ce81,'usingOperation':!0x0}),_0x39e4b1['addMarker'](_0x2387ba,{'range':_0x14cad4,'usingOperation':!0x0}));}function E(_0x526916,_0x57f278,_0x32ef8d){const _0x2b1707=_0x526916['t'],t=_0x526916['t'];switch(_0x57f278){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 _0x2b1707({'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'},_0x32ef8d);default:return'';}}let H=0x1;class l extends _0x2db22b{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x524947)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,U,_0x2cb9a5,_0x1e6d0b,_0x205a02];}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 _0x4b8eb5=this['serverHistory']['getOperations']();for(let _0x4af675=_0x4b8eb5['length']-0x1;_0x4af675>=0x0;_0x4af675--){const _0x59f90f=_0x4b8eb5[_0x4af675];if(!this['_disconnectionOperations']['has'](_0x59f90f))return _0x59f90f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x513cc9){if(super(_0x513cc9),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x278641(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1d5a00('collaboration-missing-channelid',this);const _0x3798d2=_0x513cc9['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x3798d2,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3b4bbc(),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 F(this['_disconnectionOperations']);}['init'](){const _0x3d056b=this['editor'],_0x4f948a=_0x3d056b['plugins']['get'](_0x1e6d0b),_0x1d2c99=_0x3d056b['plugins']['get'](n);this['listenTo'](_0x4f948a,'getOperationAuthor',(_0x4d2079,_0xa413f1)=>{const _0x4bf222=_0xa413f1[0x0];_0x4bf222['_authorId']&&(_0x4d2079['return']=_0x4f948a['getUser'](_0x4bf222['_authorId']),_0x4d2079['stop']()),null===_0x4bf222['_authorId']&&(_0x4d2079['return']=null,_0x4d2079['stop']());},{'priority':'high'}),this['listenTo'](_0x3d056b['model']['document']['selection'],'change:range',(_0x119639,_0x4ac70f)=>{_0x4ac70f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3d056b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3d056b['model']['on']('applyOperation',(_0x14b034,_0x301165)=>{const _0x87b000=_0x301165[0x0];_0x87b000['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x87b000),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1d2c99,'state',this,'_hasSynchronizationProblem',(_0x4ea403,_0x48d9c8)=>'connected'===_0x4ea403&&!_0x48d9c8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3d056b['disableReadOnlyMode']('rtc-offline'):_0x3d056b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3d056b['disableReadOnlyMode']('rtc-offline'):_0x3d056b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3f1275=this['editor']['plugins']['get'](i),_0x2327bd=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x3f1275['unregister'](this['_channelId']);const _0x11a05f=await this['_service']['reconnect'](_0x2327bd['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x11a05f)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5a2a45=await this['_service']['getConnectedSessions']();_0x3f1275['register'](this['_channelId'],_0x5a2a45),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2292aa){if(function(_0x1f681a){return'404'===_0x1f681a['code'];}(_0x2292aa)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x3f0b8f){return'409'===_0x3f0b8f['code'];}(_0x2292aa)){const _0x3c6911=E(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'](_0x3c6911);}else{if(!(_0x2292aa instanceof V))throw _0x2292aa;this['_handleReconnectionError']();}}}}['destroy'](){const _0x34b2db=this['editor']['plugins']['get'](n),_0x1402b3=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1402b3['channelSessions']['has'](this['_channelId'])&&_0x1402b3['unregister'](this['_channelId']),_0x34b2db['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xc40724){if(this['sessionId']!==_0xc40724['sessionId']&&this['_lastSyncedOperationId']!==_0xc40724['lastOperationId'])throw new V();return this['sessionId']=_0xc40724['sessionId'],this['_handleServerResponse']([],{..._0xc40724,'wereChangesApplied':!0x1,'data':_0xc40724['data']},'reconnect');}async['_connectService'](_0x3f2b3e,_0x42c381=!0x1){const {connection:_0x35a3dd}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x35a3dd,this['_channelId'])['then'](_0x47bfb1=>this['_initSessionsHandling'](_0x47bfb1))['catch'](_0x244aec=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x244aec);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5d51d5,_0x21e3df)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x21e3df);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x276e6f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3f2b3e);this['_isPendingUpdate']=!0x0;const _0x2e737d=await this['_service']['connect'](_0x35a3dd,this['_compressOperations'](_0x3f2b3e),_0x276e6f);if(this['sessionId']=_0x2e737d['sessionId'],_0x42c381){if(!_0x2e737d['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2e737d['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x3f2b3e,_0x2e737d,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2e737d,_0x3f2b3e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5c2c25=this['editor']['plugins']['get'](i),_0x46b322=this['editor']['plugins']['get'](U),_0x3e0b37=_0x5c2c25['channelSessions']['get'](this['_channelId']);_0x3e0b37&&_0x3e0b37['length']>0x1?_0x46b322['createUserMarkerOperations']():this['listenTo'](_0x5c2c25,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5c2c25['channelSessions']['get'](this['_channelId'])['length']&&_0x46b322['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x12e734,_0x1f2f66,_0x56c418,_0x59e445){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1f2f66){const _0x4ff729=this['_decompressOperations'](_0x56c418,_0x59e445);await this['_fetchMissingUsers'](_0x4ff729),this['_handleExternalOperations'](_0x4ff729,_0x1f2f66,_0x56c418['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2404a2}=this['editor'];let _0x44f698;try{_0x44f698=await this['_service']['getDocumentDetails']();}catch{const _0x24b9b3=E(_0x2404a2,'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'](_0x24b9b3);}const _0x3b9395=_0x44f698['currentDocumentSession']||_0x44f698['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3b9395['lastOperationId']){const _0x3da51b=E(_0x2404a2,'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'](_0x3da51b);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x5c60d8){const _0x4b1870=this['editor']['plugins']['get'](i);this['listenTo'](_0x4b1870,'sessionAdd:'+this['_channelId'],(_0xe9a4a9,{session:_0x4f55d9})=>{if(_0x4f55d9['id']===_0x4b1870['mySessionId']){_0xe9a4a9['off']();const _0x45927f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3d6173=_0x4f55d9['permissions'];_0x45927f&&_0x45927f['isEnabled']&&(_0x3d6173=_0x3d6173['filter'](_0x16efaf=>'document:write'!==_0x16efaf)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3d6173,this['_channelId']);}}),_0x4b1870['register'](this['_channelId'],_0x5c60d8);}['_initThrowingOnDataSet'](){const _0x319d2a=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x295034)=>{if(!_0x295034[_0x295034['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1d5a00('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x319d2a['apply'](this['editor']['data'],_0x295034);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x262c6d,[_0x550851])=>{if(this['_document']['version'])throw new _0x1d5a00('realtimecollaborationclient-init-document-already-initialized',this);_0x262c6d['stop'](),this['_setPendingAction']();const _0xd0d15f=this['editor']['config']['get']('rootsAttributes'),_0x42af54=this['_getOperationsFromInitData'](_0x550851,_0xd0d15f);0x0==_0x42af54['length']&&_0x42af54['push'](new _0x265da0(0x0)),_0x262c6d['return']=this['_connectService'](_0x42af54)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x374440=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x374440))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4571fd,[_0x377759,_0x25a337])=>{_0x4571fd['stop']();const _0xd99e19=this['editor']['model']['document']['getRoot'](_0x377759);if(!this['_knownRootNames']['has'](_0x377759)){const _0x5c37c7=_0x25a337&&_0x25a337['data']?_0x25a337['data']:'',_0xfde5f6=_0x25a337&&_0x25a337['attributes']?_0x25a337['attributes']:{};await this['_loadRoot'](_0x377759,_0x5c37c7,_0xfde5f6);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0xd99e19['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0xd99e19);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xd183cd){const _0x5384d8=this['editor']['plugins']['get'](_0x1e6d0b),{connection:_0x103e1d}=this['editor']['plugins']['get'](n),_0x16fc69=new Set();for(const _0x12f4d9 of _0xd183cd){const _0x2e9c19=_0x12f4d9['_authorId'];_0x2e9c19&&!_0x5384d8['getUser'](_0x2e9c19)&&_0x16fc69['add'](_0x2e9c19);}if(0x0===_0x16fc69['size'])return;const _0x2805ec=await ut['getMany'](_0x103e1d,Array['from'](_0x16fc69));for(const _0x3ea290 of _0x2805ec)_0x5384d8['getUser'](_0x3ea290['id'])||_0x5384d8['addUser'](_0x3ea290);}['_getOperationsFromInitData'](_0x32feac,_0x47d232={}){const _0xef9e64=this['editor']['model'],_0x4d19fa=[];let _0x57c2ab=0x0;const _0x328bd2='string'==typeof _0x32feac?{'main':_0x32feac}:_0x32feac;for(const _0x530c57 of Object['keys'](_0x328bd2)){if(!this['_document']['roots']['has'](_0x530c57))throw new _0x1d5a00('realtimecollaborationclient-init-non-existent-root',this);const _0x40e84d=this['editor']['data']['parse'](_0x328bd2[_0x530c57]),_0x1783d6=this['_document']['getRoot'](_0x530c57),_0x38d18b=new _0x4d4990(_0xef9e64['createPositionAt'](_0x1783d6,0x0),_0x40e84d,_0x57c2ab++);_0x4d19fa['push'](_0x38d18b);for(const [_0x47db16,_0x124428]of _0x40e84d['markers']){const _0x5a8a42=_0xef9e64['createRange'](_0xef9e64['createPositionFromPath'](_0x1783d6,_0x124428['start']['path']['slice']()),_0xef9e64['createPositionFromPath'](_0x1783d6,_0x124428['end']['path']['slice']())),_0x41826d=new _0x5c7a4b(_0x47db16,null,_0x5a8a42,_0xef9e64['markers'],!0x0,_0x57c2ab++);_0x4d19fa['push'](_0x41826d);}}if(_0x47d232)for(const [_0x3c7671,_0x1949c3]of Object['entries'](_0x47d232)){const _0xbed6b5=_0xef9e64['document']['getRoot'](_0x3c7671);if(!_0xbed6b5)throw new _0x1d5a00('multi-root-editor-root-attributes-no-root',null);for(const [_0x38a6ba,_0x3cb1d6]of Object['entries'](_0x1949c3))if(null!==_0x3cb1d6){const _0x57db97=new _0x3f4d0b(_0xbed6b5,_0x38a6ba,null,_0x3cb1d6,_0x57c2ab++);_0x4d19fa['push'](_0x57db97);}}return _0x4d19fa;}async['_loadRoot'](_0x53e70a,_0x517a16,_0x276dd0){this['_getOperationsFromInitData']({[_0x53e70a]:_0x517a16},{[_0x53e70a]:_0x276dd0})['forEach']((_0x44882b,_0x3af326)=>{_0x44882b['baseVersion']=this['_document']['version']+_0x3af326,_0x44882b['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x44882b);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x27021b,_0x4a3dbb){let _0x19bb26;this['_offset']=_0x27021b['offset'];const _0x2016ef=_0x27021b['wereChangesApplied']&&!_0x27021b['initData'],_0x2d61e9=_0x2016ef?0x0:_0x27021b['data']['baseVersion'];if(_0x4a3dbb['forEach'](_0x3dfe8f=>{_0x3dfe8f['_isInit']=!0x0,_0x3dfe8f['createdAt']=_0x27021b['sessionCreatedAt'],_0x3dfe8f['_authorId']=null;}),_0x2016ef)_0x19bb26=_0x4a3dbb,this['_applyOperationsSet'](_0x19bb26,_0x2016ef);else{if(_0x27021b['initData']){const _0x55aa94=this['_getOperationsFromInitData'](_0x27021b['initData']);this['_document']['history']['version']=-_0x55aa94['length'],_0x55aa94['forEach'](_0x42e407=>{_0x42e407['baseVersion']-=_0x55aa94['length'],_0x42e407['createdAt']=_0x27021b['sessionCreatedAt'],_0x42e407['_isInit']=!0x0,_0x42e407['_authorId']=null;}),this['_applyOperationsSet'](_0x55aa94,!0x0),this['serverHistory']['version']=-_0x55aa94['length']+this['_offset'],this['_updateServerHistory'](_0x55aa94);}this['_document']['history']['version']=_0x2d61e9,_0x19bb26=this['_decompressOperations'](_0x27021b['data'],_0x27021b['metadata']),await this['_fetchMissingUsers'](_0x19bb26),this['_applyOperationsSet'](_0x19bb26,_0x2016ef);}_0x27021b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x19bb26,_0x27021b['lastOperationId']),this['_lastSyncedOperationId']=_0x27021b['lastOperationId']),this['serverHistory']['version']=_0x2d61e9+this['_offset'],this['_updateServerHistory'](_0x19bb26),_0x4a3dbb['filter'](_0x317738=>{const _0x509904=this['_getAffectedRoot'](_0x317738);return _0x509904&&!this['_knownRootNames']['has'](_0x509904);})['forEach']((_0x56b1fd,_0x960605)=>{_0x56b1fd['baseVersion']=this['_document']['version']+_0x960605,this['_saveOperationInBuffer'](_0x56b1fd);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x28e615,_0x16150e){const _0x2fb784=_0x16150e&&_0x16150e['message'];if(_0x2fb784&&_0x2fb784['startsWith']('realtimecollaborationclient'))throw _0x16150e;const _0x4ccef5=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x4ccef5['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1d5a00(_0x28e615,this['editor'],_0x2fb784?{'originalError':_0x2fb784}:void 0x0);}['_saveOperationInBuffer'](_0x142bc2){this['_knownOperations']['has'](_0x142bc2)||(this['_knownOperations']['add'](_0x142bc2),this['_bufferedOperations']['push'](_0x142bc2),this['_pendingAction']||'marker'==_0x142bc2['type']&&!_0x142bc2['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x459ad6=!0x1){!_0x459ad6&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x12fa55=>{_0x12fa55&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x598b04=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x12973b){return _0x12973b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x12973b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x12973b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x598b04)||this['_crash'](_0x598b04['message'],_0x598b04);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x558b28=>{this['on']('change:_isPendingUpdate',()=>{_0x558b28();});});}async['_sendBufferedOperations'](){const _0x280e31=this['editor']['plugins']['get'](U);if(this['_shouldSendSelectionUpdate']()&&(_0x280e31['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4c8995=[...this['_bufferedOperations']];for(const _0x2dff77 of _0x4c8995)_0x2dff77['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2dff77);const _0x33b616=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4c8995),_0xd434b2=H++,_0x912608=this['_compressOperations'](_0x4c8995),_0x158873=await this['_service']['sendOperations'](_0x912608,_0x912608['baseVersion'],_0x33b616);try{return await this['_handleServerResponse'](_0x4c8995,_0x158873,_0xd434b2);}catch(_0x14f084){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x14f084);}}async['_handleServerResponse'](_0x25efc8,_0x5b0517,_0x868490){if('error'in _0x5b0517)throw _0x5b0517['error'];let _0x421816=!0x1;if(_0x5b0517['wereChangesApplied']){_0x5b0517['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5b0517['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x32c93f=>!_0x25efc8['includes'](_0x32c93f));for(const _0x6752ab of _0x25efc8)_0x6752ab['createdAt']='lastOperationAcceptedAt'in _0x5b0517&&_0x5b0517['lastOperationAcceptedAt']||void 0x0;W(_0x25efc8,_0x5b0517['version']-_0x25efc8['length']),this['_updateServerHistory'](_0x25efc8);const _0x55f46b=_0x25efc8['filter'](_0xbfef34=>{if(!_0xbfef34['_isInit'])return!0x1;const _0x3acbd2=this['_getAffectedRoot'](_0xbfef34);return _0x3acbd2&&!this['_knownRootNames']['has'](_0x3acbd2);});W(_0x55f46b,this['_document']['version']),this['_applyOperationsSet'](_0x55f46b),_0x421816=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5c6e31=this['_decompressOperations'](_0x5b0517['data'],_0x5b0517['metadata'])['filter'](_0x13c583=>_0x13c583['baseVersion']>=this['_lastServerVersion']);_0x5c6e31['forEach'](_0x4c8167=>this['_addKnownRoot'](_0x4c8167)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5c8b69=>!_0x5c8b69['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5c8b69))),this['_bufferedOperations']['length']&&W(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5c6e31),_0x421816=this['_handleExternalOperations'](_0x5c6e31,_0x5b0517['version'],_0x5b0517['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x421816?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x315bb8,_0x53a67a,_0x45f236){try{const _0x34aaec={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x47a4a4,operationsB:_0x179cb7,originalOperations:_0x433bb2}=_0x430af8(_0x315bb8,this['_bufferedOperations'],_0x34aaec);W(_0x47a4a4,this['_document']['version']),W(_0x179cb7,_0x53a67a);for(const _0x3aadfc of _0x47a4a4){const _0x2e5b8f=_0x433bb2['get'](_0x3aadfc);_0x3aadfc['_authorId']=_0x2e5b8f?_0x2e5b8f['_authorId']:null;}_0x45f236&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x315bb8,_0x45f236),this['_lastSyncedOperationId']=_0x45f236),this['_bufferedOperations']=[..._0x179cb7],this['_applyOperationsSet'](_0x47a4a4),this['_updateServerHistory'](_0x315bb8);}catch(_0x404bd6){return console['error'](_0x404bd6),!0x1;}return!0x0;}['_applyOperationsSet'](_0x32b56a,_0x528592=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x21b5c3=>{for(const _0x29618b of _0x32b56a)this['_knownOperations']['add'](_0x29618b),this['_addKnownRoot'](_0x29618b),_0x21b5c3['batch']['addOperation'](_0x29618b),this['editor']['model']['applyOperation'](_0x29618b);});}['_addKnownRoot'](_0x24ed36){const _0x5995ca=this['_getAffectedRoot'](_0x24ed36);_0x5995ca&&this['_knownRootNames']['add'](_0x5995ca);}['_getAffectedRoot'](_0x294dae){let _0x5721af,_0x4b94cc;switch(_0x294dae['type']){case'insert':_0x5721af=_0x294dae['position']['root'];break;case'marker':if(_0x4b94cc=_0x294dae['newRange'],!_0x4b94cc)return null;_0x5721af=_0x4b94cc['root'];break;case'addRootAttribute':_0x5721af=_0x294dae['root'];break;case'addRoot':_0x5721af=_0x294dae['affectedSelectable'];break;case'move':_0x5721af=_0x294dae['targetPosition']['root'];break;default:return null;}return _0x5721af['rootName'];}['_updateServerHistory'](_0x12d704){_0x12d704['forEach'](_0x5b05c5=>{const _0x200b83=_0x5b05c5['clone']();_0x200b83['_authorId']=_0x5b05c5['_authorId'],_0x200b83['_isInit']=!!_0x5b05c5['_isInit'],_0x200b83['createdAt']=_0x5b05c5['createdAt'],_0x200b83['baseVersion']+=this['_offset'],_0x5b05c5['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x200b83),this['serverHistory']['addOperation'](_0x200b83);});}['_handleReconnectionError'](_0x31aa2c){const _0x477636=this['editor']['plugins']['get']('Notification'),_0x47d19b=this['editor']['locale'];_0x31aa2c||(_0x31aa2c=E(_0x47d19b,'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.')),_0x477636['showWarning'](_0x31aa2c,{'title':E(_0x47d19b,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2cb9a5)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2cb9a5)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x36d643){const _0x5eb6e0=_0x36d643['map'](_0x447505=>_0x447505['toJSON']());return this['_compressor']['compress'](_0x5eb6e0);}['_decompressOperations'](_0xf7e80a,_0x1890c5){return this['_compressor']['decompress'](_0xf7e80a)['map']((_0x4f2177,_0x5ad6c4)=>{const _0x567ece='init'==_0x1890c5[_0x5ad6c4]['type'];if('InsertOperation'==_0x4f2177['__className']){const _0x368762=_0x4f2177['position']['root'];!this['_document']['getRoot'](_0x368762)&&(this['_document']['createRoot']('$root',_0x368762)['_isAttached']=!0x1);}const _0x380dcf=_0x3caf06['fromJSON'](_0x4f2177,this['_document']);return _0x380dcf['wasUndone']=_0x4f2177['wasUndone'],_0x380dcf['_isInit']=_0x567ece,_0x380dcf['_authorId']=_0x567ece?null:_0x1890c5[_0x5ad6c4]['userId'],_0x380dcf['_isDisconnection']='cs:removeUser'===_0x1890c5[_0x5ad6c4]['type'],_0x380dcf['createdAt']=_0x1890c5[_0x5ad6c4]['createdAt'],_0x380dcf;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x588de4=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x588de4&&_0x588de4['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class V extends Error{}function W(_0x498cbc,_0xb7d01){for(const _0x37c82e of _0x498cbc)_0x37c82e['baseVersion']=_0xb7d01++;}class F{['_ignoredOperations'];['_operationToId'];constructor(_0x343730){this['_ignoredOperations']=_0x343730,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5bf5d7){let _0x4a118d=_0x5bf5d7['length'];for(;_0x4a118d--;){const _0x34dc70=_0x5bf5d7[_0x4a118d];if(!this['_ignoredOperations']['has'](_0x34dc70)){if(!this['_operationToId']['has'](_0x34dc70)){const _0xb1fe65=_0x10ba7d()['slice'](0x1,0x12);this['_operationToId']['set'](_0x34dc70,_0xb1fe65);}return this['_operationToId']['get'](_0x34dc70);}}}['setIdForTheLastOperation'](_0x2bc498,_0xc57379){if(!_0xc57379)return;let _0x4fef79=_0x2bc498['length'];for(;_0x4fef79--;){const _0x1fe9d9=_0x2bc498[_0x4fef79];this['_ignoredOperations']['has'](_0x1fe9d9)||this['_operationToId']['set'](_0x1fe9d9,_0xc57379);}}}class a extends _0x2db22b{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x30f1c1{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>et)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1e6d0b];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x9b1380){super(_0x9b1380),this['_services']=new Map();}async['init'](){const _0x130313=this['context'],_0x3990d2=_0x130313['plugins']['get']('CommentsRepository');if(_0x130313['plugins']['get'](n)['addToReconnectionStack'](this),_0x3990d2['adapter']={'addCommentThread':async({channelId:_0xb93755,threadId:_0x8652e7,comments:_0x463673,resolvedAt:_0x2e9303,resolvedBy:_0x1606c6,context:_0x26df93,attributes:_0x38d63a})=>{const _0x34af3a=await this['_getService'](_0xb93755)['addCommentThread']({'commentThreadId':_0x8652e7,'comments':_0x463673['map'](_0x2c3e3d=>function(_0x5d881e,_0x52a21f,_0xb457db){return{'commentThreadId':_0xb457db,'commentId':_0x5d881e['commentId'],'userId':_0x5d881e['authorId'],'content':_0x5d881e['content'],'documentId':_0x52a21f,'createdAt':_0x5d881e['createdAt'],'attributes':_0x5d881e['attributes']||{}};}(_0x2c3e3d,_0xb93755,_0x8652e7)),'resolvedAt':_0x2e9303,'resolvedBy':_0x1606c6,'context':_0x26df93,'attributes':_0x38d63a})['catch'](ft);return{'threadId':_0x34af3a['commentThreadId'],'comments':_0x34af3a['comments']};},'getCommentThread':async({channelId:_0x15e0f1,threadId:_0x541e97})=>{const _0x44fd13=await this['_getService'](_0x15e0f1)['getCommentThread'](_0x541e97)['catch'](ot)['catch'](ft);return _0x44fd13?_0x44fd13['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x44fd13]),{'threadId':_0x44fd13['commentThreadId'],'comments':_0x44fd13['comments']['map'](st),'context':_0x44fd13['context'],'resolvedAt':_0x44fd13['resolvedAt'],'resolvedBy':_0x44fd13['resolvedBy'],'attributes':_0x44fd13['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x4fda6e,threadId:_0x27f9cc,context:_0x57c74d,unlinkedAt:_0x4ef2f3,attributes:_0x2b6700})=>this['_getService'](_0x4fda6e)['updateCommentThread']({'commentThreadId':_0x27f9cc,'context':_0x57c74d,'attributes':_0x2b6700,'unlinkedAt':_0x4ef2f3})['catch'](ot)['catch'](ft),'resolveCommentThread':async({channelId:_0x566ee7,threadId:_0x4698ae})=>{const _0x2106c7=await this['_getService'](_0x566ee7)['resolveCommentThread'](_0x4698ae)['catch'](ot)['catch'](ft);return{'threadId':_0x2106c7['commentThreadId'],'resolvedAt':_0x2106c7['resolvedAt'],'resolvedBy':_0x2106c7['resolvedBy']};},'reopenCommentThread':async({channelId:_0xbe67cd,threadId:_0x26d321})=>this['_getService'](_0xbe67cd)['reopenCommentThread'](_0x26d321)['catch'](ot)['catch'](ft),'removeCommentThread':({channelId:_0x415a02,threadId:_0x3161c9})=>this['_getService'](_0x415a02)['removeCommentThread'](_0x3161c9)['catch'](ot)['catch'](ft),'addComment':({channelId:_0x17873e,threadId:_0x559150,commentId:_0x507e10,content:_0x318304,attributes:_0x54339a})=>this['_getService'](_0x17873e)['addComment'](_0x559150,_0x507e10,_0x318304,_0x54339a)['catch'](ft),'updateComment':({channelId:_0x8c789a,threadId:_0x2d57ad,commentId:_0x41dacf,content:_0x20f7f3,attributes:_0x38c829})=>this['_getService'](_0x8c789a)['updateComment'](_0x2d57ad,_0x41dacf,_0x20f7f3,_0x38c829)['catch'](ot)['catch'](ft),'removeComment':({channelId:_0x4a595a,threadId:_0x4393f1,commentId:_0x442074})=>this['_getService'](_0x4a595a)['removeComment'](_0x4393f1,_0x442074)['catch'](ot)['catch'](ft)},_0x130313 instanceof tt){const _0x1833ea=_0x130313['config']['get']('collaboration.channelId'),_0x2ee81e=_0x130313['plugins']['get'](i);await this['_setUpService'](_0x1833ea);const _0x3075a9=await this['_services']['get'](_0x1833ea)['getConnectedSessions']();this['listenTo'](_0x2ee81e,'sessionAdd:'+_0x1833ea,(_0x4c9284,{session:_0x3d46fe})=>{_0x3d46fe['id']===_0x2ee81e['mySessionId']&&(_0x4c9284['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3d46fe['permissions'],_0x1833ea));}),_0x2ee81e['register'](_0x1833ea,_0x3075a9);}}async['_setUpService'](_0x396a1f){if(this['_services']['has'](_0x396a1f))throw new _0x1d5a00('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x396a1f});const _0x3a91a0=this['context']['plugins']['get']('CommentsRepository'),_0x30b708=new s['CommentsService'](_0x396a1f);this['_services']['set'](_0x396a1f,_0x30b708),this['listenTo'](_0x30b708,'commentThreadAdded',(_0x35de2f,_0xd925c)=>{const {commentThreadId:_0x467948,documentId:_0x3dabc2,context:_0x4acfa5,attributes:_0x35ff62,resolvedAt:_0x1e0226,resolvedBy:_0x1f8e57,comments:_0x413d56}=_0xd925c;_0x3a91a0['getCommentThread'](_0x467948)||_0x3a91a0['addCommentThread']({'threadId':_0x467948,'channelId':_0x3dabc2,'comments':_0x413d56?_0x413d56['map'](st):[],'context':_0x4acfa5,'attributes':_0x35ff62,'resolvedAt':_0x1e0226,'resolvedBy':_0x1f8e57,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b708,'commentThreadUpdated',(_0x53efbc,{commentThreadId:_0x9bf89a,documentId:_0x2abc5b,context:_0x50598e,unlinkedAt:_0x2f8278,attributes:_0x36ecc4})=>{_0x3a91a0['getCommentThread'](_0x9bf89a)&&_0x3a91a0['updateCommentThread']({'threadId':_0x9bf89a,'channelId':_0x2abc5b,'context':_0x50598e,'unlinkedAt':_0x2f8278,'attributes':_0x36ecc4,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b708,'commentThreadResolved',(_0x5c6a31,{commentThreadId:_0xaf37a4,resolvedBy:_0x26c018,resolvedAt:_0x43ec2c})=>{const _0x10938f=_0x3a91a0['getCommentThread'](_0xaf37a4);_0x10938f&&_0x10938f['resolve']({'resolvedBy':_0x26c018,'resolvedAt':_0x43ec2c,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b708,'commentThreadReopened',(_0x13bf87,{commentThreadId:_0x304aba})=>{const _0x43a9ce=_0x3a91a0['getCommentThread'](_0x304aba);_0x43a9ce&&_0x43a9ce['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30b708,'commentThreadRemoved',(_0x2260b0,{commentThreadId:_0x5f1f0d})=>{const _0x59d170=_0x3a91a0['getCommentThread'](_0x5f1f0d);_0x59d170&&_0x59d170['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30b708,'commentAdded',(_0x4bf844,_0x32c0d7)=>{const _0x330e54=_0x32c0d7['commentThreadId'],_0x143882=_0x3a91a0['getCommentThread'](_0x330e54);_0x143882&&_0x143882['addComment']({...st(_0x32c0d7),'isFromAdapter':!0x0});}),this['listenTo'](_0x30b708,'commentUpdated',(_0x582e67,{commentThreadId:_0x1308a7,commentId:_0x309b58,content:_0x419c67,attributes:_0x507748})=>{const _0x55a7b0=_0x3a91a0['getCommentThread'](_0x1308a7);if(_0x55a7b0){const _0x2429b7=_0x55a7b0['getComment'](_0x309b58);_0x2429b7&&_0x2429b7['update']({'content':_0x419c67,'attributes':_0x507748,'isFromAdapter':!0x0});}}),this['listenTo'](_0x30b708,'commentRemoved',(_0x5dee36,{commentThreadId:_0x24b12e,commentId:_0x6dc95a})=>{const _0x391865=_0x3a91a0['getCommentThread'](_0x24b12e);if(_0x391865){const _0x5df250=_0x391865['getComment'](_0x6dc95a);_0x5df250&&_0x5df250['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x396a1f);}['destroy'](){if(this['context']instanceof tt){const _0x5f37df=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x5f37df);}}['_terminateService'](_0x59a8bc){if(!this['_services']['has'](_0x59a8bc))throw new _0x1d5a00('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x59a8bc});this['_getService'](_0x59a8bc)['disconnect'](),this['_services']['delete'](_0x59a8bc);}async['reconnect'](){for(const _0x544ee5 of this['_services']['keys']())await this['_connectService'](_0x544ee5);if(this['context']instanceof tt){const _0x5a716b=this['context']['config']['get']('collaboration.channelId'),_0x20b873=this['context']['plugins']['get'](i);_0x20b873['unregister'](_0x5a716b);const _0x4d28f3=await this['_services']['get'](_0x5a716b)['getConnectedSessions']();_0x20b873['register'](_0x5a716b,_0x4d28f3);}}async['_connectService'](_0x2cf6da){const {connection:_0x48777e}=this['context']['plugins']['get'](n),_0x4c5316=this['context']['plugins']['get']('CommentsRepository'),_0x2b5e69=this['_services']['get'](_0x2cf6da),_0x403444=await _0x2b5e69['connect'](_0x48777e);await this['_fetchMissingUsersForThreads'](_0x403444);const _0x1da7d7=new Set(Array['from'](_0x4c5316['getCommentThreads']({'channelId':_0x2cf6da}),_0x37a0eb=>_0x37a0eb['id']));for(const _0x382c11 of _0x403444)_0x382c11['deletedAt']||_0x1da7d7['delete'](_0x382c11['commentThreadId']);for(const _0x477876 of _0x1da7d7)_0x4c5316['getCommentThread'](_0x477876)['remove']({'isFromAdapter':!0x0});for(const _0x1d0c2b of _0x403444){let _0x229358=_0x4c5316['getCommentThread'](_0x1d0c2b['commentThreadId']);const {commentThreadId:_0x84ab5b,context:_0x55bb64,attributes:_0x25e336,resolvedBy:_0x1abd09,resolvedAt:_0x4b6afe,unlinkedAt:_0x1e4ac5,deletedAt:_0x2e01ce}=_0x1d0c2b;if(_0x2e01ce)continue;_0x229358||(_0x229358=_0x4c5316['addCommentThread']({'channelId':_0x2cf6da,'threadId':_0x84ab5b,'context':_0x55bb64,'attributes':_0x25e336||{},'resolvedBy':_0x1abd09,'resolvedAt':_0x4b6afe,'unlinkedAt':_0x1e4ac5,'isFromAdapter':!0x0}));const _0x36aab6=new Set(Array['from'](_0x229358['comments'],_0x2afab4=>_0x2afab4['id']));for(const _0x253afa of _0x1d0c2b['comments'])_0x36aab6['delete'](_0x253afa['commentId']);for(const _0xdbb053 of _0x36aab6)_0x229358['getComment'](_0xdbb053)['remove']({'isFromAdapter':!0x0});for(const _0x5728f1 of _0x1d0c2b['comments']){const _0x5381ef=_0x229358['getComment'](_0x5728f1['commentId']);_0x5381ef?_0x5381ef['content']!==_0x5728f1['content']&&_0x5381ef['update']({'content':_0x5728f1['content'],'isFromAdapter':!0x0}):_0x229358['addComment'](Object['assign'](st(_0x5728f1),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5770be){if(!this['_services']['has'](_0x5770be))throw new _0x1d5a00('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5770be});return this['_services']['get'](_0x5770be);}async['_fetchMissingUsersForThreads'](_0x1d995a){const _0x53263c=this['context']['plugins']['get'](_0x1e6d0b),{connection:_0x22ccc9}=this['context']['plugins']['get'](n),_0x236029=new Set();for(const {resolvedBy:_0x208007,comments:_0x293283}of _0x1d995a){_0x208007&&!_0x53263c['getUser'](_0x208007)&&_0x236029['add'](_0x208007);for(const {userId:_0x5dd3a4}of _0x293283)_0x53263c['getUser'](_0x5dd3a4)||_0x236029['add'](_0x5dd3a4);}if(0x0===_0x236029['size'])return;const _0x25ca65=await ut['getMany'](_0x22ccc9,Array['from'](_0x236029));for(const _0x205b10 of _0x25ca65)_0x53263c['getUser'](_0x205b10['id'])||_0x53263c['addUser'](_0x205b10);}}async function ot(_0x163053){if('404'!==_0x163053['code'])throw _0x163053;}function ft(_0x44f61b){if((_0x548e8f=_0x44f61b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x548e8f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x548e8f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x548e8f;throw _0x44f61b;}function st(_0x198b8a){return{'threadId':_0x198b8a['commentThreadId'],'commentId':_0x198b8a['commentId'],'content':_0x198b8a['content'],'createdAt':_0x198b8a['createdAt'],'authorId':_0x198b8a['userId'],'attributes':_0x198b8a['attributes']||{}};}class m extends _0x2db22b{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>it)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1476a8){super(_0x1476a8);const _0x54a9e6=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x54a9e6);}['init'](){const _0x32cc3d=this['editor']['plugins']['get'](n),_0x34142e=this['editor']['plugins']['get']('TrackChangesEditing');return _0x34142e['adapter']={'getSuggestion':async _0x4b1d52=>{await this['_waitForServiceReady']();const _0x33a245=await this['_trackChangesService']['get'](_0x4b1d52)['catch'](nt);return await this['_fetchMissingUsersForThreads']([_0x33a245]),_0x33a245;},'addSuggestion':async({id:_0x56ece7,type:_0x586e28,data:_0x533d3f,originalSuggestionId:_0x1ec717,attributes:_0x3e7eae})=>{await this['_waitForServiceReady']();const _0x1f8e12={'id':_0x56ece7,'type':_0x586e28,'data':_0x533d3f,'originalSuggestionId':_0x1ec717,'attributes':_0x3e7eae},_0x153460=await this['_trackChangesService']['add'](_0x56ece7,_0x586e28,_0x533d3f,_0x1ec717,_0x3e7eae)['catch'](_0x2d8401=>{if(mt(_0x2d8401))return new Promise(_0x42eb37=>{this['_bufferedRequests']['set'](_0x56ece7,{'resolve':_0x42eb37,'suggestionData':_0x1f8e12});});throw _0x2d8401;});return this['_bufferedRequests']['delete'](_0x56ece7),_0x153460;},'updateSuggestion':async(_0x5d2139,_0x4e9b08)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4e9b08['state'])return this['_trackChangesService']['update'](_0x5d2139,_0x4e9b08)['catch'](nt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x507091,_0x35588a)=>{_0x34142e['hasSuggestion'](_0x35588a['id'])&&(_0x34142e['getSuggestion'](_0x35588a['id'])['attributes']=_0x35588a['attributes']);}),this['_trackChangesService']['connect'](_0x32cc3d['connection'])['then'](_0x340992=>(_0x32cc3d['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x340992)['then'](()=>{for(const _0xcbe13e of _0x340992){_0x34142e['addSuggestionData'](_0xcbe13e)['_saved']=!0x0;}})));}async['reconnect'](){const _0x17e43c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x43c3ef}=this['editor']['plugins']['get'](n),_0x2c2f03=await this['_trackChangesService']['connect'](_0x43c3ef);await this['_fetchMissingUsersForThreads'](_0x2c2f03);for(const {suggestionData:_0x5e5159,resolve:_0xb395ce}of this['_bufferedRequests']['values']()){let _0x2736a7=_0x2c2f03['find'](_0xcaa2b4=>_0xcaa2b4['id']===_0x5e5159['id']);_0x2736a7||(_0x2736a7=await this['_trackChangesService']['add'](_0x5e5159['id'],_0x5e5159['type'],_0x5e5159['data'],_0x5e5159['originalSuggestionId'])),_0xb395ce(_0x2736a7);}for(const _0x4bbd73 of _0x2c2f03)_0x17e43c['hasSuggestion'](_0x4bbd73['id'])||_0x17e43c['addSuggestionData'](_0x4bbd73);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5612ff=>{this['listenTo'](this['_trackChangesService'],'connected',_0xa8f666=>{_0xa8f666['off'](),_0x5612ff();});});}async['_fetchMissingUsersForThreads'](_0x23c99a){const _0x55510f=this['editor']['plugins']['get'](_0x1e6d0b),{connection:_0x2d1da5}=this['editor']['plugins']['get'](n),_0x977b5f=new Set();for(const {authorId:_0x4f6fd8}of _0x23c99a)_0x55510f['getUser'](_0x4f6fd8)||_0x977b5f['add'](_0x4f6fd8);if(0x0===_0x977b5f['size'])return;const _0x4ac9fb=await ut['getMany'](_0x2d1da5,Array['from'](_0x977b5f));for(const _0x1c9cb8 of _0x4ac9fb)_0x55510f['getUser'](_0x1c9cb8['id'])||_0x55510f['addUser'](_0x1c9cb8);}}function nt(_0x1b4966){if(mt(_0x1b4966))return new Promise(()=>{});throw _0x1b4966;}function mt(_0x3725e8){return _0x3725e8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3725e8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x2db22b{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x47f0be=this['editor']['plugins']['get'](n),_0x2f3701=this['editor']['plugins']['get']('CommentsEditing'),_0x48f868=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x47f0be,'change:state',(_0x2b582a,_0x367f89,_0x30de7a)=>{_0x2f3701['isThreadsLoadingPaused']='connected'!==_0x30de7a;});}),this['listenTo'](_0x47f0be,'change:state',(_0x2d138b,_0x4a09ce,_0x417fd2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x417fd2);}),_0x48f868['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x2db22b{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x2db22b{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x3d0be0)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1e6d0b];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e068b){super(_0x1e068b);const _0x2fd420=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x2fd420);}async['init'](){const _0x33be75=this['editor']['plugins']['get'](l),_0x4c82b2=_0x33be75['serverHistory'],_0xcb0a94=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x4c82b2,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x33be75['sessionId']});const _0x2a9ef1=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x5627e1=await _0xa346ac['isBundleUploaded'](_0xcb0a94['connection'],_0x2a9ef1);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x3477b5})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x3477b5)),'updateRevisions':async _0x1386f9=>{await this['_waitForServiceReady']();const _0x3516f5=this['_revisionTracker']['currentRevision'];if(_0x5627e1&&0x1===_0x1386f9['length']&&_0x1386f9[0x0]['id']===_0x3516f5['id'])return _0x1386f9;for(const _0x48dc2a of _0x1386f9)_0x48dc2a['id']===_0x3516f5['id']&&(_0x48dc2a['isEmptyCurrent']=_0x48dc2a['fromVersion']===_0x48dc2a['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1386f9,this['_lastRequestId'])['then'](_0x5d7b15=>(this['_lastRequestId']=_0x5d7b15,_0x1386f9))['catch'](_0x1e499d=>{if(Z(_0x1e499d)||'400'===_0x1e499d['code']&&void 0x0!==_0x1e499d['data']['wrongRequestId']){for(const _0x8fd860 of _0x1386f9){!this['_revisionTracker']['repository']['getRevision'](_0x8fd860['id'])||this['_revisionTracker']['_bufferUpdate'](_0x8fd860['id'],_0x8fd860,!0x1);}if(Z(_0x1e499d))throw _0x1e499d;return _0x1386f9;}throw _0x1e499d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3c1bec,{revisionsData:_0x5613b4,requestId:_0x3de15c})=>{Math['max'](..._0x5613b4['map'](_0x2c3404=>_0x2c3404['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5613b4,_0x3de15c);}):this['_handleRevisionsUpdate'](_0x5613b4,_0x3de15c);});const {revisions:_0x2c3ac7,requestId:_0x3055bb}=await this['_revisionHistoryService']['connect'](_0xcb0a94['connection']);_0xcb0a94['addToReconnectionStack'](this),this['_lastRequestId']=_0x3055bb,await this['_fetchMissingUsers'](_0x2c3ac7);for(const _0x3157e7 of _0x2c3ac7)this['_revisionTracker']['addRevisionData'](_0x3157e7);this['listenTo'](_0x33be75,'change:_isConnected',(_0x42f3ac,_0x41f77b,_0x3afcd2)=>{_0x3afcd2&&(this['_oldOffset']=_0x33be75['_offset'],_0x42f3ac['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0xcb0a94,'state',_0x5a42c4=>_0x5a42c4===_0x4d5800['CONNECTED']);}async['reconnect'](){const _0x472020=this['editor']['plugins']['get'](n),_0x2a1153=this['editor']['plugins']['get'](l),_0x374c2a=async()=>{const _0x1cccbd=this['_revisionTracker']['currentRevision'],_0xb79d9b=_0x1cccbd['id'],_0x3a93d8=_0xb79d9b!==_0x2a1153['sessionId'];if(_0x3a93d8){const _0x20f4c8=_0x2a1153['_offset']-this['_oldOffset'],_0x30135b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1cccbd['toVersion']+_0x20f4c8!==_0x30135b){const _0xc5ed4d=_0x1cccbd['fromVersion']+_0x20f4c8,_0x350c40=this['editor']['plugins']['get'](_0x1e6d0b),_0x306e4a=this['_revisionTracker']['buildRevisionData']({'revision':_0x1cccbd,'from':_0xc5ed4d,'to':_0x30135b});_0x306e4a['id']=_0x1cccbd['id'];const _0x53e627=_0x306e4a['authorsIds']['map'](_0x50afa9=>_0x350c40['getUser'](_0x50afa9));_0x1cccbd['_update']({..._0x306e4a,'authors':_0x53e627},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1cccbd['id'],_0x306e4a,!0x0);}this['_revisionTracker']['_startingVersion']=_0x30135b,(_0x1cccbd['toVersion']===_0x1cccbd['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xb79d9b)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xb79d9b),this['_revisionTracker']['_createCurrentRevision'](_0x30135b));}const {revisions:_0x2c2126,requestId:_0x37a02e}=await this['_revisionHistoryService']['reconnect'](_0x472020['connection'],this['_lastRequestId']);_0x3a93d8&&_0x2c2126['length']>0x0?_0x2a1153['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2c2126),this['_handleRevisionsUpdate'](_0x2c2126,_0x37a02e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2a1153['_isConnected']?_0x374c2a():new Promise((_0x3bb0e9,_0x3d7a53)=>{_0x2a1153['once']('change:_isConnected',()=>{_0x374c2a()['then'](_0x3bb0e9)['catch'](_0x3d7a53);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x19b4c9=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3eae4c=>{_0x3eae4c['off'](),_0x19b4c9();});});}['_getLatestVersionFromServerOperations'](){const _0x56eb19=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2b984e of _0x56eb19)if('marker'!==_0x2b984e['type']||_0x2b984e['affectsData'])return _0x2b984e['baseVersion']+0x1;}['_getLatestVersion'](){const _0x24cdfd=this['editor']['plugins']['get'](l);return new Promise(_0x4a6184=>{_0x24cdfd['_isPendingUpdate']?_0x24cdfd['once']('change:_isPendingUpdate',()=>{_0x4a6184(this['_getLatestVersionFromServerOperations']());}):_0x4a6184(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xedf149,_0x1e9537){const _0x50f6e9=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1e9537;for(const _0x158900 of _0xedf149){const _0x28926f=_0x50f6e9['getRevision'](_0x158900['id']);if(_0x28926f){if((_0x158900['fromVersion']||_0x158900['toVersion'])&&(_0x158900['diffData']=null),_0x28926f===this['_revisionTracker']['currentRevision']){const _0x24be51=Math['max'](_0x28926f['toVersion'],_0x158900['toVersion']),_0xc16bb6=Math['max'](_0x28926f['fromVersion'],_0x158900['fromVersion']);let _0x53ccb1;_0x28926f['toVersion']===_0x158900['toVersion']&&_0x28926f['fromVersion']===_0x158900['fromVersion']?(_0x53ccb1=!0x0,this['_preventResendingRevisionData'](_0x158900)):_0x158900['toVersion']===_0x24be51&&_0x158900['fromVersion']===_0xc16bb6?_0x53ccb1=!0x1:(_0x28926f['toVersion']===_0x24be51&&_0x28926f['fromVersion']===_0xc16bb6||this['_fixRevision']({'revision':_0x28926f,'from':_0xc16bb6,'to':_0x24be51}),_0x53ccb1=!0x0),_0x53ccb1&&(delete _0x158900['fromVersion'],delete _0x158900['toVersion'],delete _0x158900['diffData'],delete _0x158900['createdAt'],delete _0x158900['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x158900),this['_preventResendingRevisionData'](_0x158900);}else this['_revisionTracker']['addRevisionData'](_0x158900);}const _0x47499c=_0x50f6e9['getRevisions']();_0x47499c['reverse']();for(let _0x7913f1=0x0;_0x7913f1<_0x47499c['length']-0x1;_0x7913f1++){const _0x5e9220=_0x47499c[_0x7913f1],_0xbc0555=_0x47499c[_0x7913f1+0x1];if(_0x5e9220['fromVersion']<_0xbc0555['toVersion']){const _0x37a3d0=_0xbc0555['toVersion'],_0x3ef7d5=Math['max'](_0x37a3d0,_0x5e9220['toVersion']);this['_fixRevision']({'revision':_0x5e9220,'from':_0x37a3d0,'to':_0x3ef7d5});}}}['_fixRevision']({revision:_0x62d977,from:_0x22f44c,to:_0xbb522f}={}){const _0x8df819=this['editor']['plugins']['get'](_0x1e6d0b),_0x291885=this['_revisionTracker']['buildRevisionData']({'revision':_0x62d977,'from':_0x22f44c,'to':_0xbb522f});_0x291885['authors']=_0x291885['authorsIds']['map'](_0x1ffed4=>_0x8df819['getUser'](_0x1ffed4)),_0x62d977['_update'](_0x291885);}['_preventResendingRevisionData'](_0x2197e3){const _0x52c46a={};_0x52c46a['id']=_0x2197e3['id'];for(const _0x3ab016 of Object['keys'](_0x2197e3))'id'!==_0x3ab016&&(_0x52c46a[_0x3ab016]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x52c46a['id'],_0x52c46a,!0x0);}async['_fetchMissingUsers'](_0x152d53){const _0xf9e718=this['editor']['plugins']['get'](_0x1e6d0b),{connection:_0x312d66}=this['editor']['plugins']['get'](n),_0x175a6f=new Set();for(const _0x550291 of _0x152d53){for(const _0x27ec7a of _0x550291['authorsIds'])_0x85198b(_0x27ec7a);_0x550291['creatorId']&&_0x85198b(_0x550291['creatorId']);}if(0x0===_0x175a6f['size'])return;const _0x706b13=await ut['getMany'](_0x312d66,Array['from'](_0x175a6f));for(const _0x30d7ff of _0x706b13)_0xf9e718['getUser'](_0x30d7ff['id'])||_0xf9e718['addUser'](_0x30d7ff);function _0x85198b(_0x5e2374){_0xf9e718['getUser'](_0x5e2374)||_0x175a6f['add'](_0x5e2374);}}}function Z(_0x25d262){return _0x25d262['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x25d262['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x25d262['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x2db22b{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x55006c{['_collapseAt'];constructor(_0x137cf0,_0x56b452=0x6){super(_0x137cf0);const _0x35807e=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x56b452,this['bind']('isHidden')['to'](this,'usersCount',_0x4b2b1e=>_0x4b2b1e<_0x56b452),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x35807e['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':_0x35807e['to']('usersCount',_0x1b8cf3=>'+'+(_0x1b8cf3-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x55006c{['items'];['keystrokes'];constructor(_0x4af693){super(_0x4af693);const _0x1f995a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2d8e87(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1f995a['if']('hasPopup'),'aria-expanded':_0x1f995a['to']('isExpanded',_0x71644d=>this['hasPopup']&&String(_0x71644d)),'aria-label':_0x1f995a['to']('hasPopup',_0x39fcba=>E(_0x4af693,_0x39fcba?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1f995a['to']('hasPopup',_0x51fa51=>!!_0x51fa51&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x1f995a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x1f995a['to'](_0x2e9724=>{const _0x47d63e=_0x2e9724,_0x5343e1=document['querySelector']('.ck-presence-list__dropdown-list'),_0x7961ec=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5343e1?.['contains'](_0x47d63e['relatedTarget'])||_0x7961ec?.['contains'](_0x47d63e['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x231ae8,_0x141195,_0x300247)=>{this['element']&&(_0x300247?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x55006c{['counterView'];['inlineListView'];constructor(_0x4143ab,_0xfa6a25=0x6){super(_0x4143ab);const _0x47ca1d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0xfa6a25),this['inlineListView']=new is(_0x4143ab),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x677195 of this['inlineListView']['items'])_0x677195['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',_0x47ca1d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x55006c{['listWrapperView'];constructor(_0x3d2c59,_0x2547e8){super(_0x3d2c59);const _0x28e0e7=this['bindTemplate'];this['listWrapperView']=new wt(_0x3d2c59,_0x2547e8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x3d2c59,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x28e0e7['to'](_0x1354da=>{const _0x4c4e2a=_0x1354da,_0x424432=document['querySelector']('.ck-presence-list__list'),_0x9d8ba6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x424432?.['contains'](_0x4c4e2a['relatedTarget'])||_0x9d8ba6?.['contains'](_0x4c4e2a['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x32cb91{constructor(_0x2b7d7d,_0x5cdbc4){super(_0x2b7d7d);const _0x3ecb28=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5cdbc4?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3ecb28['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3ecb28['to']('role'),'aria-label':_0x3ecb28['to']('ariaLabel'),'aria-labelledby':_0x3ecb28['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2bfaf9['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x275658=this['element'];_0x275658&&(this['_isScrollable']=Math['max'](_0x275658['scrollHeight'],_0x275658['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x5e5cf1,_0x1761af,_0x396899){super(_0x5e5cf1);const _0x314300=this['bindTemplate'];this['userView']=new ct(_0x5e5cf1,_0x1761af);const _0x313ab5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1761af['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1761af['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1761af['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x396899&&(_0x313ab5['tag']='button',_0x313ab5['on']={'click':_0x314300['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x313ab5);}['focus'](){this['element']['focus']();}}class A extends _0x55006c{['userView'];['markerView'];constructor(_0x25f029,_0x4ec83f,_0x37226e){super(_0x25f029);const _0x5a644f=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x25f029,_0x4ec83f),this['markerView']=new lt(_0x25f029,_0x4ec83f);const _0x548001=new at(_0x25f029);_0x548001['template']['tag']='span',_0x548001['text']=_0x4ec83f['name'];const _0x3b2be8={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5a644f['to']('isFocusable',_0x4e1f0e=>!!_0x4e1f0e&&0x0),'aria-labelledby':_0x548001['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5a644f['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5a644f['to']('hasTooltip',_0x5f4c5c=>!_0x5f4c5c),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x548001]};_0x37226e&&(_0x3b2be8['tag']='button',_0x3b2be8['on']={'click':_0x5a644f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3b2be8);}}class lt extends _0x55006c{constructor(_0x13c429,_0x42b2da){super(_0x13c429),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x42b2da['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x30f1c1{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b332c){super(_0x1b332c),this['context']['config']['define']('presenceList',x);const _0x2937be=_0x1b332c['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2937be)throw new _0x1d5a00('presencelist-collapseat-invalid-format',this);if(_0x2937be<0x1)throw new _0x1d5a00('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x58c1e0(),this['balloonPanelView']=new _0xf7afb(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x20b9b8 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x20b9b8);this['listenTo'](this['_allConnectedUsers'],'add',(_0x153c88,_0x2fbd60)=>{this['_handleUserAdd'](_0x2fbd60);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2efac3,_0x1d51af)=>{this['_handleUserRemove'](_0x1d51af);});}['_createView'](){const _0x2cc7a1=this['context'],_0x552548=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3e3ec6=this['balloonPanelView'];if(!_0x23b94a(_0x2cc7a1['config']['get']('presenceList.container')))throw new _0x1d5a00('presencelist-missing-container',this);return _0x552548['counterView']['bind']('usersCount')['to'](this),_0x552548['bind']('isCollapsed')['to'](this,'usersCount',_0x543140=>{const {collapseAt:_0x206efb}=_0x2cc7a1['config']['get']('presenceList'),_0x20dcc8=_0x543140>=_0x206efb;if(_0x20dcc8&&!_0x552548['inlineListView']['items']['find'](_0x21c9e4=>_0x21c9e4 instanceof b)){const _0x22722b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x22722b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x552548['inlineListView']['items']['add'](_0x552548['counterView']);}return _0x20dcc8||this['hideDropdown'](),_0x20dcc8;}),_0x552548['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3fef8e=>{const _0x3d42a6=_0x2cc7a1['config']['get']('presenceList'),_0x117f1c=new A(_0x2cc7a1['locale'],_0x3fef8e,!!_0x3d42a6['onClick']);return _0x117f1c['bind']('hasTooltip')['to'](_0x552548,'isCollapsed',_0x1f9f37=>!_0x1f9f37),_0x117f1c['bind']('isFocusable')['to'](_0x552548,'isCollapsed',_0x1c3611=>!_0x1c3611),_0x3d42a6['onClick']&&this['listenTo'](_0x117f1c,'execute',()=>{this['view']['isCollapsed']||_0x3d42a6['onClick'](_0x3fef8e,_0x117f1c['element']);}),_0x117f1c;}),this['listenTo'](_0x552548['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x552548['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x552548['inlineListView']['keystrokes']['set']('Enter',(_0x3e67b8,_0x1c7c5a)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1c7c5a());}),_0x552548['render'](),_0x3e3ec6['render'](),_0x58a9e6({'emitter':_0x552548,'activator':()=>_0x3e3ec6['isVisible'],'contextElements':[_0x3e3ec6['element'],_0x552548['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x2cc7a1['config']['get']('presenceList.container')['appendChild'](_0x552548['element']),this['_bodyCollection']=new _0x3f70a6(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x552548;}['_handleUserAdd'](_0x4ac701){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4ac701['isMe'])return;const _0x3d1c86=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3d1c86-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1b9ebc=_0x4ac701['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4ac701,_0x1b9ebc);}['_handleUserRemove'](_0x218628){this['usersCount']--;const {collapseAt:_0x3e9127}=this['context']['config']['get']('presenceList'),_0x3044d7=this['usersCount']>=_0x3e9127;if(this['currentDisplayedUsers']['get'](_0x218628['id']))this['currentDisplayedUsers']['remove'](_0x218628['id']);else{if(_0x3044d7&&this['currentDisplayedUsers']['length']+0x1===_0x3e9127-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3044d7?0x1:0x0)<this['usersCount']){for(const _0x347dc8 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x347dc8['id'])&&(this['currentDisplayedUsers']['add'](_0x347dc8,Math['min'](this['currentDisplayedUsers']['length']-(_0x3044d7?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3044d7?0x1:0x0)===_0x3e9127-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x33f389=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x33f389['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x8e28b8}=this['presenceDropdownView'];_0x8e28b8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x21de4b=>{if(!_0x33f389['displayMe']&&_0x21de4b['isMe'])return null;const _0x87e1c0=new j(this['context']['locale'],_0x21de4b,!!_0x33f389['onClick']);return _0x33f389['onClick']&&this['listenTo'](_0x87e1c0,'execute',()=>{_0x33f389['onClick'](_0x21de4b,_0x87e1c0['element']);}),_0x87e1c0;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x8e28b8['focus'](),_0x8e28b8['checkIfScrollable']();const _0x477cef=(_0x9efe37,_0x47009c)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x47009c();};_0x8e28b8['keystrokes']['set']('Esc',_0x477cef),_0x8e28b8['keystrokes']['set']('Shift+Tab',_0x477cef),_0x8e28b8['keystrokes']['set']('Tab',(_0x3618a6,_0x1999ba)=>{!function(_0x24f008){const _0x2a8a97=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x6f944b=>_0x6f944b+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x17fd62=[...document['body']['querySelectorAll'](_0x2a8a97)]['filter'](_0x5274f5=>_0x5274f5===document['activeElement']||_0x5274f5['offsetWidth']+_0x5274f5['offsetHeight']>0x0)['sort']((_0x318742,_0x33652e)=>(_0x318742['tabIndex']||0x0)-(_0x33652e['tabIndex']||0x0)),_0x3c3e78=_0x17fd62['indexOf'](_0x24f008),_0x4eb74d=_0x17fd62[(_0x3c3e78+0x1)%_0x17fd62['length']];_0x4eb74d&&_0x4eb74d['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1999ba();}),_0x8e28b8['focusTracker']['add'](this['view']['element']),_0x8e28b8['focusTracker']['on']('change:isFocused',(_0x542750,_0x23ece1,_0x306b06)=>{_0x306b06||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x30f1c1{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};