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

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 _0x3f68a4,Plugin as _0xdcbc50,PendingActions as _0x352a17,Context as _0x51b985}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x58e02a,CKEditorError as _0x19d29c,Collection as _0x52ca00,global as _0x4366f0,version as nt,uid as _0x53029c,KeystrokeHandler as _0x404036}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xc034f2,View as _0x2e989d,ListView as _0x54e28b,ListItemView as rt,LabelView as ot,BalloonPanelView as _0xcc0d89,clickOutsideHandler as _0x57da6e,BodyCollection as _0x202965}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x241be6,NoOperation as _0x27ade8,InsertOperation as _0x4955f3,MarkerOperation as _0x455320,RootAttributeOperation as _0x15eb0d,transformSets as _0x401905,OperationFactory as _0xdb4121}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x312285,CollaborativeEditingService as _0x4f847e,User as dt,CommentsService as _0x360da2,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x2aaab9,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x2e6a41}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2a9041}from'es-toolkit/compat';class c extends _0x3f68a4{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xc034f2];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1aea76){super(_0x1aea76),this['set']('state',_0x312285['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x58e02a);}['init'](){const _0x13110f=this['context'],_0xaa1bcc=_0x13110f['plugins']['get']('CloudServices'),_0x55ae5b=_0x13110f['plugins']['get'](_0xc034f2);if(!_0xaa1bcc['token'])throw new _0x19d29c('websocketgateway-missing-token',this);if(!_0xaa1bcc['webSocketUrl'])throw new _0x19d29c('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0xaa1bcc['token'],_0xaa1bcc['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x271802=>{if(this['connection']=_0x271802,this['bind']('state')['to'](_0x271802,'state',this,'_isBrowserOffline',(_0x3a8f85,_0x585d0a)=>('connected'!==_0x3a8f85&&(this['_shouldPluginsReconnect']=!0x0),_0x585d0a||_0x3a8f85!==_0x312285['CONNECTED']?_0x312285['DISCONNECTED']:this['state']==_0x312285['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x312285['CONNECTING']):_0x312285['CONNECTED'])),this['connection']['on']('error',(_0x27420b,_0x31038b)=>{if('limitExceeded'!==_0x31038b['code'])throw console['error'](_0x31038b),new _0x19d29c('cloudservices-init',null,{'originalError':_0x31038b});_0x55ae5b['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x271802['me'])return new Promise(_0x31328b=>_0x271802['on']('change:me',_0x31328b));})['catch'](_0x4524e7=>{throw console['error'](_0x4524e7),new _0x19d29c('cloudservices-init',null,{'originalError':_0x4524e7});});}['addToReconnectionStack'](_0x517438){if('function'!=typeof _0x517438['reconnect'])throw new _0x19d29c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x517438))throw new _0x19d29c('websocketgateway-plugin-already-registered',this,{'name':_0x517438['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x517438);}['removeFromReconnectionStack'](_0x78d6f7){this['_reconnectionStack']['delete'](_0x78d6f7);}['isInReconnectionStack'](_0x38338d){return this['_reconnectionStack']['has'](_0x38338d);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5a66cb=>_0x5a66cb['reconnect']())))['then'](()=>this['state']=_0x312285['CONNECTED'])['catch'](_0x4292d0=>{throw console['error'](_0x4292d0),new _0x19d29c('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x312285['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3f68a4{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x2aaab9];}constructor(_0x4961d5){super(_0x4961d5),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x52ca00(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2aaab9);}['init'](){const _0x3f6174=this['context']['plugins']['get'](c);this['listenTo'](_0x3f6174,'change:state',(_0x3354fa,_0x708e0b,_0x49ad29)=>{if('connected'!==_0x49ad29)this['channelSessions']['forEach'](_0x518567=>_0x518567['clear']()),this['channelConnectedUsers']['forEach'](_0x5d92f4=>_0x5d92f4['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x49db1e,_0x123188]of this['_registeredSessions'])for(const _0x1f6224 of _0x123188)this['_handleSessionAdd'](_0x49db1e,_0x1f6224);}}),this['_createUser'](_0x3f6174['connection']['me'],!0x0);}['register'](_0x35da19,_0x20fae4){if(this['_registeredSessions']['has'](_0x35da19))throw new _0x19d29c('sessions-register-already-registered',null,{'channelId':_0x35da19});this['_registeredSessions']['set'](_0x35da19,_0x20fae4),this['channelSessions']['set'](_0x35da19,new _0x52ca00()),this['channelConnectedUsers']['set'](_0x35da19,new _0x52ca00()),this['listenTo'](_0x20fae4,'add',(_0x21c582,_0x501b46)=>this['_handleSessionAdd'](_0x35da19,_0x501b46)),this['listenTo'](_0x20fae4,'remove',(_0x9e9307,_0x1b13b9)=>this['_handleSessionRemove'](_0x35da19,_0x1b13b9));for(const _0x9f73f2 of _0x20fae4)this['_handleSessionAdd'](_0x35da19,_0x9f73f2);}['unregister'](_0x532bd1){if(!this['_registeredSessions']['has'](_0x532bd1))throw new _0x19d29c('sessions-unregister-not-exist',null,{'channelId':_0x532bd1});const _0x44b55c=this['_registeredSessions']['get'](_0x532bd1);this['stopListening'](_0x44b55c);for(const _0xf2a99 of _0x44b55c)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x532bd1,_0xf2a99);this['_registeredSessions']['delete'](_0x532bd1),this['channelSessions']['delete'](_0x532bd1),this['channelConnectedUsers']['delete'](_0x532bd1);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x25d736){for(const _0x9440a6 of this['channelSessions']['values']())for(const _0x14bc25 of _0x9440a6)if(_0x14bc25['id']===_0x25d736)return _0x14bc25['user'];}['getUserSessions'](_0x4c281a,_0x129e6a){const _0xeb0fd9=_0x129e6a?[this['channelSessions']['get'](_0x129e6a)]:this['channelSessions']['values'](),_0x25b90e=new Set();for(const _0x4da448 of _0xeb0fd9)for(const _0x289f41 of _0x4da448)_0x289f41['user']['id']===_0x4c281a['id']&&_0x25b90e['add'](_0x289f41['id']);return _0x25b90e;}['getUserRole'](_0x54ccd6){for(const _0x110f4d of this['channelSessions']['values']())for(const _0x535500 of _0x110f4d)if(_0x535500['user']===_0x54ccd6)return _0x535500['role'];}['_handleSessionAdd'](_0x27f8b6,_0x1fb42c){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x2367c5=_0x1fb42c['user'],_0x4e538f=this['_users']['getUser'](_0x2367c5['id'])||this['_createUser'](_0x2367c5),_0x10648c=Object['assign']({},_0x1fb42c,{'user':_0x4e538f});this['channelSessions']['get'](_0x27f8b6)['add'](_0x10648c);const _0x58f766=this['channelConnectedUsers']['get'](_0x27f8b6);_0x58f766['has'](_0x4e538f['id'])||_0x58f766['add'](_0x4e538f),this['allConnectedUsers']['has'](_0x4e538f['id'])||this['allConnectedUsers']['add'](_0x4e538f,_0x4e538f['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x27f8b6,{'channelId':_0x27f8b6,'session':_0x10648c});}['_handleSessionRemove'](_0x4d1fbc,_0x4b3038){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x445242=this['channelConnectedUsers']['get'](_0x4d1fbc),_0x5ca821=_0x4b3038['user'];_0x5ca821['id']&&(this['channelSessions']['get'](_0x4d1fbc)['remove'](_0x4b3038['id']),_0x445242['has'](_0x5ca821['id'])&&!this['getUserSessions'](_0x5ca821,_0x4d1fbc)['size']&&_0x445242['remove'](_0x5ca821['id']),this['allConnectedUsers']['get'](_0x5ca821['id'])&&!this['getUserSessions'](_0x5ca821)['size']&&this['allConnectedUsers']['remove'](_0x5ca821['id']));}['_createUser'](_0x1d93e2,_0x2ed4f8){const _0xea685=this['_users']['addUser'](_0x1d93e2);return _0x2ed4f8&&this['_users']['defineMe'](_0x1d93e2['id']),_0xea685['orderNumber']=this['_uniqueUsersCount']++,_0xea685;}}class q extends _0xdcbc50{['_domEmitter']=new(_0x58e02a())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4d0d7e=this['editor'],_0xff3e91=_0x4d0d7e['plugins']['get'](i);_0x4d0d7e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x38ccc2,{writer:_0x1af9ea})=>function(_0x51edb6,_0x3b7869,_0x52193b,_0x4a5507){const _0x33ce22=_0x51edb6['markerName']['split'](':')[0x2],_0xd3c0f9=_0x52193b['getUserBySessionId'](_0x33ce22);if(!_0xd3c0f9||_0x33ce22===_0x52193b['mySessionId'])return;if(!_0x4a5507['model']['schema']['checkChild'](_0x51edb6['markerRange']['start'],'$text'))return;const _0xc38011={'class':'ck-user__marker\x20'+_0xd3c0f9['color']['getMarkerClass'](),'data-name':_0xd3c0f9['name'],'data-session-id':_0x33ce22},_0x59c2d6=_0x4a5507['model']['markers']['get'](_0x51edb6['markerName']),_0x59a72d=_0x59c2d6['getStart'](),_0x576ae8=_0x59a72d['nodeAfter'],_0x38c123=_0x4a5507['model']['schema'];if(_0x576ae8&&_0x38c123['isObject'](_0x576ae8)&&_0x38c123['isInline'](_0x576ae8)&&!_0x4a5507['model']['markers']['get']('user:range:'+_0x33ce22)['getRange']()['isCollapsed'])return;const _0x5efff8=_0x59a72d['parent'];return _0x4a5507['model']['schema']['isLimit'](_0x5efff8)&&!_0x4a5507['model']['hasContent'](_0x5efff8)&&(_0xc38011['contenteditable']=!0x1),function(_0x150bf9,_0x4396d7,_0x63fe4e){const _0x1cd20e=_0x150bf9['createUIElement']('span',_0x4396d7);return _0x150bf9['setCustomProperty']('userPositionMarker',!0x0,_0x1cd20e),_0x1cd20e['render']=function(_0x4f25a8){const _0x18e49c=this['toDomElement'](_0x4f25a8),_0x3d3303=document['createElement']('span');return _0x3d3303['classList']['add']('ck-user__marker-tooltip'),_0x3d3303['setAttribute']('contenteditable','false'),_0x3d3303['setAttribute']('spellcheck','false'),_0x3d3303['textContent']=_0x63fe4e['name'],_0x18e49c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3d3303['outerHTML']+'⁠',_0x18e49c['addEventListener']('mouseenter',()=>{_0x18e49c['classList']['add']('ck-user__marker_hovered');}),_0x18e49c['addEventListener']('mouseleave',()=>{_0x18e49c['classList']['remove']('ck-user__marker_hovered');}),_0x18e49c;},_0x1cd20e['isSimilar']=function(_0x18d014){return!(!this['getCustomProperty']('userPositionMarker')||!_0x18d014['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x18d014['getAttribute']('data-session-id'));},_0x1cd20e;}(_0x3b7869,_0xc38011,_0xd3c0f9);}(_0x38ccc2,_0x1af9ea,_0xff3e91,_0x4d0d7e)}),_0x4d0d7e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5f5b1b=>function(_0x56c5e0,_0x177fef){const _0x2859fe=_0x56c5e0['markerName']['split'](':')[0x2];if(_0x2859fe===_0x177fef['mySessionId'])return null;const _0x33c0f1=_0x177fef['getUserBySessionId'](_0x2859fe);if(!_0x33c0f1)return{'id':_0x2859fe,'classes':[]};return{'id':_0x2859fe,'classes':['ck-user__selection',_0x33c0f1['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2859fe},'priority':0x7d0+_0x33c0f1['orderNumber']};}(_0x5f5b1b,_0xff3e91)}),function(_0x1c5e43){const _0x582f7c=_0x1c5e43['model'],_0x5a5388=new Map(),_0x307b98=_0x1c5e43['plugins']['get'](i);_0x582f7c['markers']['on']('update:user:range',(_0x382aca,_0x156b12,_0x3767db,_0x36be2f)=>{if(!_0x36be2f&&_0x5a5388['get'](_0x156b12['name']))return _0x5a5388['get'](_0x156b12['name'])['detach'](),void _0x5a5388['delete'](_0x156b12['name']);const _0x18afe7=_0x156b12['name']['split'](':')[0x2];if(_0x18afe7===_0x307b98['mySessionId'])return;const _0x2ff4d9='user:position:'+_0x18afe7;_0x582f7c['markers']['has'](_0x2ff4d9)&&_0x1c5e43['editing']['reconvertMarker'](_0x2ff4d9),_0x156b12['on']('change:range',(_0x20e157,_0x223cca,_0x15ae12)=>{if('$graveyard'!=_0x223cca['root']['rootName']&&'$graveyard'==_0x156b12['getRange']()['root']['rootName']&&!_0x5a5388['has'](_0x156b12['name'])){const _0x14bd92=_0x582f7c['schema']['getNearestSelectionRange'](_0x15ae12['deletionPosition']);if(_0x14bd92){const _0x1a501f=ht['fromRange'](_0x14bd92);_0x5a5388['set'](_0x156b12['name'],_0x1a501f),_0x1a501f['on']('change:range',(_0x28acd6,_0x5a7209,_0x3ef412)=>{if('$graveyard'==_0x1a501f['root']['rootName']){const _0x183233=_0x582f7c['schema']['getNearestSelectionRange'](_0x3ef412['deletionPosition']);_0x183233?(_0x1a501f['start']=_0x183233['start'],_0x1a501f['end']=_0x183233['end']):(_0x5a5388['delete'](_0x156b12['name']),_0x1a501f['detach']());}});}}});}),_0x582f7c['document']['on']('change',()=>{_0x5a5388['size']>0x0&&_0x582f7c['enqueueChange']({'isUndoable':!0x1},_0x37e516=>{for(const [_0x19d3b8,_0x42678c]of _0x5a5388)'$graveyard'==_0x582f7c['markers']['get'](_0x19d3b8)['getRange']()['root']['rootName']&&(te(_0x19d3b8['split'](':')[0x2],_0x42678c['toRange'](),_0x582f7c,_0x37e516),_0x42678c['detach']());_0x5a5388['clear']();});});}(_0x4d0d7e),this['_domEmitter']['listenTo'](_0x4366f0['document'],'keydown',(_0x58484d,{key:_0x5e116c})=>{'Escape'===_0x5e116c&&function(_0x3db62a){_0x3db62a['editing']['view']['change'](_0x161cb6=>{for(const _0x5c3b1f of _0x3db62a['model']['markers']){if(!_0x5c3b1f['name']['startsWith']('user:position'))continue;const _0xaedbbf=_0x3db62a['editing']['mapper']['markerNameToElements'](_0x5c3b1f['name']);if(_0xaedbbf){for(const _0x43dda8 of _0xaedbbf)_0x161cb6['removeClass']('ck-user__marker_hovered',_0x43dda8);}}});}(_0x4d0d7e);},{'useCapture':!0x0});}['afterInit'](){const _0x36e65f=this['editor'],_0x365bd8=_0x36e65f['commands']['get']('undo');_0x365bd8&&_0x36e65f['model']['on']('applyOperation',(_0x258eaa,_0x4b8315)=>{const _0x5114dd=_0x4b8315[0x0];if(!_0x5114dd['isDocumentOperation'])return;if('marker'!=_0x5114dd['type']||!_0x5114dd['name']['startsWith']('user:'))return;const _0x430401=_0x5114dd['batch'];_0x365bd8['_createdBatches']['has'](_0x430401)&&(_0x5114dd['newRange']=_0x5114dd['oldRange']?_0x36e65f['model']['createRange'](_0x5114dd['oldRange']['start'],_0x5114dd['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x8e831c=this['editor'],_0x4107d7=_0x8e831c['model']['document'],_0x115e6e=_0x8e831c['plugins']['get'](i);_0x8e831c['model']['enqueueChange']({'isUndoable':!0x1},_0x2505b2=>{const _0x4a00e9='user:range:'+_0x115e6e['mySessionId'],_0xebf53c='user:position:'+_0x115e6e['mySessionId'],_0x506f94=_0x8e831c['model']['markers']['has'](_0x4a00e9);_0x8e831c['editing']['view']['hasDomSelection']?te(_0x115e6e['mySessionId'],_0x4107d7['selection']['getFirstRange'](),_0x8e831c['model'],_0x2505b2):_0x506f94&&(_0x2505b2['removeMarker'](_0x4a00e9),_0x2505b2['removeMarker'](_0xebf53c));});}}function te(_0x4f15c6,_0x50fbe9,_0x211c28,_0x11f045){const _0x5edd7e='user:range:'+_0x4f15c6,_0x5aed46='user:position:'+_0x4f15c6,_0x536d45=_0x50fbe9['getContainedElement']();let _0xd0b1d=_0x50fbe9['start'];if(_0x536d45&&_0x536d45['is']('element','tableCell')){const _0x13d82b=function(_0x5bcebf,_0x4bc03f){for(const _0x937850 of _0x5bcebf['getPositions']())if(_0x4bc03f['schema']['checkChild'](_0x937850,'$text'))return _0x937850;}(_0x50fbe9,_0x211c28);_0x13d82b&&(_0xd0b1d=_0x13d82b,_0x50fbe9=_0x11f045['createRange'](_0xd0b1d));}const _0x16cffd=_0x11f045['createRange'](_0xd0b1d);_0x211c28['markers']['has'](_0x5edd7e)?(_0x11f045['updateMarker'](_0x5edd7e,{'range':_0x50fbe9}),_0x11f045['updateMarker'](_0x5aed46,{'range':_0x16cffd})):(_0x11f045['addMarker'](_0x5edd7e,{'range':_0x50fbe9,'usingOperation':!0x0}),_0x11f045['addMarker'](_0x5aed46,{'range':_0x16cffd,'usingOperation':!0x0}));}function G(_0x8411e5,_0x282679,_0xf183f3){const _0x4b8929=_0x8411e5['t'],t=_0x8411e5['t'];switch(_0x282679){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x4b8929({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0xf183f3);default:return'';}}let J=0x1;class l extends _0xdcbc50{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x4f847e)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x352a17,_0x2aaab9,_0xc034f2];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x315b37=this['serverHistory']['getOperations']();for(let _0xba6ebe=_0x315b37['length']-0x1;_0xba6ebe>=0x0;_0xba6ebe--){const _0x4bb05b=_0x315b37[_0xba6ebe];if(!this['_disconnectionOperations']['has'](_0x4bb05b))return _0x4bb05b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5c7834){if(super(_0x5c7834),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x241be6(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x19d29c('collaboration-missing-channelid',this);const _0x54e674=_0x5c7834['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x54e674,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2e6a41(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new Y(this['_disconnectionOperations']);}['init'](){const _0x4d3f45=this['editor'],_0x4194b1=_0x4d3f45['plugins']['get'](_0x2aaab9),_0x4b0779=_0x4d3f45['plugins']['get'](c);this['listenTo'](_0x4194b1,'getOperationAuthor',(_0x3f2a60,_0x5e3ab2)=>{const _0x5ee973=_0x5e3ab2[0x0];_0x5ee973['_authorId']&&(_0x3f2a60['return']=_0x4194b1['getUser'](_0x5ee973['_authorId']),_0x3f2a60['stop']()),null===_0x5ee973['_authorId']&&(_0x3f2a60['return']=null,_0x3f2a60['stop']());},{'priority':'high'}),this['listenTo'](_0x4d3f45['model']['document']['selection'],'change:range',(_0x2beb2f,_0x3417d0)=>{_0x3417d0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4d3f45['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4d3f45['model']['on']('applyOperation',(_0x3347e4,_0x2989fb)=>{const _0x12b350=_0x2989fb[0x0];_0x12b350['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x12b350),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4b0779,'state',this,'_hasSynchronizationProblem',(_0x21747d,_0x1f21f3)=>'connected'===_0x21747d&&!_0x1f21f3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4d3f45['disableReadOnlyMode']('rtc-offline'):_0x4d3f45['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4d3f45['disableReadOnlyMode']('rtc-offline'):_0x4d3f45['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3f243e=this['editor']['plugins']['get'](i),_0x528cb4=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x3f243e['unregister'](this['_channelId']);const _0x4704ad=await this['_service']['reconnect'](_0x528cb4['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4704ad)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x554546=await this['_service']['getConnectedSessions']();_0x3f243e['register'](this['_channelId'],_0x554546),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5b8d22){if(function(_0x18618b){return'404'===_0x18618b['code'];}(_0x5b8d22)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x34d2fa){return'409'===_0x34d2fa['code'];}(_0x5b8d22)){const _0x39a5fd=G(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x39a5fd);}else{if(!(_0x5b8d22 instanceof Q))throw _0x5b8d22;this['_handleReconnectionError']();}}}}['destroy'](){const _0x33eb60=this['editor']['plugins']['get'](c),_0x387f81=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x387f81['channelSessions']['has'](this['_channelId'])&&_0x387f81['unregister'](this['_channelId']),_0x33eb60['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5df39e){if(this['sessionId']!==_0x5df39e['sessionId']&&this['_lastSyncedOperationId']!==_0x5df39e['lastOperationId'])throw new Q();return this['sessionId']=_0x5df39e['sessionId'],this['_handleServerResponse']([],{..._0x5df39e,'wereChangesApplied':!0x1,'data':_0x5df39e['data']},'reconnect');}async['_connectService'](_0x30feaa,_0x4dea60=!0x1){const {connection:_0x275bb8}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x275bb8,this['_channelId'])['then'](_0x16b045=>this['_initSessionsHandling'](_0x16b045))['catch'](_0x5aee6c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5aee6c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x572b90,_0x408165)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x408165);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x2e9dbb=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x30feaa);this['_isPendingUpdate']=!0x0;const _0x31d791=await this['_service']['connect'](_0x275bb8,this['_compressOperations'](_0x30feaa),_0x2e9dbb);if(this['sessionId']=_0x31d791['sessionId'],_0x4dea60){if(!_0x31d791['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x31d791['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x30feaa,_0x31d791,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x31d791,_0x30feaa);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x177a19=this['editor']['plugins']['get'](i),_0x3fee87=this['editor']['plugins']['get'](q),_0x19ad16=_0x177a19['channelSessions']['get'](this['_channelId']);_0x19ad16&&_0x19ad16['length']>0x1?_0x3fee87['createUserMarkerOperations']():this['listenTo'](_0x177a19,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x177a19['channelSessions']['get'](this['_channelId'])['length']&&_0x3fee87['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x242fb6,_0x37e39b,_0x2be766,_0x4c397b){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x37e39b){const _0x3ecd26=this['_decompressOperations'](_0x2be766,_0x4c397b);await this['_fetchMissingUsers'](_0x3ecd26),this['_handleExternalOperations'](_0x3ecd26,_0x37e39b,_0x2be766['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x97eb67}=this['editor'];let _0x1e0a1d;try{_0x1e0a1d=await this['_service']['getDocumentDetails']();}catch{const _0xb18869=G(_0x97eb67,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0xb18869);}const _0x502736=_0x1e0a1d['currentDocumentSession']||_0x1e0a1d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x502736['lastOperationId']){const _0x2f6287=G(_0x97eb67,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x2f6287);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x452e66){const _0x432a64=this['editor']['plugins']['get'](i);this['listenTo'](_0x432a64,'sessionAdd:'+this['_channelId'],(_0x39d590,{session:_0x15db25})=>{if(_0x15db25['id']===_0x432a64['mySessionId']){_0x39d590['off']();const _0x41a0bf=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x33f39e=_0x15db25['permissions'];_0x41a0bf&&_0x41a0bf['isEnabled']&&(_0x33f39e=_0x33f39e['filter'](_0x4fef0c=>'document:write'!==_0x4fef0c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x33f39e,this['_channelId']);}}),_0x432a64['register'](this['_channelId'],_0x452e66);}['_initThrowingOnDataSet'](){const _0x16c9dc=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3242a4)=>{if(!_0x3242a4[_0x3242a4['length']-0x1]['suppressErrorInCollaboration'])throw new _0x19d29c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x16c9dc['apply'](this['editor']['data'],_0x3242a4);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4382d2,[_0x5b2113])=>{if(this['_document']['version'])throw new _0x19d29c('realtimecollaborationclient-init-document-already-initialized',this);_0x4382d2['stop'](),this['_setPendingAction']();const _0x17ac41=this['editor']['config']['get']('rootsAttributes'),_0x318746=this['_getOperationsFromInitData'](_0x5b2113,_0x17ac41);0x0==_0x318746['length']&&_0x318746['push'](new _0x27ade8(0x0)),_0x4382d2['return']=this['_connectService'](_0x318746)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x23fcff=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x23fcff))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x40cf36,[_0x2bbeec,_0x278870])=>{_0x40cf36['stop']();const _0x220e08=this['editor']['model']['document']['getRoot'](_0x2bbeec);if(!this['_knownRootNames']['has'](_0x2bbeec)){const _0x5457df=_0x278870&&_0x278870['data']?_0x278870['data']:'',_0x55fad4=_0x278870&&_0x278870['attributes']?_0x278870['attributes']:{};await this['_loadRoot'](_0x2bbeec,_0x5457df,_0x55fad4);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x220e08['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x220e08);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x440f0d){const _0x19fb08=this['editor']['plugins']['get'](_0x2aaab9),{connection:_0x3022f1}=this['editor']['plugins']['get'](c),_0x2c4fcd=new Set();for(const _0x16648c of _0x440f0d){const _0x13daf1=_0x16648c['_authorId'];_0x13daf1&&!_0x19fb08['getUser'](_0x13daf1)&&_0x2c4fcd['add'](_0x13daf1);}if(0x0===_0x2c4fcd['size'])return;const _0x4d56fb=await dt['getMany'](_0x3022f1,Array['from'](_0x2c4fcd));for(const _0x4933d4 of _0x4d56fb)_0x19fb08['getUser'](_0x4933d4['id'])||_0x19fb08['addUser'](_0x4933d4);}['_getOperationsFromInitData'](_0xfeefc2,_0x34450a={}){const _0x4b0352=this['editor']['model'],_0x5cf809=[];let _0x37680e=0x0;const _0x25cc6c='string'==typeof _0xfeefc2?{'main':_0xfeefc2}:_0xfeefc2;for(const _0x47cc1d of Object['keys'](_0x25cc6c)){if(!this['_document']['roots']['has'](_0x47cc1d))throw new _0x19d29c('realtimecollaborationclient-init-non-existent-root',this);const _0x17ee4d=this['editor']['data']['parse'](_0x25cc6c[_0x47cc1d]),_0x51e8cd=this['_document']['getRoot'](_0x47cc1d),_0x399a38=new _0x4955f3(_0x4b0352['createPositionAt'](_0x51e8cd,0x0),_0x17ee4d,_0x37680e++);_0x5cf809['push'](_0x399a38);for(const [_0x33d163,_0x699fd6]of _0x17ee4d['markers']){const _0x5802b0=_0x4b0352['createRange'](_0x4b0352['createPositionFromPath'](_0x51e8cd,_0x699fd6['start']['path']['slice']()),_0x4b0352['createPositionFromPath'](_0x51e8cd,_0x699fd6['end']['path']['slice']())),_0x2e5728=new _0x455320(_0x33d163,null,_0x5802b0,_0x4b0352['markers'],!0x0,_0x37680e++);_0x5cf809['push'](_0x2e5728);}}if(_0x34450a)for(const [_0xe16a9f,_0x26e589]of Object['entries'](_0x34450a)){const _0x347668=_0x4b0352['document']['getRoot'](_0xe16a9f);if(!_0x347668)throw new _0x19d29c('multi-root-editor-root-attributes-no-root',null);for(const [_0x4379df,_0x35a01f]of Object['entries'](_0x26e589))if(null!==_0x35a01f){const _0x448df7=new _0x15eb0d(_0x347668,_0x4379df,null,_0x35a01f,_0x37680e++);_0x5cf809['push'](_0x448df7);}}return _0x5cf809;}async['_loadRoot'](_0x181ef8,_0x6d4080,_0x2dab9a){this['_getOperationsFromInitData']({[_0x181ef8]:_0x6d4080},{[_0x181ef8]:_0x2dab9a})['forEach']((_0x2839d5,_0x3b7991)=>{_0x2839d5['baseVersion']=this['_document']['version']+_0x3b7991,_0x2839d5['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2839d5);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2515cf,_0x39ea31){let _0x1f7eff;this['_offset']=_0x2515cf['offset'];const _0x514774=_0x2515cf['wereChangesApplied']&&!_0x2515cf['initData'],_0x20028b=_0x514774?0x0:_0x2515cf['data']['baseVersion'];if(_0x39ea31['forEach'](_0x37bac7=>{_0x37bac7['_isInit']=!0x0,_0x37bac7['createdAt']=_0x2515cf['sessionCreatedAt'],_0x37bac7['_authorId']=null;}),_0x514774)_0x1f7eff=_0x39ea31,this['_applyOperationsSet'](_0x1f7eff,_0x514774);else{if(_0x2515cf['initData']){const _0x4cceb4=this['_getOperationsFromInitData'](_0x2515cf['initData']);this['_document']['history']['version']=-_0x4cceb4['length'],_0x4cceb4['forEach'](_0x2661ad=>{_0x2661ad['baseVersion']-=_0x4cceb4['length'],_0x2661ad['createdAt']=_0x2515cf['sessionCreatedAt'],_0x2661ad['_isInit']=!0x0,_0x2661ad['_authorId']=null;}),this['_applyOperationsSet'](_0x4cceb4,!0x0),this['serverHistory']['version']=-_0x4cceb4['length']+this['_offset'],this['_updateServerHistory'](_0x4cceb4);}this['_document']['history']['version']=_0x20028b,_0x1f7eff=this['_decompressOperations'](_0x2515cf['data'],_0x2515cf['metadata']),await this['_fetchMissingUsers'](_0x1f7eff),this['_applyOperationsSet'](_0x1f7eff,_0x514774);}_0x2515cf['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f7eff,_0x2515cf['lastOperationId']),this['_lastSyncedOperationId']=_0x2515cf['lastOperationId']),this['serverHistory']['version']=_0x20028b+this['_offset'],this['_updateServerHistory'](_0x1f7eff),_0x39ea31['filter'](_0x476f82=>{const _0x78ca8=this['_getAffectedRoot'](_0x476f82);return _0x78ca8&&!this['_knownRootNames']['has'](_0x78ca8);})['forEach']((_0x16ed26,_0x20df46)=>{_0x16ed26['baseVersion']=this['_document']['version']+_0x20df46,this['_saveOperationInBuffer'](_0x16ed26);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x9c60be,_0x1419b4){const _0x156715=_0x1419b4&&_0x1419b4['message'];if(_0x156715&&_0x156715['startsWith']('realtimecollaborationclient'))throw _0x1419b4;const _0x59b8fe=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x59b8fe['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x19d29c(_0x9c60be,this['editor'],_0x156715?{'originalError':_0x156715}:void 0x0);}['_saveOperationInBuffer'](_0x4e01aa){this['_knownOperations']['has'](_0x4e01aa)||(this['_knownOperations']['add'](_0x4e01aa),this['_bufferedOperations']['push'](_0x4e01aa),this['_pendingAction']||'marker'==_0x4e01aa['type']&&!_0x4e01aa['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x21e289=!0x1){!_0x21e289&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5d707d=>{_0x5d707d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x519b19=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x53bc72){return _0x53bc72['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x53bc72['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x53bc72['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x519b19)||this['_crash'](_0x519b19['message'],_0x519b19);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x872ae2=>{this['on']('change:_isPendingUpdate',()=>{_0x872ae2();});});}async['_sendBufferedOperations'](){const _0x1d153f=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0x1d153f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x346530=[...this['_bufferedOperations']];for(const _0x55ea5b of _0x346530)_0x55ea5b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x55ea5b);const _0x4ace40=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x346530),_0x52572a=J++,_0x369125=this['_compressOperations'](_0x346530),_0x3beaf2=await this['_service']['sendOperations'](_0x369125,_0x369125['baseVersion'],_0x4ace40);try{return await this['_handleServerResponse'](_0x346530,_0x3beaf2,_0x52572a);}catch(_0x5c06e0){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5c06e0);}}async['_handleServerResponse'](_0x1fcb44,_0x559830,_0xb52e61){if('error'in _0x559830)throw _0x559830['error'];let _0x4a0e37=!0x1;if(_0x559830['wereChangesApplied']){_0x559830['lastOperationId']&&(this['_lastSyncedOperationId']=_0x559830['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x48b97e=>!_0x1fcb44['includes'](_0x48b97e));for(const _0x1dbf02 of _0x1fcb44)_0x1dbf02['createdAt']='lastOperationAcceptedAt'in _0x559830&&_0x559830['lastOperationAcceptedAt']||void 0x0;X(_0x1fcb44,_0x559830['version']-_0x1fcb44['length']),this['_updateServerHistory'](_0x1fcb44);const _0x104b50=_0x1fcb44['filter'](_0x5a364c=>{if(!_0x5a364c['_isInit'])return!0x1;const _0x2ddd23=this['_getAffectedRoot'](_0x5a364c);return _0x2ddd23&&!this['_knownRootNames']['has'](_0x2ddd23);});X(_0x104b50,this['_document']['version']),this['_applyOperationsSet'](_0x104b50),_0x4a0e37=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x468c25=this['_decompressOperations'](_0x559830['data'],_0x559830['metadata'])['filter'](_0x260054=>_0x260054['baseVersion']>=this['_lastServerVersion']);_0x468c25['forEach'](_0x38932e=>this['_addKnownRoot'](_0x38932e)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x35f5f6=>!_0x35f5f6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x35f5f6))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x468c25),_0x4a0e37=this['_handleExternalOperations'](_0x468c25,_0x559830['version'],_0x559830['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x4a0e37?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x132e86,_0x2e3514,_0x412ca2){try{const _0x235c7f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4dec66,operationsB:_0x49a823,originalOperations:_0x49a85}=_0x401905(_0x132e86,this['_bufferedOperations'],_0x235c7f);X(_0x4dec66,this['_document']['version']),X(_0x49a823,_0x2e3514);for(const _0x271fed of _0x4dec66){const _0x3e8b50=_0x49a85['get'](_0x271fed);_0x271fed['_authorId']=_0x3e8b50?_0x3e8b50['_authorId']:null;}_0x412ca2&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x132e86,_0x412ca2),this['_lastSyncedOperationId']=_0x412ca2),this['_bufferedOperations']=[..._0x49a823],this['_applyOperationsSet'](_0x4dec66),this['_updateServerHistory'](_0x132e86);}catch(_0x57d8c2){return console['error'](_0x57d8c2),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5c7d8c,_0x4f365a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x134212=>{for(const _0x5565ae of _0x5c7d8c)this['_knownOperations']['add'](_0x5565ae),this['_addKnownRoot'](_0x5565ae),_0x134212['batch']['addOperation'](_0x5565ae),this['editor']['model']['applyOperation'](_0x5565ae);});}['_addKnownRoot'](_0x4a7ede){const _0xd5bead=this['_getAffectedRoot'](_0x4a7ede);_0xd5bead&&this['_knownRootNames']['add'](_0xd5bead);}['_getAffectedRoot'](_0x196360){let _0x1b6f52,_0x3c8f9c;switch(_0x196360['type']){case'insert':_0x1b6f52=_0x196360['position']['root'];break;case'marker':if(_0x3c8f9c=_0x196360['newRange'],!_0x3c8f9c)return null;_0x1b6f52=_0x3c8f9c['root'];break;case'addRootAttribute':_0x1b6f52=_0x196360['root'];break;case'addRoot':_0x1b6f52=_0x196360['affectedSelectable'];break;case'move':_0x1b6f52=_0x196360['targetPosition']['root'];break;default:return null;}return _0x1b6f52['rootName'];}['_updateServerHistory'](_0x5da47c){_0x5da47c['forEach'](_0xe943b1=>{const _0x13a25a=_0xe943b1['clone']();_0x13a25a['_authorId']=_0xe943b1['_authorId'],_0x13a25a['_isInit']=!!_0xe943b1['_isInit'],_0x13a25a['createdAt']=_0xe943b1['createdAt'],_0x13a25a['baseVersion']+=this['_offset'],_0xe943b1['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x13a25a),this['serverHistory']['addOperation'](_0x13a25a);});}['_handleReconnectionError'](_0x53978d){const _0x5982c8=this['editor']['plugins']['get']('Notification'),_0x13d08d=this['editor']['locale'];_0x53978d||(_0x53978d=G(_0x13d08d,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x5982c8['showWarning'](_0x53978d,{'title':G(_0x13d08d,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x352a17)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x352a17)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x435096){const _0x11f008=_0x435096['map'](_0x4cb939=>_0x4cb939['toJSON']());return this['_compressor']['compress'](_0x11f008);}['_decompressOperations'](_0x43a4e6,_0xad23d8){return this['_compressor']['decompress'](_0x43a4e6)['map']((_0x4c8c15,_0x1f4947)=>{const _0x47035e='init'==_0xad23d8[_0x1f4947]['type'];if('InsertOperation'==_0x4c8c15['__className']){const _0x510439=_0x4c8c15['position']['root'];!this['_document']['getRoot'](_0x510439)&&(this['_document']['createRoot']('$root',_0x510439)['_isAttached']=!0x1);}const _0x4ed1ba=_0xdb4121['fromJSON'](_0x4c8c15,this['_document']);return _0x4ed1ba['wasUndone']=_0x4c8c15['wasUndone'],_0x4ed1ba['_isInit']=_0x47035e,_0x4ed1ba['_authorId']=_0x47035e?null:_0xad23d8[_0x1f4947]['userId'],_0x4ed1ba['_isDisconnection']='cs:removeUser'===_0xad23d8[_0x1f4947]['type'],_0x4ed1ba['createdAt']=_0xad23d8[_0x1f4947]['createdAt'],_0x4ed1ba;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3f25fb=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3f25fb&&_0x3f25fb['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x13819a,_0x294514){for(const _0x4bbda1 of _0x13819a)_0x4bbda1['baseVersion']=_0x294514++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x5dab86){this['_ignoredOperations']=_0x5dab86,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1ce2e2){let _0x391c84=_0x1ce2e2['length'];for(;_0x391c84--;){const _0x473997=_0x1ce2e2[_0x391c84];if(!this['_ignoredOperations']['has'](_0x473997)){if(!this['_operationToId']['has'](_0x473997)){const _0x14ce74=_0x53029c()['slice'](0x1,0x12);this['_operationToId']['set'](_0x473997,_0x14ce74);}return this['_operationToId']['get'](_0x473997);}}}['setIdForTheLastOperation'](_0x32e42d,_0x31a0d6){if(!_0x31a0d6)return;let _0x4334cf=_0x32e42d['length'];for(;_0x4334cf--;){const _0x2e93a0=_0x32e42d[_0x4334cf];this['_ignoredOperations']['has'](_0x2e93a0)||this['_operationToId']['set'](_0x2e93a0,_0x31a0d6);}}}class n extends _0xdcbc50{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x3f68a4{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x360da2)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x2aaab9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x360e72){super(_0x360e72),this['_services']=new Map();}async['init'](){const _0x39b43b=this['context'],_0x1f0951=_0x39b43b['plugins']['get']('CommentsRepository');if(_0x39b43b['plugins']['get'](c)['addToReconnectionStack'](this),_0x1f0951['adapter']={'addCommentThread':async({channelId:_0x18d894,threadId:_0x5b8e26,comments:_0x33b269,resolvedAt:_0x1c86db,resolvedBy:_0x4d0c1c,context:_0x487c48,attributes:_0x2bc87e})=>{const _0x2b265f=await this['_getService'](_0x18d894)['addCommentThread']({'commentThreadId':_0x5b8e26,'comments':_0x33b269['map'](_0x5449d3=>function(_0x299906,_0x13634b,_0x29abe9){return{'commentThreadId':_0x29abe9,'commentId':_0x299906['commentId'],'userId':_0x299906['authorId'],'content':_0x299906['content'],'documentId':_0x13634b,'createdAt':_0x299906['createdAt'],'attributes':_0x299906['attributes']||{}};}(_0x5449d3,_0x18d894,_0x5b8e26)),'resolvedAt':_0x1c86db,'resolvedBy':_0x4d0c1c,'context':_0x487c48,'attributes':_0x2bc87e})['catch'](ut);return{'threadId':_0x2b265f['commentThreadId'],'comments':_0x2b265f['comments']};},'getCommentThread':async({channelId:_0x28e0a2,threadId:_0x13504e})=>{const _0x1a89ad=await this['_getService'](_0x28e0a2)['getCommentThread'](_0x13504e)['catch'](ut);return _0x1a89ad['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1a89ad]),{'threadId':_0x1a89ad['commentThreadId'],'comments':_0x1a89ad['comments']['map'](_),'context':_0x1a89ad['context'],'resolvedAt':_0x1a89ad['resolvedAt'],'resolvedBy':_0x1a89ad['resolvedBy'],'attributes':_0x1a89ad['attributes']||{}});},'updateCommentThread':async({channelId:_0x2475f1,threadId:_0x36f33d,context:_0x329896,unlinkedAt:_0x4d7c0e,attributes:_0x11b163})=>this['_getService'](_0x2475f1)['updateCommentThread']({'commentThreadId':_0x36f33d,'context':_0x329896,'attributes':_0x11b163,'unlinkedAt':_0x4d7c0e})['catch'](S)['catch'](ut),'resolveCommentThread':async({channelId:_0x322aaf,threadId:_0x135409})=>{const _0x1babf0=await this['_getService'](_0x322aaf)['resolveCommentThread'](_0x135409)['catch'](S)['catch'](ut);return{'threadId':_0x1babf0['commentThreadId'],'resolvedAt':_0x1babf0['resolvedAt'],'resolvedBy':_0x1babf0['resolvedBy']};},'reopenCommentThread':async({channelId:_0x18ac7b,threadId:_0x2725a0})=>this['_getService'](_0x18ac7b)['reopenCommentThread'](_0x2725a0)['catch'](S)['catch'](ut),'removeCommentThread':({channelId:_0x5a39f0,threadId:_0x21001a})=>this['_getService'](_0x5a39f0)['removeCommentThread'](_0x21001a)['catch'](S)['catch'](ut),'addComment':({channelId:_0x5d2aea,threadId:_0x138469,commentId:_0x548241,content:_0x2dcab0,attributes:_0x52a635})=>this['_getService'](_0x5d2aea)['addComment'](_0x138469,_0x548241,_0x2dcab0,_0x52a635)['catch'](ut),'updateComment':({channelId:_0x463bb2,threadId:_0x55ba91,commentId:_0x26a2a8,content:_0x3609d6,attributes:_0xa0351d})=>this['_getService'](_0x463bb2)['updateComment'](_0x55ba91,_0x26a2a8,_0x3609d6,_0xa0351d)['catch'](S)['catch'](ut),'removeComment':({channelId:_0xf881e1,threadId:_0x15f936,commentId:_0x380439})=>this['_getService'](_0xf881e1)['removeComment'](_0x15f936,_0x380439)['catch'](S)['catch'](ut)},_0x39b43b instanceof _0x51b985){const _0xd8b47c=_0x39b43b['config']['get']('collaboration.channelId'),_0x23f506=_0x39b43b['plugins']['get'](i);await this['_setUpService'](_0xd8b47c);const _0x963752=await this['_services']['get'](_0xd8b47c)['getConnectedSessions']();this['listenTo'](_0x23f506,'sessionAdd:'+_0xd8b47c,(_0xab493d,{session:_0x2347f0})=>{_0x2347f0['id']===_0x23f506['mySessionId']&&(_0xab493d['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2347f0['permissions'],_0xd8b47c));}),_0x23f506['register'](_0xd8b47c,_0x963752);}}async['_setUpService'](_0x28c2c5){if(this['_services']['has'](_0x28c2c5))throw new _0x19d29c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x28c2c5});const _0x464d9e=this['context']['plugins']['get']('CommentsRepository'),_0x32490d=new a['CommentsService'](_0x28c2c5);this['_services']['set'](_0x28c2c5,_0x32490d),this['listenTo'](_0x32490d,'commentThreadAdded',(_0x1d7274,_0x5a0e76)=>{const {commentThreadId:_0x114208,documentId:_0x437ec5,context:_0x17617b,attributes:_0x2b331c,resolvedAt:_0x15fb94,resolvedBy:_0x4f67c9,comments:_0x1fd78f}=_0x5a0e76;_0x464d9e['getCommentThread'](_0x114208)||_0x464d9e['addCommentThread']({'threadId':_0x114208,'channelId':_0x437ec5,'comments':_0x1fd78f?_0x1fd78f['map'](_):[],'context':_0x17617b,'attributes':_0x2b331c,'resolvedAt':_0x15fb94,'resolvedBy':_0x4f67c9,'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadUpdated',(_0x3060b8,{commentThreadId:_0x488a61,documentId:_0x33d771,context:_0x62b15,unlinkedAt:_0xdc1f74,attributes:_0x216f3e})=>{_0x464d9e['getCommentThread'](_0x488a61)&&_0x464d9e['updateCommentThread']({'threadId':_0x488a61,'channelId':_0x33d771,'context':_0x62b15,'unlinkedAt':_0xdc1f74,'attributes':_0x216f3e,'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadResolved',(_0xcf65a9,{commentThreadId:_0x125ca9,resolvedBy:_0x54c59e,resolvedAt:_0x235edf})=>{const _0x11b240=_0x464d9e['getCommentThread'](_0x125ca9);_0x11b240&&_0x11b240['resolve']({'resolvedBy':_0x54c59e,'resolvedAt':_0x235edf,'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadReopened',(_0x227cb0,{commentThreadId:_0x426e6f})=>{const _0x409980=_0x464d9e['getCommentThread'](_0x426e6f);_0x409980&&_0x409980['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadRemoved',(_0x4a0f79,{commentThreadId:_0x2d3b44})=>{const _0x4c49fd=_0x464d9e['getCommentThread'](_0x2d3b44);_0x4c49fd&&_0x4c49fd['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentAdded',(_0x53c03b,_0xbbb89f)=>{const _0x30a984=_0xbbb89f['commentThreadId'],_0x21c5a8=_0x464d9e['getCommentThread'](_0x30a984);_0x21c5a8&&_0x21c5a8['addComment']({..._(_0xbbb89f),'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentUpdated',(_0x4dfc8a,{commentThreadId:_0x5714e1,commentId:_0x3a6bb3,content:_0x3d3e80,attributes:_0x2d4c08})=>{const _0x453630=_0x464d9e['getCommentThread'](_0x5714e1);if(_0x453630){const _0x42e5f6=_0x453630['getComment'](_0x3a6bb3);_0x42e5f6&&_0x42e5f6['update']({'content':_0x3d3e80,'attributes':_0x2d4c08,'isFromAdapter':!0x0});}}),this['listenTo'](_0x32490d,'commentRemoved',(_0x369884,{commentThreadId:_0x4f27f3,commentId:_0x26b442})=>{const _0x25ff28=_0x464d9e['getCommentThread'](_0x4f27f3);if(_0x25ff28){const _0x81a53e=_0x25ff28['getComment'](_0x26b442);_0x81a53e&&_0x81a53e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x28c2c5);}['destroy'](){if(this['context']instanceof _0x51b985){const _0x108050=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x108050);}}['_terminateService'](_0x5b614b){if(!this['_services']['has'](_0x5b614b))throw new _0x19d29c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5b614b});this['_getService'](_0x5b614b)['disconnect'](),this['_services']['delete'](_0x5b614b);}async['reconnect'](){for(const _0x3cb99c of this['_services']['keys']())await this['_connectService'](_0x3cb99c);if(this['context']instanceof _0x51b985){const _0x5dcd31=this['context']['config']['get']('collaboration.channelId'),_0x17de4f=this['context']['plugins']['get'](i);_0x17de4f['unregister'](_0x5dcd31);const _0x11d9d4=await this['_services']['get'](_0x5dcd31)['getConnectedSessions']();_0x17de4f['register'](_0x5dcd31,_0x11d9d4);}}async['_connectService'](_0x1ff709){const {connection:_0x763018}=this['context']['plugins']['get'](c),_0x641f5c=this['context']['plugins']['get']('CommentsRepository'),_0x29a3a7=this['_services']['get'](_0x1ff709),_0x54cbed=await _0x29a3a7['connect'](_0x763018);await this['_fetchMissingUsersForThreads'](_0x54cbed);const _0x4ebbf4=new Set(Array['from'](_0x641f5c['getCommentThreads']({'channelId':_0x1ff709}),_0x3845d8=>_0x3845d8['id']));for(const _0x3523e2 of _0x54cbed)_0x3523e2['deletedAt']||_0x4ebbf4['delete'](_0x3523e2['commentThreadId']);for(const _0x21624b of _0x4ebbf4)_0x641f5c['getCommentThread'](_0x21624b)['remove']({'isFromAdapter':!0x0});for(const _0x2dba35 of _0x54cbed){let _0x4267e3=_0x641f5c['getCommentThread'](_0x2dba35['commentThreadId']);const {commentThreadId:_0xe8eb61,context:_0x2b779a,attributes:_0x125e17,resolvedBy:_0x3ae955,resolvedAt:_0x4d52c7,unlinkedAt:_0x5fe59b,deletedAt:_0x104af3}=_0x2dba35;if(_0x104af3)continue;_0x4267e3||(_0x4267e3=_0x641f5c['addCommentThread']({'channelId':_0x1ff709,'threadId':_0xe8eb61,'context':_0x2b779a,'attributes':_0x125e17||{},'resolvedBy':_0x3ae955,'resolvedAt':_0x4d52c7,'unlinkedAt':_0x5fe59b,'isFromAdapter':!0x0}));const _0x263570=new Set(Array['from'](_0x4267e3['comments'],_0x41cba0=>_0x41cba0['id']));for(const _0x4196f1 of _0x2dba35['comments'])_0x263570['delete'](_0x4196f1['commentId']);for(const _0x5da7e1 of _0x263570)_0x4267e3['getComment'](_0x5da7e1)['remove']({'isFromAdapter':!0x0});for(const _0x28b245 of _0x2dba35['comments']){const _0x1d690d=_0x4267e3['getComment'](_0x28b245['commentId']);_0x1d690d?_0x1d690d['content']!==_0x28b245['content']&&_0x1d690d['update']({'content':_0x28b245['content'],'isFromAdapter':!0x0}):_0x4267e3['addComment'](Object['assign'](_(_0x28b245),{'isFromAdapter':!0x0}));}}}['_getService'](_0x9f7bd0){if(!this['_services']['has'](_0x9f7bd0))throw new _0x19d29c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x9f7bd0});return this['_services']['get'](_0x9f7bd0);}async['_fetchMissingUsersForThreads'](_0x5d45a3){const _0x135367=this['context']['plugins']['get'](_0x2aaab9),{connection:_0xa89817}=this['context']['plugins']['get'](c),_0x18dd78=new Set();for(const {resolvedBy:_0x172d45,comments:_0x49abcf}of _0x5d45a3){_0x172d45&&!_0x135367['getUser'](_0x172d45)&&_0x18dd78['add'](_0x172d45);for(const {userId:_0x3b95b5}of _0x49abcf)_0x135367['getUser'](_0x3b95b5)||_0x18dd78['add'](_0x3b95b5);}if(0x0===_0x18dd78['size'])return;const _0x6cb33=await dt['getMany'](_0xa89817,Array['from'](_0x18dd78));for(const _0x109f9c of _0x6cb33)_0x135367['getUser'](_0x109f9c['id'])||_0x135367['addUser'](_0x109f9c);}}async function S(_0x2513ba){if('404'!==_0x2513ba['code'])throw _0x2513ba;}function ut(_0x5183d4){if((_0x2c1b85=_0x5183d4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2c1b85['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2c1b85['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2c1b85;throw _0x5183d4;}function _(_0x4a7900){return{'threadId':_0x4a7900['commentThreadId'],'commentId':_0x4a7900['commentId'],'content':_0x4a7900['content'],'createdAt':_0x4a7900['createdAt'],'authorId':_0x4a7900['userId'],'attributes':_0x4a7900['attributes']||{}};}class f extends _0xdcbc50{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x39e4ec){super(_0x39e4ec);const _0x11cd5b=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x11cd5b);}['init'](){const _0x462989=this['editor']['plugins']['get'](c),_0x2ca589=this['editor']['plugins']['get']('TrackChangesEditing');return _0x2ca589['adapter']={'getSuggestion':async _0x31f5db=>{await this['_waitForServiceReady']();const _0x305056=await this['_trackChangesService']['get'](_0x31f5db)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x305056]),_0x305056;},'addSuggestion':async({id:_0x519acd,type:_0x1204e3,data:_0xb907b1,originalSuggestionId:_0x517721,attributes:_0x456165})=>{await this['_waitForServiceReady']();const _0xf2a66b={'id':_0x519acd,'type':_0x1204e3,'data':_0xb907b1,'originalSuggestionId':_0x517721,'attributes':_0x456165},_0x4fc642=await this['_trackChangesService']['add'](_0x519acd,_0x1204e3,_0xb907b1,_0x517721,_0x456165)['catch'](_0x2f41cf=>{if(ft(_0x2f41cf))return new Promise(_0x4287e3=>{this['_bufferedRequests']['set'](_0x519acd,{'resolve':_0x4287e3,'suggestionData':_0xf2a66b});});throw _0x2f41cf;});return this['_bufferedRequests']['delete'](_0x519acd),_0x4fc642;},'updateSuggestion':async(_0x59bb8d,_0x58fd22)=>{if(await this['_waitForServiceReady'](),'open'!==_0x58fd22['state'])return this['_trackChangesService']['update'](_0x59bb8d,_0x58fd22)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xf81890,_0x4c7aaf)=>{_0x2ca589['hasSuggestion'](_0x4c7aaf['id'])&&(_0x2ca589['getSuggestion'](_0x4c7aaf['id'])['attributes']=_0x4c7aaf['attributes']);}),this['_trackChangesService']['connect'](_0x462989['connection'])['then'](_0x5f1976=>(_0x462989['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5f1976)['then'](()=>{for(const _0x156d4b of _0x5f1976){_0x2ca589['addSuggestionData'](_0x156d4b)['_saved']=!0x0;}})));}async['reconnect'](){const _0x319808=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x34017f}=this['editor']['plugins']['get'](c),_0x2c2c25=await this['_trackChangesService']['connect'](_0x34017f);await this['_fetchMissingUsersForThreads'](_0x2c2c25);for(const {suggestionData:_0x1e9275,resolve:_0x4e1c2c}of this['_bufferedRequests']['values']()){let _0x3d61aa=_0x2c2c25['find'](_0x36d468=>_0x36d468['id']===_0x1e9275['id']);_0x3d61aa||(_0x3d61aa=await this['_trackChangesService']['add'](_0x1e9275['id'],_0x1e9275['type'],_0x1e9275['data'],_0x1e9275['originalSuggestionId'])),_0x4e1c2c(_0x3d61aa);}for(const _0x6a0f88 of _0x2c2c25)_0x319808['hasSuggestion'](_0x6a0f88['id'])||_0x319808['addSuggestionData'](_0x6a0f88);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4807aa=>{this['listenTo'](this['_trackChangesService'],'connected',_0x74bf41=>{_0x74bf41['off'](),_0x4807aa();});});}async['_fetchMissingUsersForThreads'](_0x45eb53){const _0x208b40=this['editor']['plugins']['get'](_0x2aaab9),{connection:_0x5d8b7b}=this['editor']['plugins']['get'](c),_0x2c2a3c=new Set();for(const {authorId:_0x11486d}of _0x45eb53)_0x208b40['getUser'](_0x11486d)||_0x2c2a3c['add'](_0x11486d);if(0x0===_0x2c2a3c['size'])return;const _0x44d95d=await dt['getMany'](_0x5d8b7b,Array['from'](_0x2c2a3c));for(const _0x482b14 of _0x44d95d)_0x208b40['getUser'](_0x482b14['id'])||_0x208b40['addUser'](_0x482b14);}}function R(_0x416e78){if(ft(_0x416e78))return new Promise(()=>{});throw _0x416e78;}function ft(_0x5d1ee6){return _0x5d1ee6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5d1ee6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0xdcbc50{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3b1d36=this['editor']['plugins']['get'](c),_0x2bc9ca=this['editor']['plugins']['get']('CommentsEditing'),_0x3858dd=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3b1d36,'change:state',(_0x47d1b8,_0xc6511b,_0x49c132)=>{_0x2bc9ca['isThreadsLoadingPaused']='connected'!==_0x49c132;});}),this['listenTo'](_0x3b1d36,'change:state',(_0x19b98e,_0x3147cf,_0x73fbd2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x73fbd2);}),_0x3858dd['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0xdcbc50{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0xdcbc50{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x2aaab9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x64232e){super(_0x64232e);const _0x2629db=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x2629db);}async['init'](){const _0xc85d8d=this['editor']['plugins']['get'](l),_0x563ce0=_0xc85d8d['serverHistory'],_0x4d0b21=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x563ce0,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xc85d8d['sessionId']});const _0x45e40c=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x181637=await tt['isBundleUploaded'](_0x4d0b21['connection'],_0x45e40c);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x1204ed})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1204ed)),'updateRevisions':async _0x5734ed=>{await this['_waitForServiceReady']();const _0x3c136b=this['_revisionTracker']['currentRevision'];if(_0x181637&&0x1===_0x5734ed['length']&&_0x5734ed[0x0]['id']===_0x3c136b['id'])return _0x5734ed;for(const _0xf58391 of _0x5734ed)_0xf58391['id']===_0x3c136b['id']&&(_0xf58391['isEmptyCurrent']=_0xf58391['fromVersion']===_0xf58391['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5734ed,this['_lastRequestId'])['then'](_0x733141=>(this['_lastRequestId']=_0x733141,_0x5734ed))['catch'](_0x4bc883=>{if(st(_0x4bc883)||'400'===_0x4bc883['code']&&void 0x0!==_0x4bc883['data']['wrongRequestId']){for(const _0x5ca906 of _0x5734ed){!this['_revisionTracker']['repository']['getRevision'](_0x5ca906['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5ca906['id'],_0x5ca906,!0x1);}if(st(_0x4bc883))throw _0x4bc883;return _0x5734ed;}throw _0x4bc883;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4b75c4,{revisionsData:_0x2dc1c4,requestId:_0x561b7d})=>{Math['max'](..._0x2dc1c4['map'](_0x4de17f=>_0x4de17f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2dc1c4,_0x561b7d);}):this['_handleRevisionsUpdate'](_0x2dc1c4,_0x561b7d);});const {revisions:_0x294a42,requestId:_0x5e7c39}=await this['_revisionHistoryService']['connect'](_0x4d0b21['connection']);_0x4d0b21['addToReconnectionStack'](this),this['_lastRequestId']=_0x5e7c39,await this['_fetchMissingUsers'](_0x294a42);for(const _0x2751b0 of _0x294a42)this['_revisionTracker']['addRevisionData'](_0x2751b0);this['listenTo'](_0xc85d8d,'change:_isConnected',(_0x4c99a7,_0x39622f,_0x4160d5)=>{_0x4160d5&&(this['_oldOffset']=_0xc85d8d['_offset'],_0x4c99a7['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4d0b21,'state',_0x45b2d4=>_0x45b2d4===_0x312285['CONNECTED']);}async['reconnect'](){const _0x55cc5d=this['editor']['plugins']['get'](c),_0x3b775a=this['editor']['plugins']['get'](l),_0x5541ec=async()=>{const _0xa91d08=this['_revisionTracker']['currentRevision'],_0x5b6b65=_0xa91d08['id'],_0x2a76cc=_0x5b6b65!==_0x3b775a['sessionId'];if(_0x2a76cc){const _0x1855de=_0x3b775a['_offset']-this['_oldOffset'],_0x25d2b3=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xa91d08['toVersion']+_0x1855de!==_0x25d2b3){const _0x113017=_0xa91d08['fromVersion']+_0x1855de,_0x5e1a06=this['editor']['plugins']['get'](_0x2aaab9),_0x47a63d=this['_revisionTracker']['buildRevisionData']({'revision':_0xa91d08,'from':_0x113017,'to':_0x25d2b3});_0x47a63d['id']=_0xa91d08['id'];const _0xa26992=_0x47a63d['authorsIds']['map'](_0x36ce40=>_0x5e1a06['getUser'](_0x36ce40));_0xa91d08['_update']({..._0x47a63d,'authors':_0xa26992},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xa91d08['id'],_0x47a63d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x25d2b3,(_0xa91d08['toVersion']===_0xa91d08['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5b6b65)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5b6b65),this['_revisionTracker']['_createCurrentRevision'](_0x25d2b3));}const {revisions:_0x4c1421,requestId:_0x3d2573}=await this['_revisionHistoryService']['reconnect'](_0x55cc5d['connection'],this['_lastRequestId']);_0x2a76cc&&_0x4c1421['length']>0x0?_0x3b775a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4c1421),this['_handleRevisionsUpdate'](_0x4c1421,_0x3d2573),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3b775a['_isConnected']?_0x5541ec():new Promise((_0xfecb1,_0x252a5b)=>{_0x3b775a['once']('change:_isConnected',()=>{_0x5541ec()['then'](_0xfecb1)['catch'](_0x252a5b);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4fc11a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x53fdfc=>{_0x53fdfc['off'](),_0x4fc11a();});});}['_getLatestVersionFromServerOperations'](){const _0x482b7f=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x50a3c1 of _0x482b7f)if('marker'!==_0x50a3c1['type']||_0x50a3c1['affectsData'])return _0x50a3c1['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5312b2=this['editor']['plugins']['get'](l);return new Promise(_0x49934a=>{_0x5312b2['_isPendingUpdate']?_0x5312b2['once']('change:_isPendingUpdate',()=>{_0x49934a(this['_getLatestVersionFromServerOperations']());}):_0x49934a(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x264b73,_0x361629){const _0x2198e4=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x361629;for(const _0x4a3f04 of _0x264b73){const _0x1d113b=_0x2198e4['getRevision'](_0x4a3f04['id']);if(_0x1d113b){if((_0x4a3f04['fromVersion']||_0x4a3f04['toVersion'])&&(_0x4a3f04['diffData']=null),_0x1d113b===this['_revisionTracker']['currentRevision']){const _0x58a3cf=Math['max'](_0x1d113b['toVersion'],_0x4a3f04['toVersion']),_0xd7e03e=Math['max'](_0x1d113b['fromVersion'],_0x4a3f04['fromVersion']);let _0x16a0e6;_0x1d113b['toVersion']===_0x4a3f04['toVersion']&&_0x1d113b['fromVersion']===_0x4a3f04['fromVersion']?(_0x16a0e6=!0x0,this['_preventResendingRevisionData'](_0x4a3f04)):_0x4a3f04['toVersion']===_0x58a3cf&&_0x4a3f04['fromVersion']===_0xd7e03e?_0x16a0e6=!0x1:(_0x1d113b['toVersion']===_0x58a3cf&&_0x1d113b['fromVersion']===_0xd7e03e||this['_fixRevision']({'revision':_0x1d113b,'from':_0xd7e03e,'to':_0x58a3cf}),_0x16a0e6=!0x0),_0x16a0e6&&(delete _0x4a3f04['fromVersion'],delete _0x4a3f04['toVersion'],delete _0x4a3f04['diffData'],delete _0x4a3f04['createdAt'],delete _0x4a3f04['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4a3f04),this['_preventResendingRevisionData'](_0x4a3f04);}else this['_revisionTracker']['addRevisionData'](_0x4a3f04);}const _0x1ce79f=_0x2198e4['getRevisions']();_0x1ce79f['reverse']();for(let _0xdf97ad=0x0;_0xdf97ad<_0x1ce79f['length']-0x1;_0xdf97ad++){const _0x4a669b=_0x1ce79f[_0xdf97ad],_0x217ae9=_0x1ce79f[_0xdf97ad+0x1];if(_0x4a669b['fromVersion']<_0x217ae9['toVersion']){const _0x36e7f3=_0x217ae9['toVersion'],_0x40fe12=Math['max'](_0x36e7f3,_0x4a669b['toVersion']);this['_fixRevision']({'revision':_0x4a669b,'from':_0x36e7f3,'to':_0x40fe12});}}}['_fixRevision']({revision:_0x5db21d,from:_0x1d3f27,to:_0xf0b379}={}){const _0x19eab9=this['editor']['plugins']['get'](_0x2aaab9),_0x152c55=this['_revisionTracker']['buildRevisionData']({'revision':_0x5db21d,'from':_0x1d3f27,'to':_0xf0b379});_0x152c55['authors']=_0x152c55['authorsIds']['map'](_0x23da0b=>_0x19eab9['getUser'](_0x23da0b)),_0x5db21d['_update'](_0x152c55);}['_preventResendingRevisionData'](_0x66d570){const _0x5498fe={};_0x5498fe['id']=_0x66d570['id'];for(const _0x154b37 of Object['keys'](_0x66d570))'id'!==_0x154b37&&(_0x5498fe[_0x154b37]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5498fe['id'],_0x5498fe,!0x0);}async['_fetchMissingUsers'](_0x2387e2){const _0x5c4807=this['editor']['plugins']['get'](_0x2aaab9),{connection:_0x3ef64d}=this['editor']['plugins']['get'](c),_0x42b1df=new Set();for(const _0x49f416 of _0x2387e2){for(const _0x465f44 of _0x49f416['authorsIds'])_0x5b4edd(_0x465f44);_0x49f416['creatorId']&&_0x5b4edd(_0x49f416['creatorId']);}if(0x0===_0x42b1df['size'])return;const _0x5b44e8=await dt['getMany'](_0x3ef64d,Array['from'](_0x42b1df));for(const _0x3a63ad of _0x5b44e8)_0x5c4807['getUser'](_0x3a63ad['id'])||_0x5c4807['addUser'](_0x3a63ad);function _0x5b4edd(_0x88e32f){_0x5c4807['getUser'](_0x88e32f)||_0x42b1df['add'](_0x88e32f);}}}function st(_0x4aa927){return _0x4aa927['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4aa927['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4aa927['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0xdcbc50{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x2e989d{['_collapseAt'];constructor(_0x365a26,_0x3525c1=0x6){super(_0x365a26);const _0x536e5c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3525c1,this['bind']('isHidden')['to'](this,'usersCount',_0x35297e=>_0x35297e<_0x3525c1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x536e5c['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x536e5c['to']('usersCount',_0x4bcfed=>'+'+(_0x4bcfed-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x2e989d{['items'];['keystrokes'];constructor(_0x35ab4d){super(_0x35ab4d);const _0x76cf8b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x404036(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x76cf8b['if']('hasPopup'),'aria-expanded':_0x76cf8b['to']('isExpanded',_0x3ba6ce=>this['hasPopup']&&String(_0x3ba6ce)),'aria-label':_0x76cf8b['to']('hasPopup',_0x749496=>G(_0x35ab4d,_0x749496?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x76cf8b['to']('hasPopup',_0x32d8f7=>!!_0x32d8f7&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x76cf8b['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x76cf8b['to'](_0x59bc99=>{const _0x1ef8c9=_0x59bc99,_0x887bdf=document['querySelector']('.ck-presence-list__dropdown-list'),_0x895301=document['querySelector']('.ck-balloon-panel_with-arrow');_0x887bdf?.['contains'](_0x1ef8c9['relatedTarget'])||_0x895301?.['contains'](_0x1ef8c9['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x10e1b5,_0x552375,_0x48517d)=>{this['element']&&(_0x48517d?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class j extends _0x2e989d{['counterView'];['inlineListView'];constructor(_0x1b8ac1,_0x3e0517=0x6){super(_0x1b8ac1);const _0x3610f2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x3e0517),this['inlineListView']=new ts(_0x1b8ac1),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x57a820 of this['inlineListView']['items'])_0x57a820['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x3610f2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x2e989d{['listWrapperView'];constructor(_0x1241ef,_0x338d81){super(_0x1241ef);const _0x11b294=this['bindTemplate'];this['listWrapperView']=new mt(_0x1241ef,_0x338d81),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0x1241ef,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x11b294['to'](_0xaee2e8=>{const _0x2d966f=_0xaee2e8,_0x4f165f=document['querySelector']('.ck-presence-list__list'),_0x2c1565=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4f165f?.['contains'](_0x2d966f['relatedTarget'])||_0x2c1565?.['contains'](_0x2d966f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x54e28b{constructor(_0x55d925,_0x34c8cf){super(_0x55d925);const _0x20d615=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x34c8cf?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x20d615['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x20d615['to']('role'),'aria-label':_0x20d615['to']('ariaLabel'),'aria-labelledby':_0x20d615['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4366f0['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x115303=this['element'];_0x115303&&(this['_isScrollable']=Math['max'](_0x115303['scrollHeight'],_0x115303['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x2e0100,_0x120255,_0x2a855b){super(_0x2e0100);const _0x49023e=this['bindTemplate'];this['userView']=new ct(_0x2e0100,_0x120255);const _0x46308e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x120255['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x120255['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x120255['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2a855b&&(_0x46308e['tag']='button',_0x46308e['on']={'click':_0x49023e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x46308e);}['focus'](){this['element']['focus']();}}class y extends _0x2e989d{['userView'];['markerView'];constructor(_0x3109a3,_0x20b7d8,_0x6ae8be){super(_0x3109a3);const _0x38ebf4=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x3109a3,_0x20b7d8),this['markerView']=new at(_0x3109a3,_0x20b7d8);const _0x3ead27=new ot(_0x3109a3);_0x3ead27['template']['tag']='span',_0x3ead27['text']=_0x20b7d8['name'];const _0x1e80e1={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x38ebf4['to']('isFocusable',_0x2a4671=>!!_0x2a4671&&0x0),'aria-labelledby':_0x3ead27['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x38ebf4['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x38ebf4['to']('hasTooltip',_0x28082f=>!_0x28082f),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3ead27]};_0x6ae8be&&(_0x1e80e1['tag']='button',_0x1e80e1['on']={'click':_0x38ebf4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1e80e1);}}class at extends _0x2e989d{constructor(_0x3dcda4,_0x9fcaec){super(_0x3dcda4),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x9fcaec['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3f68a4{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x19a29d){super(_0x19a29d),this['context']['config']['define']('presenceList',C);const _0x12df01=_0x19a29d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x12df01)throw new _0x19d29c('presencelist-collapseat-invalid-format',this);if(_0x12df01<0x1)throw new _0x19d29c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x52ca00(),this['balloonPanelView']=new _0xcc0d89(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x5cfed2 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5cfed2);this['listenTo'](this['_allConnectedUsers'],'add',(_0x56d3a6,_0x47dfe1)=>{this['_handleUserAdd'](_0x47dfe1);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x59dbd4,_0x23f143)=>{this['_handleUserRemove'](_0x23f143);});}['_createView'](){const _0x16261d=this['context'],_0x4202fa=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x14d7bd=this['balloonPanelView'];if(!_0x2a9041(_0x16261d['config']['get']('presenceList.container')))throw new _0x19d29c('presencelist-missing-container',this);return _0x4202fa['counterView']['bind']('usersCount')['to'](this),_0x4202fa['bind']('isCollapsed')['to'](this,'usersCount',_0x5d8510=>{const {collapseAt:_0x305099}=_0x16261d['config']['get']('presenceList'),_0xef56f1=_0x5d8510>=_0x305099;if(_0xef56f1&&!_0x4202fa['inlineListView']['items']['find'](_0x4d44ec=>_0x4d44ec instanceof A)){const _0x42c424=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x42c424&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4202fa['inlineListView']['items']['add'](_0x4202fa['counterView']);}return _0xef56f1||this['hideDropdown'](),_0xef56f1;}),_0x4202fa['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2104d9=>{const _0x4d316b=_0x16261d['config']['get']('presenceList'),_0x4b451b=new y(_0x16261d['locale'],_0x2104d9,!!_0x4d316b['onClick']);return _0x4b451b['bind']('hasTooltip')['to'](_0x4202fa,'isCollapsed',_0x32167f=>!_0x32167f),_0x4b451b['bind']('isFocusable')['to'](_0x4202fa,'isCollapsed',_0x446efb=>!_0x446efb),_0x4d316b['onClick']&&this['listenTo'](_0x4b451b,'execute',()=>{this['view']['isCollapsed']||_0x4d316b['onClick'](_0x2104d9,_0x4b451b['element']);}),_0x4b451b;}),this['listenTo'](_0x4202fa['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4202fa['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4202fa['inlineListView']['keystrokes']['set']('Enter',(_0x9b662d,_0xf0edfb)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0xf0edfb());}),_0x4202fa['render'](),_0x14d7bd['render'](),_0x57da6e({'emitter':_0x4202fa,'activator':()=>_0x14d7bd['isVisible'],'contextElements':[_0x14d7bd['element'],_0x4202fa['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x16261d['config']['get']('presenceList.container')['appendChild'](_0x4202fa['element']),this['_bodyCollection']=new _0x202965(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4202fa;}['_handleUserAdd'](_0x10911b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x10911b['isMe'])return;const _0x3ccace=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3ccace-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2e3c91=_0x10911b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x10911b,_0x2e3c91);}['_handleUserRemove'](_0xfe4e63){this['usersCount']--;const {collapseAt:_0x353d15}=this['context']['config']['get']('presenceList'),_0x64d6e0=this['usersCount']>=_0x353d15;if(this['currentDisplayedUsers']['get'](_0xfe4e63['id']))this['currentDisplayedUsers']['remove'](_0xfe4e63['id']);else{if(_0x64d6e0&&this['currentDisplayedUsers']['length']+0x1===_0x353d15-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x64d6e0?0x1:0x0)<this['usersCount']){for(const _0x43b9de of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x43b9de['id'])&&(this['currentDisplayedUsers']['add'](_0x43b9de,Math['min'](this['currentDisplayedUsers']['length']-(_0x64d6e0?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x64d6e0?0x1:0x0)===_0x353d15-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xa19e41=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0xa19e41['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4c650e}=this['presenceDropdownView'];_0x4c650e['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x50fe43=>{if(!_0xa19e41['displayMe']&&_0x50fe43['isMe'])return null;const _0x5dfe54=new k(this['context']['locale'],_0x50fe43,!!_0xa19e41['onClick']);return _0xa19e41['onClick']&&this['listenTo'](_0x5dfe54,'execute',()=>{_0xa19e41['onClick'](_0x50fe43,_0x5dfe54['element']);}),_0x5dfe54;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4c650e['focus'](),_0x4c650e['checkIfScrollable']();const _0xed00dc=(_0x3c3727,_0x1e0c37)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1e0c37();};_0x4c650e['keystrokes']['set']('Esc',_0xed00dc),_0x4c650e['keystrokes']['set']('Shift+Tab',_0xed00dc),_0x4c650e['keystrokes']['set']('Tab',(_0x11a183,_0xca72a2)=>{!function(_0x33ba48){const _0x578417=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5206b3=>_0x5206b3+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x42433a=[...document['body']['querySelectorAll'](_0x578417)]['filter'](_0x3142ab=>_0x3142ab===document['activeElement']||_0x3142ab['offsetWidth']+_0x3142ab['offsetHeight']>0x0)['sort']((_0x473760,_0x4379bf)=>(_0x473760['tabIndex']||0x0)-(_0x4379bf['tabIndex']||0x0)),_0x393891=_0x42433a['indexOf'](_0x33ba48),_0x3471ed=_0x42433a[(_0x393891+0x1)%_0x42433a['length']];_0x3471ed&&_0x3471ed['focus']();}(this['view']['element']),this['hideDropdown'](),_0xca72a2();}),_0x4c650e['focusTracker']['add'](this['view']['element']),_0x4c650e['focusTracker']['on']('change:isFocused',(_0x3758f1,_0x55cce6,_0x3cbf80)=>{_0x3cbf80||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x3f68a4{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
23
+ import{ContextPlugin as _0x2da3ca,Plugin as _0x1b15fd,PendingActions as _0x1c0e1d,Context as _0x5dc29c}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x392d91,CKEditorError as _0x680b76,Collection as _0x49727e,global as _0x2ac657,version as nt,uid as _0x4f3ae8,KeystrokeHandler as _0x45631a}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x47532e,View as _0x5864bc,ListView as _0x22ebb3,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x2b47f8,clickOutsideHandler as _0x323cda,BodyCollection as _0x55c398}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x425790,NoOperation as _0x1b4ff2,InsertOperation as _0x2e9fe7,MarkerOperation as _0x4753c6,RootAttributeOperation as _0x22f281,transformSets as _0x4ba814,OperationFactory as _0x1f0bb1}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x202917,CollaborativeEditingService as _0x7eb39a,User as dt,CommentsService as _0x29043d,TrackChangesService as et,RevisionHistoryService as _0x32768c,EditorService as _0x429c32}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x209d74,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5b0779}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0xb76a19}from'es-toolkit/compat';class c extends _0x2da3ca{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x47532e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x447433){super(_0x447433),this['set']('state',_0x202917['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x392d91);}['init'](){const _0x2dc693=this['context'],_0x21aa94=_0x2dc693['plugins']['get']('CloudServices'),_0x15ef99=_0x2dc693['plugins']['get'](_0x47532e);if(!_0x21aa94['token'])throw new _0x680b76('websocketgateway-missing-token',this);if(!_0x21aa94['webSocketUrl'])throw new _0x680b76('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x21aa94['token'],_0x21aa94['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2d544f=>{if(this['connection']=_0x2d544f,this['bind']('state')['to'](_0x2d544f,'state',this,'_isBrowserOffline',(_0x4932cc,_0x525fd6)=>('connected'!==_0x4932cc&&(this['_shouldPluginsReconnect']=!0x0),_0x525fd6||_0x4932cc!==_0x202917['CONNECTED']?_0x202917['DISCONNECTED']:this['state']==_0x202917['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x202917['CONNECTING']):_0x202917['CONNECTED'])),this['connection']['on']('error',(_0x44345f,_0x5bd2de)=>{if('limitExceeded'!==_0x5bd2de['code'])throw console['error'](_0x5bd2de),new _0x680b76('cloudservices-init',null,{'originalError':_0x5bd2de});_0x15ef99['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'});}),!_0x2d544f['me'])return new Promise(_0x1ebda9=>_0x2d544f['on']('change:me',_0x1ebda9));})['catch'](_0x4ed122=>{throw console['error'](_0x4ed122),new _0x680b76('cloudservices-init',null,{'originalError':_0x4ed122});});}['addToReconnectionStack'](_0x279b43){if('function'!=typeof _0x279b43['reconnect'])throw new _0x680b76('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x279b43))throw new _0x680b76('websocketgateway-plugin-already-registered',this,{'name':_0x279b43['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x279b43);}['removeFromReconnectionStack'](_0x20d52d){this['_reconnectionStack']['delete'](_0x20d52d);}['isInReconnectionStack'](_0x4a3291){return this['_reconnectionStack']['has'](_0x4a3291);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x49538b=>_0x49538b['reconnect']())))['then'](()=>this['state']=_0x202917['CONNECTED'])['catch'](_0x32e786=>{throw console['error'](_0x32e786),new _0x680b76('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x202917['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2da3ca{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x209d74];}constructor(_0x5f27ad){super(_0x5f27ad),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x49727e(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x209d74);}['init'](){const _0x4d8113=this['context']['plugins']['get'](c);this['listenTo'](_0x4d8113,'change:state',(_0x47b254,_0x520d65,_0x3dc94b)=>{if('connected'!==_0x3dc94b)this['channelSessions']['forEach'](_0x21af91=>_0x21af91['clear']()),this['channelConnectedUsers']['forEach'](_0x338f9e=>_0x338f9e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2902cc,_0x445d4b]of this['_registeredSessions'])for(const _0x35433f of _0x445d4b)this['_handleSessionAdd'](_0x2902cc,_0x35433f);}}),this['_createUser'](_0x4d8113['connection']['me'],!0x0);}['register'](_0x36a7c0,_0x30e906){if(this['_registeredSessions']['has'](_0x36a7c0))throw new _0x680b76('sessions-register-already-registered',null,{'channelId':_0x36a7c0});this['_registeredSessions']['set'](_0x36a7c0,_0x30e906),this['channelSessions']['set'](_0x36a7c0,new _0x49727e()),this['channelConnectedUsers']['set'](_0x36a7c0,new _0x49727e()),this['listenTo'](_0x30e906,'add',(_0x288f11,_0x106585)=>this['_handleSessionAdd'](_0x36a7c0,_0x106585)),this['listenTo'](_0x30e906,'remove',(_0x4b3269,_0x20d661)=>this['_handleSessionRemove'](_0x36a7c0,_0x20d661));for(const _0x15c5d9 of _0x30e906)this['_handleSessionAdd'](_0x36a7c0,_0x15c5d9);}['unregister'](_0x45f00c){if(!this['_registeredSessions']['has'](_0x45f00c))throw new _0x680b76('sessions-unregister-not-exist',null,{'channelId':_0x45f00c});const _0x2c5ac6=this['_registeredSessions']['get'](_0x45f00c);this['stopListening'](_0x2c5ac6);for(const _0xf16095 of _0x2c5ac6)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x45f00c,_0xf16095);this['_registeredSessions']['delete'](_0x45f00c),this['channelSessions']['delete'](_0x45f00c),this['channelConnectedUsers']['delete'](_0x45f00c);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x32568a){for(const _0xe3f0fa of this['channelSessions']['values']())for(const _0x450757 of _0xe3f0fa)if(_0x450757['id']===_0x32568a)return _0x450757['user'];}['getUserSessions'](_0x356b04,_0x4e1218){const _0x1d07cb=_0x4e1218?[this['channelSessions']['get'](_0x4e1218)]:this['channelSessions']['values'](),_0x15700b=new Set();for(const _0x571ff4 of _0x1d07cb)for(const _0x405b0f of _0x571ff4)_0x405b0f['user']['id']===_0x356b04['id']&&_0x15700b['add'](_0x405b0f['id']);return _0x15700b;}['getUserRole'](_0x2a1bdb){for(const _0xcb3bd6 of this['channelSessions']['values']())for(const _0x1aab1a of _0xcb3bd6)if(_0x1aab1a['user']===_0x2a1bdb)return _0x1aab1a['role'];}['_handleSessionAdd'](_0x3a799c,_0x285986){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x4c4dbd=_0x285986['user'],_0x38b441=this['_users']['getUser'](_0x4c4dbd['id'])||this['_createUser'](_0x4c4dbd),_0x458292=Object['assign']({},_0x285986,{'user':_0x38b441});this['channelSessions']['get'](_0x3a799c)['add'](_0x458292);const _0x117fd3=this['channelConnectedUsers']['get'](_0x3a799c);_0x117fd3['has'](_0x38b441['id'])||_0x117fd3['add'](_0x38b441),this['allConnectedUsers']['has'](_0x38b441['id'])||this['allConnectedUsers']['add'](_0x38b441,_0x38b441['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3a799c,{'channelId':_0x3a799c,'session':_0x458292});}['_handleSessionRemove'](_0x31728b,_0x57d304){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x27bd9a=this['channelConnectedUsers']['get'](_0x31728b),_0x4ea75f=_0x57d304['user'];_0x4ea75f['id']&&(this['channelSessions']['get'](_0x31728b)['remove'](_0x57d304['id']),_0x27bd9a['has'](_0x4ea75f['id'])&&!this['getUserSessions'](_0x4ea75f,_0x31728b)['size']&&_0x27bd9a['remove'](_0x4ea75f['id']),this['allConnectedUsers']['get'](_0x4ea75f['id'])&&!this['getUserSessions'](_0x4ea75f)['size']&&this['allConnectedUsers']['remove'](_0x4ea75f['id']));}['_createUser'](_0x9e06db,_0x4699ba){const _0x60b952=this['_users']['addUser'](_0x9e06db);return _0x4699ba&&this['_users']['defineMe'](_0x9e06db['id']),_0x60b952['orderNumber']=this['_uniqueUsersCount']++,_0x60b952;}}class J extends _0x1b15fd{['_domEmitter']=new(_0x392d91())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xfb6231=this['editor'],_0x932aaf=_0xfb6231['plugins']['get'](i);_0xfb6231['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x280145,{writer:_0x561c7e})=>function(_0x5ad390,_0xe1b261,_0x1a102a,_0x1381f0){const _0x5eabd1=_0x5ad390['markerName']['split'](':')[0x2],_0x5c232c=_0x1a102a['getUserBySessionId'](_0x5eabd1);if(!_0x5c232c||_0x5eabd1===_0x1a102a['mySessionId'])return;if(!_0x1381f0['model']['schema']['checkChild'](_0x5ad390['markerRange']['start'],'$text'))return;const _0x9a972a={'class':'ck-user__marker\x20'+_0x5c232c['color']['getMarkerClass'](),'data-name':_0x5c232c['name'],'data-session-id':_0x5eabd1},_0x847087=_0x1381f0['model']['markers']['get'](_0x5ad390['markerName']),_0x11c4f2=_0x847087['getStart'](),_0x117342=_0x11c4f2['nodeAfter'],_0x270c96=_0x1381f0['model']['schema'];if(_0x117342&&_0x270c96['isObject'](_0x117342)&&_0x270c96['isInline'](_0x117342)&&!_0x1381f0['model']['markers']['get']('user:range:'+_0x5eabd1)['getRange']()['isCollapsed'])return;const _0x29d53b=_0x11c4f2['parent'];return _0x1381f0['model']['schema']['isLimit'](_0x29d53b)&&!_0x1381f0['model']['hasContent'](_0x29d53b)&&(_0x9a972a['contenteditable']=!0x1),function(_0x1093a7,_0x78afa8,_0x290463){const _0x161c6=_0x1093a7['createUIElement']('span',_0x78afa8);return _0x1093a7['setCustomProperty']('userPositionMarker',!0x0,_0x161c6),_0x161c6['render']=function(_0x4f4424){const _0x27c746=this['toDomElement'](_0x4f4424),_0x372676=document['createElement']('span');return _0x372676['classList']['add']('ck-user__marker-tooltip'),_0x372676['setAttribute']('contenteditable','false'),_0x372676['setAttribute']('spellcheck','false'),_0x372676['textContent']=_0x290463['name'],_0x27c746['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x372676['outerHTML']+'⁠',_0x27c746['addEventListener']('mouseenter',()=>{_0x27c746['classList']['add']('ck-user__marker_hovered');}),_0x27c746['addEventListener']('mouseleave',()=>{_0x27c746['classList']['remove']('ck-user__marker_hovered');}),_0x27c746;},_0x161c6['isSimilar']=function(_0x28a5b7){return!(!this['getCustomProperty']('userPositionMarker')||!_0x28a5b7['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x28a5b7['getAttribute']('data-session-id'));},_0x161c6;}(_0xe1b261,_0x9a972a,_0x5c232c);}(_0x280145,_0x561c7e,_0x932aaf,_0xfb6231)}),_0xfb6231['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4537f3=>function(_0x3326da,_0x2ea5a5){const _0x3fb5cf=_0x3326da['markerName']['split'](':')[0x2];if(_0x3fb5cf===_0x2ea5a5['mySessionId'])return null;const _0x502466=_0x2ea5a5['getUserBySessionId'](_0x3fb5cf);if(!_0x502466)return{'id':_0x3fb5cf,'classes':[]};return{'id':_0x3fb5cf,'classes':['ck-user__selection',_0x502466['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x3fb5cf},'priority':0x7d0+_0x502466['orderNumber']};}(_0x4537f3,_0x932aaf)}),function(_0x319736){const _0x327c1c=_0x319736['model'],_0xc47846=new Map(),_0x4d072d=_0x319736['plugins']['get'](i);_0x327c1c['markers']['on']('update:user:range',(_0x28dcb7,_0x6388bb,_0x5bdfae,_0x3142c6)=>{if(!_0x3142c6&&_0xc47846['get'](_0x6388bb['name']))return _0xc47846['get'](_0x6388bb['name'])['detach'](),void _0xc47846['delete'](_0x6388bb['name']);const _0x5478cd=_0x6388bb['name']['split'](':')[0x2];if(_0x5478cd===_0x4d072d['mySessionId'])return;const _0x157881='user:position:'+_0x5478cd;_0x327c1c['markers']['has'](_0x157881)&&_0x319736['editing']['reconvertMarker'](_0x157881),_0x6388bb['on']('change:range',(_0x1e160c,_0xf78f46,_0x1e5136)=>{if('$graveyard'!=_0xf78f46['root']['rootName']&&'$graveyard'==_0x6388bb['getRange']()['root']['rootName']&&!_0xc47846['has'](_0x6388bb['name'])){const _0x58ae5d=_0x327c1c['schema']['getNearestSelectionRange'](_0x1e5136['deletionPosition']);if(_0x58ae5d){const _0x45f374=ht['fromRange'](_0x58ae5d);_0xc47846['set'](_0x6388bb['name'],_0x45f374),_0x45f374['on']('change:range',(_0x3e0019,_0x5e5faa,_0xd826ba)=>{if('$graveyard'==_0x45f374['root']['rootName']){const _0x42d626=_0x327c1c['schema']['getNearestSelectionRange'](_0xd826ba['deletionPosition']);_0x42d626?(_0x45f374['start']=_0x42d626['start'],_0x45f374['end']=_0x42d626['end']):(_0xc47846['delete'](_0x6388bb['name']),_0x45f374['detach']());}});}}});}),_0x327c1c['document']['on']('change',()=>{_0xc47846['size']>0x0&&_0x327c1c['enqueueChange']({'isUndoable':!0x1},_0xb25f9b=>{for(const [_0x160ff5,_0x508e8c]of _0xc47846)'$graveyard'==_0x327c1c['markers']['get'](_0x160ff5)['getRange']()['root']['rootName']&&(se(_0x160ff5['split'](':')[0x2],_0x508e8c['toRange'](),_0x327c1c,_0xb25f9b),_0x508e8c['detach']());_0xc47846['clear']();});});}(_0xfb6231),this['_domEmitter']['listenTo'](_0x2ac657['document'],'keydown',(_0x2c4af2,{key:_0x5e3b5a})=>{'Escape'===_0x5e3b5a&&function(_0xea9503){_0xea9503['editing']['view']['change'](_0x467150=>{for(const _0x484a21 of _0xea9503['model']['markers']){if(!_0x484a21['name']['startsWith']('user:position'))continue;const _0x87570d=_0xea9503['editing']['mapper']['markerNameToElements'](_0x484a21['name']);if(_0x87570d){for(const _0x58356d of _0x87570d)_0x467150['removeClass']('ck-user__marker_hovered',_0x58356d);}}});}(_0xfb6231);},{'useCapture':!0x0});}['afterInit'](){const _0x74d15e=this['editor'],_0x497a5b=_0x74d15e['commands']['get']('undo');_0x497a5b&&_0x74d15e['model']['on']('applyOperation',(_0x23ef00,_0x5bedb1)=>{const _0x3992e0=_0x5bedb1[0x0];if(!_0x3992e0['isDocumentOperation'])return;if('marker'!=_0x3992e0['type']||!_0x3992e0['name']['startsWith']('user:'))return;const _0x4c92b4=_0x3992e0['batch'];_0x497a5b['_createdBatches']['has'](_0x4c92b4)&&(_0x3992e0['newRange']=_0x3992e0['oldRange']?_0x74d15e['model']['createRange'](_0x3992e0['oldRange']['start'],_0x3992e0['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xfde81b=this['editor'],_0x861bb7=_0xfde81b['model']['document'],_0x54b9ef=_0xfde81b['plugins']['get'](i);_0xfde81b['model']['enqueueChange']({'isUndoable':!0x1},_0x37dc7a=>{const _0x18a2e3='user:range:'+_0x54b9ef['mySessionId'],_0x5906b2='user:position:'+_0x54b9ef['mySessionId'],_0x1b304d=_0xfde81b['model']['markers']['has'](_0x18a2e3);_0xfde81b['editing']['view']['hasDomSelection']?se(_0x54b9ef['mySessionId'],_0x861bb7['selection']['getFirstRange'](),_0xfde81b['model'],_0x37dc7a):_0x1b304d&&(_0x37dc7a['removeMarker'](_0x18a2e3),_0x37dc7a['removeMarker'](_0x5906b2));});}}function se(_0x4d1151,_0x132602,_0x50d0f9,_0x49911c){const _0x37f220='user:range:'+_0x4d1151,_0x317184='user:position:'+_0x4d1151,_0x2db88e=_0x132602['getContainedElement']();let _0x42f9e8=_0x132602['start'];if(_0x2db88e&&_0x2db88e['is']('element','tableCell')){const _0x6ce9c0=function(_0x472382,_0x5d400a){for(const _0x3c4419 of _0x472382['getPositions']())if(_0x5d400a['schema']['checkChild'](_0x3c4419,'$text'))return _0x3c4419;}(_0x132602,_0x50d0f9);_0x6ce9c0&&(_0x42f9e8=_0x6ce9c0,_0x132602=_0x49911c['createRange'](_0x42f9e8));}const _0x41ec44=_0x49911c['createRange'](_0x42f9e8);_0x50d0f9['markers']['has'](_0x37f220)?(_0x49911c['updateMarker'](_0x37f220,{'range':_0x132602}),_0x49911c['updateMarker'](_0x317184,{'range':_0x41ec44})):(_0x49911c['addMarker'](_0x37f220,{'range':_0x132602,'usingOperation':!0x0}),_0x49911c['addMarker'](_0x317184,{'range':_0x41ec44,'usingOperation':!0x0}));}function Q(_0x4b8076,_0x59c53b,_0x2caf32){const _0x5c52ff=_0x4b8076['t'],t=_0x4b8076['t'];switch(_0x59c53b){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 _0x5c52ff({'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'},_0x2caf32);default:return'';}}let Z=0x1;class l extends _0x1b15fd{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x7eb39a)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,J,_0x1c0e1d,_0x209d74,_0x47532e];}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 _0x5c04d1=this['serverHistory']['getOperations']();for(let _0x5e1258=_0x5c04d1['length']-0x1;_0x5e1258>=0x0;_0x5e1258--){const _0x69ef6b=_0x5c04d1[_0x5e1258];if(!this['_disconnectionOperations']['has'](_0x69ef6b))return _0x69ef6b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x336c70){if(super(_0x336c70),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x425790(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x680b76('collaboration-missing-channelid',this);const _0x40d024=_0x336c70['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x40d024,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5b0779(),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 st(this['_disconnectionOperations']);}['init'](){const _0x503aaa=this['editor'],_0x314102=_0x503aaa['plugins']['get'](_0x209d74),_0x30898a=_0x503aaa['plugins']['get'](c);this['listenTo'](_0x314102,'getOperationAuthor',(_0x5226a8,_0x22a719)=>{const _0x1cb25f=_0x22a719[0x0];_0x1cb25f['_authorId']&&(_0x5226a8['return']=_0x314102['getUser'](_0x1cb25f['_authorId']),_0x5226a8['stop']()),null===_0x1cb25f['_authorId']&&(_0x5226a8['return']=null,_0x5226a8['stop']());},{'priority':'high'}),this['listenTo'](_0x503aaa['model']['document']['selection'],'change:range',(_0x9e770d,_0x3b7fc5)=>{_0x3b7fc5['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x503aaa['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x503aaa['model']['on']('applyOperation',(_0x295eaf,_0x177ff6)=>{const _0x27ff64=_0x177ff6[0x0];_0x27ff64['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x27ff64),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x30898a,'state',this,'_hasSynchronizationProblem',(_0x42ac2c,_0x5b5595)=>'connected'===_0x42ac2c&&!_0x5b5595),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x503aaa['disableReadOnlyMode']('rtc-offline'):_0x503aaa['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x503aaa['disableReadOnlyMode']('rtc-offline'):_0x503aaa['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1aae5d=this['editor']['plugins']['get'](i),_0x363493=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x1aae5d['unregister'](this['_channelId']);const _0x59be61=await this['_service']['reconnect'](_0x363493['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x59be61)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4c3479=await this['_service']['getConnectedSessions']();_0x1aae5d['register'](this['_channelId'],_0x4c3479),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x17bf98){if(function(_0x1c0f8c){return'404'===_0x1c0f8c['code'];}(_0x17bf98)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x3fdd96){return'409'===_0x3fdd96['code'];}(_0x17bf98)){const _0x15224a=Q(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'](_0x15224a);}else{if(!(_0x17bf98 instanceof tt))throw _0x17bf98;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4836d8=this['editor']['plugins']['get'](c),_0x2c4c6f=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2c4c6f['channelSessions']['has'](this['_channelId'])&&_0x2c4c6f['unregister'](this['_channelId']),_0x4836d8['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x168587){if(this['sessionId']!==_0x168587['sessionId']&&this['_lastSyncedOperationId']!==_0x168587['lastOperationId'])throw new tt();return this['sessionId']=_0x168587['sessionId'],this['_handleServerResponse']([],{..._0x168587,'wereChangesApplied':!0x1,'data':_0x168587['data']},'reconnect');}async['_connectService'](_0x48890a,_0x57eb1b=!0x1){const {connection:_0x522daf}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x522daf,this['_channelId'])['then'](_0x4c6e7e=>this['_initSessionsHandling'](_0x4c6e7e))['catch'](_0x1fec2c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1fec2c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1ed0fd,_0x1cc8c3)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1cc8c3);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x38d618=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x48890a);this['_isPendingUpdate']=!0x0;const _0x382870=await this['_service']['connect'](_0x522daf,this['_compressOperations'](_0x48890a),_0x38d618);if(this['sessionId']=_0x382870['sessionId'],_0x57eb1b){if(!_0x382870['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x382870['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x48890a,_0x382870,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x382870,_0x48890a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x404f9e=this['editor']['plugins']['get'](i),_0x5cfb3e=this['editor']['plugins']['get'](J),_0x37eec7=_0x404f9e['channelSessions']['get'](this['_channelId']);_0x37eec7&&_0x37eec7['length']>0x1?_0x5cfb3e['createUserMarkerOperations']():this['listenTo'](_0x404f9e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x404f9e['channelSessions']['get'](this['_channelId'])['length']&&_0x5cfb3e['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4e695a,_0x201148,_0x4bb72d,_0x3acea4){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x201148){const _0x3a0fb5=this['_decompressOperations'](_0x4bb72d,_0x3acea4);await this['_fetchMissingUsers'](_0x3a0fb5),this['_handleExternalOperations'](_0x3a0fb5,_0x201148,_0x4bb72d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x54227d}=this['editor'];let _0x1e4f1e;try{_0x1e4f1e=await this['_service']['getDocumentDetails']();}catch{const _0x3fa263=Q(_0x54227d,'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'](_0x3fa263);}const _0x2ea6d3=_0x1e4f1e['currentDocumentSession']||_0x1e4f1e['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2ea6d3['lastOperationId']){const _0x5854c2=Q(_0x54227d,'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'](_0x5854c2);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4bd20e){const _0xbb7e5c=this['editor']['plugins']['get'](i);this['listenTo'](_0xbb7e5c,'sessionAdd:'+this['_channelId'],(_0x246354,{session:_0x2853b7})=>{if(_0x2853b7['id']===_0xbb7e5c['mySessionId']){_0x246354['off']();const _0x184fe5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4b36e3=_0x2853b7['permissions'];_0x184fe5&&_0x184fe5['isEnabled']&&(_0x4b36e3=_0x4b36e3['filter'](_0x56b78c=>'document:write'!==_0x56b78c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4b36e3,this['_channelId']);}}),_0xbb7e5c['register'](this['_channelId'],_0x4bd20e);}['_initThrowingOnDataSet'](){const _0xa5cdd9=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x203c37)=>{if(!_0x203c37[_0x203c37['length']-0x1]['suppressErrorInCollaboration'])throw new _0x680b76('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xa5cdd9['apply'](this['editor']['data'],_0x203c37);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x57e533,[_0x5be5eb])=>{if(this['_document']['version'])throw new _0x680b76('realtimecollaborationclient-init-document-already-initialized',this);_0x57e533['stop'](),this['_setPendingAction']();const _0x35b1d0=this['editor']['config']['get']('rootsAttributes'),_0x570d35=this['_getOperationsFromInitData'](_0x5be5eb,_0x35b1d0);0x0==_0x570d35['length']&&_0x570d35['push'](new _0x1b4ff2(0x0)),_0x57e533['return']=this['_connectService'](_0x570d35)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2f0994=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2f0994))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x49d9de,[_0x47b3d2,_0x1be01f])=>{_0x49d9de['stop']();const _0x2d05e6=this['editor']['model']['document']['getRoot'](_0x47b3d2);if(!this['_knownRootNames']['has'](_0x47b3d2)){const _0x48fa69=_0x1be01f&&_0x1be01f['data']?_0x1be01f['data']:'',_0x3e4fc5=_0x1be01f&&_0x1be01f['attributes']?_0x1be01f['attributes']:{};await this['_loadRoot'](_0x47b3d2,_0x48fa69,_0x3e4fc5);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2d05e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2d05e6);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x354e95){const _0x6a33c5=this['editor']['plugins']['get'](_0x209d74),{connection:_0x812893}=this['editor']['plugins']['get'](c),_0x4bab1f=new Set();for(const _0x537c8b of _0x354e95){const _0x39b9f8=_0x537c8b['_authorId'];_0x39b9f8&&!_0x6a33c5['getUser'](_0x39b9f8)&&_0x4bab1f['add'](_0x39b9f8);}if(0x0===_0x4bab1f['size'])return;const _0x2cd163=await dt['getMany'](_0x812893,Array['from'](_0x4bab1f));for(const _0x26d92a of _0x2cd163)_0x6a33c5['getUser'](_0x26d92a['id'])||_0x6a33c5['addUser'](_0x26d92a);}['_getOperationsFromInitData'](_0x201e89,_0x3b5cbf={}){const _0x18eca5=this['editor']['model'],_0x1c0a63=[];let _0x3b2e0a=0x0;const _0x1cc824='string'==typeof _0x201e89?{'main':_0x201e89}:_0x201e89;for(const _0x164904 of Object['keys'](_0x1cc824)){if(!this['_document']['roots']['has'](_0x164904))throw new _0x680b76('realtimecollaborationclient-init-non-existent-root',this);const _0x30ab60=this['editor']['data']['parse'](_0x1cc824[_0x164904]),_0x3a5d7d=this['_document']['getRoot'](_0x164904),_0x29e54b=new _0x2e9fe7(_0x18eca5['createPositionAt'](_0x3a5d7d,0x0),_0x30ab60,_0x3b2e0a++);_0x1c0a63['push'](_0x29e54b);for(const [_0xa197e,_0x214f6f]of _0x30ab60['markers']){const _0x33cca3=_0x18eca5['createRange'](_0x18eca5['createPositionFromPath'](_0x3a5d7d,_0x214f6f['start']['path']['slice']()),_0x18eca5['createPositionFromPath'](_0x3a5d7d,_0x214f6f['end']['path']['slice']())),_0x333dae=new _0x4753c6(_0xa197e,null,_0x33cca3,_0x18eca5['markers'],!0x0,_0x3b2e0a++);_0x1c0a63['push'](_0x333dae);}}if(_0x3b5cbf)for(const [_0x405f1a,_0xda4120]of Object['entries'](_0x3b5cbf)){const _0x8bfd33=_0x18eca5['document']['getRoot'](_0x405f1a);if(!_0x8bfd33)throw new _0x680b76('multi-root-editor-root-attributes-no-root',null);for(const [_0x51d634,_0x174a6d]of Object['entries'](_0xda4120))if(null!==_0x174a6d){const _0x23ddea=new _0x22f281(_0x8bfd33,_0x51d634,null,_0x174a6d,_0x3b2e0a++);_0x1c0a63['push'](_0x23ddea);}}return _0x1c0a63;}async['_loadRoot'](_0x433050,_0x3109e4,_0x341003){this['_getOperationsFromInitData']({[_0x433050]:_0x3109e4},{[_0x433050]:_0x341003})['forEach']((_0x145b70,_0x212822)=>{_0x145b70['baseVersion']=this['_document']['version']+_0x212822,_0x145b70['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x145b70);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3d59cd,_0x5c90cc){let _0x42de0a;this['_offset']=_0x3d59cd['offset'];const _0x2771da=_0x3d59cd['wereChangesApplied']&&!_0x3d59cd['initData'],_0x51544e=_0x2771da?0x0:_0x3d59cd['data']['baseVersion'];if(_0x5c90cc['forEach'](_0x5af105=>{_0x5af105['_isInit']=!0x0,_0x5af105['createdAt']=_0x3d59cd['sessionCreatedAt'],_0x5af105['_authorId']=null;}),_0x2771da)_0x42de0a=_0x5c90cc,this['_applyOperationsSet'](_0x42de0a,_0x2771da);else{if(_0x3d59cd['initData']){const _0x4baf33=this['_getOperationsFromInitData'](_0x3d59cd['initData']);this['_document']['history']['version']=-_0x4baf33['length'],_0x4baf33['forEach'](_0x1844f4=>{_0x1844f4['baseVersion']-=_0x4baf33['length'],_0x1844f4['createdAt']=_0x3d59cd['sessionCreatedAt'],_0x1844f4['_isInit']=!0x0,_0x1844f4['_authorId']=null;}),this['_applyOperationsSet'](_0x4baf33,!0x0),this['serverHistory']['version']=-_0x4baf33['length']+this['_offset'],this['_updateServerHistory'](_0x4baf33);}this['_document']['history']['version']=_0x51544e,_0x42de0a=this['_decompressOperations'](_0x3d59cd['data'],_0x3d59cd['metadata']),await this['_fetchMissingUsers'](_0x42de0a),this['_applyOperationsSet'](_0x42de0a,_0x2771da);}_0x3d59cd['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x42de0a,_0x3d59cd['lastOperationId']),this['_lastSyncedOperationId']=_0x3d59cd['lastOperationId']),this['serverHistory']['version']=_0x51544e+this['_offset'],this['_updateServerHistory'](_0x42de0a),_0x5c90cc['filter'](_0x2deccf=>{const _0x47d064=this['_getAffectedRoot'](_0x2deccf);return _0x47d064&&!this['_knownRootNames']['has'](_0x47d064);})['forEach']((_0x3eb22a,_0x22dc88)=>{_0x3eb22a['baseVersion']=this['_document']['version']+_0x22dc88,this['_saveOperationInBuffer'](_0x3eb22a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x228c5b,_0x3efcc3){const _0x43c665=_0x3efcc3&&_0x3efcc3['message'];if(_0x43c665&&_0x43c665['startsWith']('realtimecollaborationclient'))throw _0x3efcc3;const _0x4d9af6=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x4d9af6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x680b76(_0x228c5b,this['editor'],_0x43c665?{'originalError':_0x43c665}:void 0x0);}['_saveOperationInBuffer'](_0x57af2c){this['_knownOperations']['has'](_0x57af2c)||(this['_knownOperations']['add'](_0x57af2c),this['_bufferedOperations']['push'](_0x57af2c),this['_pendingAction']||'marker'==_0x57af2c['type']&&!_0x57af2c['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3fffbf=!0x1){!_0x3fffbf&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x321bfa=>{_0x321bfa&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x28ee64=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3b3a92){return _0x3b3a92['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b3a92['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3b3a92['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x28ee64)||this['_crash'](_0x28ee64['message'],_0x28ee64);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x476d3c=>{this['on']('change:_isPendingUpdate',()=>{_0x476d3c();});});}async['_sendBufferedOperations'](){const _0x151206=this['editor']['plugins']['get'](J);if(this['_shouldSendSelectionUpdate']()&&(_0x151206['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x36b6d8=[...this['_bufferedOperations']];for(const _0x39ea45 of _0x36b6d8)_0x39ea45['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x39ea45);const _0x16d728=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x36b6d8),_0x4a63c8=Z++,_0x19b8f2=this['_compressOperations'](_0x36b6d8),_0x3cd1d8=await this['_service']['sendOperations'](_0x19b8f2,_0x19b8f2['baseVersion'],_0x16d728);try{return await this['_handleServerResponse'](_0x36b6d8,_0x3cd1d8,_0x4a63c8);}catch(_0x246584){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x246584);}}async['_handleServerResponse'](_0x34f225,_0x40900f,_0x83e0a7){if('error'in _0x40900f)throw _0x40900f['error'];let _0xc5ddb1=!0x1;if(_0x40900f['wereChangesApplied']){_0x40900f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x40900f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x134709=>!_0x34f225['includes'](_0x134709));for(const _0x1f9fae of _0x34f225)_0x1f9fae['createdAt']='lastOperationAcceptedAt'in _0x40900f&&_0x40900f['lastOperationAcceptedAt']||void 0x0;it(_0x34f225,_0x40900f['version']-_0x34f225['length']),this['_updateServerHistory'](_0x34f225);const _0x8e1b03=_0x34f225['filter'](_0x3504dd=>{if(!_0x3504dd['_isInit'])return!0x1;const _0x35fe89=this['_getAffectedRoot'](_0x3504dd);return _0x35fe89&&!this['_knownRootNames']['has'](_0x35fe89);});it(_0x8e1b03,this['_document']['version']),this['_applyOperationsSet'](_0x8e1b03),_0xc5ddb1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x350052=this['_decompressOperations'](_0x40900f['data'],_0x40900f['metadata'])['filter'](_0x403441=>_0x403441['baseVersion']>=this['_lastServerVersion']);_0x350052['forEach'](_0x52b697=>this['_addKnownRoot'](_0x52b697)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x204afd=>!_0x204afd['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x204afd))),this['_bufferedOperations']['length']&&it(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x350052),_0xc5ddb1=this['_handleExternalOperations'](_0x350052,_0x40900f['version'],_0x40900f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0xc5ddb1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x15a831,_0x16e844,_0x363245){try{const _0x445c2f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x54ad64,operationsB:_0x120d50,originalOperations:_0x4d2cfb}=_0x4ba814(_0x15a831,this['_bufferedOperations'],_0x445c2f);it(_0x54ad64,this['_document']['version']),it(_0x120d50,_0x16e844);for(const _0x2b97dd of _0x54ad64){const _0x502988=_0x4d2cfb['get'](_0x2b97dd);_0x2b97dd['_authorId']=_0x502988?_0x502988['_authorId']:null;}_0x363245&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x15a831,_0x363245),this['_lastSyncedOperationId']=_0x363245),this['_bufferedOperations']=[..._0x120d50],this['_applyOperationsSet'](_0x54ad64),this['_updateServerHistory'](_0x15a831);}catch(_0x124c74){return console['error'](_0x124c74),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5adbfc,_0x16ceed=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x154bc9=>{for(const _0x12d1e1 of _0x5adbfc)this['_knownOperations']['add'](_0x12d1e1),this['_addKnownRoot'](_0x12d1e1),_0x154bc9['batch']['addOperation'](_0x12d1e1),this['editor']['model']['applyOperation'](_0x12d1e1);});}['_addKnownRoot'](_0x7719a1){const _0x171cab=this['_getAffectedRoot'](_0x7719a1);_0x171cab&&this['_knownRootNames']['add'](_0x171cab);}['_getAffectedRoot'](_0x4c0b99){let _0x5bda59,_0x37bf6d;switch(_0x4c0b99['type']){case'insert':_0x5bda59=_0x4c0b99['position']['root'];break;case'marker':if(_0x37bf6d=_0x4c0b99['newRange'],!_0x37bf6d)return null;_0x5bda59=_0x37bf6d['root'];break;case'addRootAttribute':_0x5bda59=_0x4c0b99['root'];break;case'addRoot':_0x5bda59=_0x4c0b99['affectedSelectable'];break;case'move':_0x5bda59=_0x4c0b99['targetPosition']['root'];break;default:return null;}return _0x5bda59['rootName'];}['_updateServerHistory'](_0x4d9d52){_0x4d9d52['forEach'](_0xcf0d67=>{const _0x49882b=_0xcf0d67['clone']();_0x49882b['_authorId']=_0xcf0d67['_authorId'],_0x49882b['_isInit']=!!_0xcf0d67['_isInit'],_0x49882b['createdAt']=_0xcf0d67['createdAt'],_0x49882b['baseVersion']+=this['_offset'],_0xcf0d67['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x49882b),this['serverHistory']['addOperation'](_0x49882b);});}['_handleReconnectionError'](_0x491b58){const _0x2a9394=this['editor']['plugins']['get']('Notification'),_0x3d22ab=this['editor']['locale'];_0x491b58||(_0x491b58=Q(_0x3d22ab,'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.')),_0x2a9394['showWarning'](_0x491b58,{'title':Q(_0x3d22ab,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1c0e1d)['add'](Q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1c0e1d)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x561828){const _0x3c55f2=_0x561828['map'](_0x54250d=>_0x54250d['toJSON']());return this['_compressor']['compress'](_0x3c55f2);}['_decompressOperations'](_0x1c8d35,_0x1eb088){return this['_compressor']['decompress'](_0x1c8d35)['map']((_0x3d5f12,_0x3cc837)=>{const _0x471ec2='init'==_0x1eb088[_0x3cc837]['type'];if('InsertOperation'==_0x3d5f12['__className']){const _0x8f48b2=_0x3d5f12['position']['root'];!this['_document']['getRoot'](_0x8f48b2)&&(this['_document']['createRoot']('$root',_0x8f48b2)['_isAttached']=!0x1);}const _0x21f508=_0x1f0bb1['fromJSON'](_0x3d5f12,this['_document']);return _0x21f508['wasUndone']=_0x3d5f12['wasUndone'],_0x21f508['_isInit']=_0x471ec2,_0x21f508['_authorId']=_0x471ec2?null:_0x1eb088[_0x3cc837]['userId'],_0x21f508['_isDisconnection']='cs:removeUser'===_0x1eb088[_0x3cc837]['type'],_0x21f508['createdAt']=_0x1eb088[_0x3cc837]['createdAt'],_0x21f508;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x525c98=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x525c98&&_0x525c98['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class tt extends Error{}function it(_0x3734ea,_0x240333){for(const _0xa13d98 of _0x3734ea)_0xa13d98['baseVersion']=_0x240333++;}class st{['_ignoredOperations'];['_operationToId'];constructor(_0x43ae7d){this['_ignoredOperations']=_0x43ae7d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x48dd4e){let _0x192bb8=_0x48dd4e['length'];for(;_0x192bb8--;){const _0x4374d3=_0x48dd4e[_0x192bb8];if(!this['_ignoredOperations']['has'](_0x4374d3)){if(!this['_operationToId']['has'](_0x4374d3)){const _0x28de99=_0x4f3ae8()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4374d3,_0x28de99);}return this['_operationToId']['get'](_0x4374d3);}}}['setIdForTheLastOperation'](_0x58706d,_0x2c502a){if(!_0x2c502a)return;let _0x12b704=_0x58706d['length'];for(;_0x12b704--;){const _0x50794f=_0x58706d[_0x12b704];this['_ignoredOperations']['has'](_0x50794f)||this['_operationToId']['set'](_0x50794f,_0x2c502a);}}}class n extends _0x1b15fd{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x2da3ca{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x29043d)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x209d74];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1ae1d1){super(_0x1ae1d1),this['_services']=new Map();}async['init'](){const _0x30d9be=this['context'],_0x2e2a84=_0x30d9be['plugins']['get']('CommentsRepository');if(_0x30d9be['plugins']['get'](c)['addToReconnectionStack'](this),_0x2e2a84['adapter']={'addCommentThread':async({channelId:_0x333c17,threadId:_0x4d83ca,comments:_0x305864,resolvedAt:_0x408e87,resolvedBy:_0x5287d1,context:_0x1a0395,attributes:_0x35990f})=>{const _0x5ab790=await this['_getService'](_0x333c17)['addCommentThread']({'commentThreadId':_0x4d83ca,'comments':_0x305864['map'](_0x52390a=>function(_0x46d1e5,_0xa155f8,_0x3e765c){return{'commentThreadId':_0x3e765c,'commentId':_0x46d1e5['commentId'],'userId':_0x46d1e5['authorId'],'content':_0x46d1e5['content'],'documentId':_0xa155f8,'createdAt':_0x46d1e5['createdAt'],'attributes':_0x46d1e5['attributes']||{}};}(_0x52390a,_0x333c17,_0x4d83ca)),'resolvedAt':_0x408e87,'resolvedBy':_0x5287d1,'context':_0x1a0395,'attributes':_0x35990f})['catch'](ut);return{'threadId':_0x5ab790['commentThreadId'],'comments':_0x5ab790['comments']};},'getCommentThread':async({channelId:_0x237ae2,threadId:_0x513492})=>{const _0x3107=await this['_getService'](_0x237ae2)['getCommentThread'](_0x513492)['catch'](ut);return _0x3107['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3107]),{'threadId':_0x3107['commentThreadId'],'comments':_0x3107['comments']['map'](_),'context':_0x3107['context'],'resolvedAt':_0x3107['resolvedAt'],'resolvedBy':_0x3107['resolvedBy'],'attributes':_0x3107['attributes']||{}});},'updateCommentThread':async({channelId:_0x479b46,threadId:_0x4437d5,context:_0x248f34,unlinkedAt:_0x209b0d,attributes:_0x9bc87e})=>this['_getService'](_0x479b46)['updateCommentThread']({'commentThreadId':_0x4437d5,'context':_0x248f34,'attributes':_0x9bc87e,'unlinkedAt':_0x209b0d})['catch'](S)['catch'](ut),'resolveCommentThread':async({channelId:_0x5afa9b,threadId:_0x5ca6a5})=>{const _0x1c8ba7=await this['_getService'](_0x5afa9b)['resolveCommentThread'](_0x5ca6a5)['catch'](S)['catch'](ut);return{'threadId':_0x1c8ba7['commentThreadId'],'resolvedAt':_0x1c8ba7['resolvedAt'],'resolvedBy':_0x1c8ba7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2bfd83,threadId:_0x579b0d})=>this['_getService'](_0x2bfd83)['reopenCommentThread'](_0x579b0d)['catch'](S)['catch'](ut),'removeCommentThread':({channelId:_0x16c7cc,threadId:_0x450128})=>this['_getService'](_0x16c7cc)['removeCommentThread'](_0x450128)['catch'](S)['catch'](ut),'addComment':({channelId:_0x57bfce,threadId:_0x2ad3b5,commentId:_0x59f9eb,content:_0x5e89a8,attributes:_0x5eab04})=>this['_getService'](_0x57bfce)['addComment'](_0x2ad3b5,_0x59f9eb,_0x5e89a8,_0x5eab04)['catch'](ut),'updateComment':({channelId:_0x281f30,threadId:_0x276c53,commentId:_0xf9b0a0,content:_0x25551e,attributes:_0x18192b})=>this['_getService'](_0x281f30)['updateComment'](_0x276c53,_0xf9b0a0,_0x25551e,_0x18192b)['catch'](S)['catch'](ut),'removeComment':({channelId:_0x452419,threadId:_0x570f2e,commentId:_0x3604ce})=>this['_getService'](_0x452419)['removeComment'](_0x570f2e,_0x3604ce)['catch'](S)['catch'](ut)},_0x30d9be instanceof _0x5dc29c){const _0x3ff434=_0x30d9be['config']['get']('collaboration.channelId'),_0x53abb9=_0x30d9be['plugins']['get'](i);await this['_setUpService'](_0x3ff434);const _0x2cdd06=await this['_services']['get'](_0x3ff434)['getConnectedSessions']();this['listenTo'](_0x53abb9,'sessionAdd:'+_0x3ff434,(_0x53c35b,{session:_0x58da89})=>{_0x58da89['id']===_0x53abb9['mySessionId']&&(_0x53c35b['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x58da89['permissions'],_0x3ff434));}),_0x53abb9['register'](_0x3ff434,_0x2cdd06);}}async['_setUpService'](_0x5be6ce){if(this['_services']['has'](_0x5be6ce))throw new _0x680b76('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5be6ce});const _0x52a054=this['context']['plugins']['get']('CommentsRepository'),_0x42a958=new a['CommentsService'](_0x5be6ce);this['_services']['set'](_0x5be6ce,_0x42a958),this['listenTo'](_0x42a958,'commentThreadAdded',(_0xea1519,_0x49daf3)=>{const {commentThreadId:_0x521c91,documentId:_0x57bb58,context:_0x516069,attributes:_0x50cf5e,resolvedAt:_0x4769ce,resolvedBy:_0x39bc0e,comments:_0x5e6f93}=_0x49daf3;_0x52a054['getCommentThread'](_0x521c91)||_0x52a054['addCommentThread']({'threadId':_0x521c91,'channelId':_0x57bb58,'comments':_0x5e6f93?_0x5e6f93['map'](_):[],'context':_0x516069,'attributes':_0x50cf5e,'resolvedAt':_0x4769ce,'resolvedBy':_0x39bc0e,'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentThreadUpdated',(_0x44bd6a,{commentThreadId:_0xc54af8,documentId:_0x207516,context:_0x3295e0,unlinkedAt:_0xca3d4b,attributes:_0x5d0e11})=>{_0x52a054['getCommentThread'](_0xc54af8)&&_0x52a054['updateCommentThread']({'threadId':_0xc54af8,'channelId':_0x207516,'context':_0x3295e0,'unlinkedAt':_0xca3d4b,'attributes':_0x5d0e11,'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentThreadResolved',(_0x3a52c4,{commentThreadId:_0x15c655,resolvedBy:_0xfedc88,resolvedAt:_0x57a58e})=>{const _0x222309=_0x52a054['getCommentThread'](_0x15c655);_0x222309&&_0x222309['resolve']({'resolvedBy':_0xfedc88,'resolvedAt':_0x57a58e,'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentThreadReopened',(_0x4bd394,{commentThreadId:_0x462b44})=>{const _0x1b2c51=_0x52a054['getCommentThread'](_0x462b44);_0x1b2c51&&_0x1b2c51['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentThreadRemoved',(_0x5d4552,{commentThreadId:_0x27ceca})=>{const _0x34a8cb=_0x52a054['getCommentThread'](_0x27ceca);_0x34a8cb&&_0x34a8cb['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentAdded',(_0x197442,_0x3887fc)=>{const _0xd5b078=_0x3887fc['commentThreadId'],_0x49d70a=_0x52a054['getCommentThread'](_0xd5b078);_0x49d70a&&_0x49d70a['addComment']({..._(_0x3887fc),'isFromAdapter':!0x0});}),this['listenTo'](_0x42a958,'commentUpdated',(_0x203fb8,{commentThreadId:_0x493823,commentId:_0x1afe80,content:_0x2f6504,attributes:_0x44a6fc})=>{const _0x242fa7=_0x52a054['getCommentThread'](_0x493823);if(_0x242fa7){const _0x5c188c=_0x242fa7['getComment'](_0x1afe80);_0x5c188c&&_0x5c188c['update']({'content':_0x2f6504,'attributes':_0x44a6fc,'isFromAdapter':!0x0});}}),this['listenTo'](_0x42a958,'commentRemoved',(_0x24d6ec,{commentThreadId:_0x517815,commentId:_0x52ca08})=>{const _0x266a20=_0x52a054['getCommentThread'](_0x517815);if(_0x266a20){const _0x100e22=_0x266a20['getComment'](_0x52ca08);_0x100e22&&_0x100e22['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5be6ce);}['destroy'](){if(this['context']instanceof _0x5dc29c){const _0x28fc02=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x28fc02);}}['_terminateService'](_0x3e68fc){if(!this['_services']['has'](_0x3e68fc))throw new _0x680b76('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3e68fc});this['_getService'](_0x3e68fc)['disconnect'](),this['_services']['delete'](_0x3e68fc);}async['reconnect'](){for(const _0x5c45f3 of this['_services']['keys']())await this['_connectService'](_0x5c45f3);if(this['context']instanceof _0x5dc29c){const _0x2eb870=this['context']['config']['get']('collaboration.channelId'),_0x14a223=this['context']['plugins']['get'](i);_0x14a223['unregister'](_0x2eb870);const _0x2681ea=await this['_services']['get'](_0x2eb870)['getConnectedSessions']();_0x14a223['register'](_0x2eb870,_0x2681ea);}}async['_connectService'](_0xd10859){const {connection:_0x4b4741}=this['context']['plugins']['get'](c),_0x1a0ee6=this['context']['plugins']['get']('CommentsRepository'),_0x2932f1=this['_services']['get'](_0xd10859),_0x95d07f=await _0x2932f1['connect'](_0x4b4741);await this['_fetchMissingUsersForThreads'](_0x95d07f);const _0x328cfb=new Set(Array['from'](_0x1a0ee6['getCommentThreads']({'channelId':_0xd10859}),_0x374bcf=>_0x374bcf['id']));for(const _0x382abb of _0x95d07f)_0x382abb['deletedAt']||_0x328cfb['delete'](_0x382abb['commentThreadId']);for(const _0x54d172 of _0x328cfb)_0x1a0ee6['getCommentThread'](_0x54d172)['remove']({'isFromAdapter':!0x0});for(const _0x5db671 of _0x95d07f){let _0x3c8500=_0x1a0ee6['getCommentThread'](_0x5db671['commentThreadId']);const {commentThreadId:_0x326ff1,context:_0x135637,attributes:_0x4172f0,resolvedBy:_0x4bdd28,resolvedAt:_0x2c16e8,unlinkedAt:_0xa0bac3,deletedAt:_0x4e23dc}=_0x5db671;if(_0x4e23dc)continue;_0x3c8500||(_0x3c8500=_0x1a0ee6['addCommentThread']({'channelId':_0xd10859,'threadId':_0x326ff1,'context':_0x135637,'attributes':_0x4172f0||{},'resolvedBy':_0x4bdd28,'resolvedAt':_0x2c16e8,'unlinkedAt':_0xa0bac3,'isFromAdapter':!0x0}));const _0x1080c6=new Set(Array['from'](_0x3c8500['comments'],_0x275e74=>_0x275e74['id']));for(const _0x467723 of _0x5db671['comments'])_0x1080c6['delete'](_0x467723['commentId']);for(const _0x88cd34 of _0x1080c6)_0x3c8500['getComment'](_0x88cd34)['remove']({'isFromAdapter':!0x0});for(const _0x336836 of _0x5db671['comments']){const _0x5cd4f9=_0x3c8500['getComment'](_0x336836['commentId']);_0x5cd4f9?_0x5cd4f9['content']!==_0x336836['content']&&_0x5cd4f9['update']({'content':_0x336836['content'],'isFromAdapter':!0x0}):_0x3c8500['addComment'](Object['assign'](_(_0x336836),{'isFromAdapter':!0x0}));}}}['_getService'](_0x384fae){if(!this['_services']['has'](_0x384fae))throw new _0x680b76('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x384fae});return this['_services']['get'](_0x384fae);}async['_fetchMissingUsersForThreads'](_0x115f78){const _0x2d1bc8=this['context']['plugins']['get'](_0x209d74),{connection:_0x5a2fd8}=this['context']['plugins']['get'](c),_0x28b8e9=new Set();for(const {resolvedBy:_0x274047,comments:_0x538f40}of _0x115f78){_0x274047&&!_0x2d1bc8['getUser'](_0x274047)&&_0x28b8e9['add'](_0x274047);for(const {userId:_0x5f43e8}of _0x538f40)_0x2d1bc8['getUser'](_0x5f43e8)||_0x28b8e9['add'](_0x5f43e8);}if(0x0===_0x28b8e9['size'])return;const _0x53dd99=await dt['getMany'](_0x5a2fd8,Array['from'](_0x28b8e9));for(const _0x31be64 of _0x53dd99)_0x2d1bc8['getUser'](_0x31be64['id'])||_0x2d1bc8['addUser'](_0x31be64);}}async function S(_0x3ae94a){if('404'!==_0x3ae94a['code'])throw _0x3ae94a;}function ut(_0x30a15b){if((_0x1278ec=_0x30a15b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1278ec['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1278ec['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1278ec;throw _0x30a15b;}function _(_0x4a11f8){return{'threadId':_0x4a11f8['commentThreadId'],'commentId':_0x4a11f8['commentId'],'content':_0x4a11f8['content'],'createdAt':_0x4a11f8['createdAt'],'authorId':_0x4a11f8['userId'],'attributes':_0x4a11f8['attributes']||{}};}class f extends _0x1b15fd{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e217a){super(_0x1e217a);const _0x2ba4b0=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x2ba4b0);}['init'](){const _0x149520=this['editor']['plugins']['get'](c),_0x411e16=this['editor']['plugins']['get']('TrackChangesEditing');return _0x411e16['adapter']={'getSuggestion':async _0x1a54b6=>{await this['_waitForServiceReady']();const _0x2a223d=await this['_trackChangesService']['get'](_0x1a54b6)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x2a223d]),_0x2a223d;},'addSuggestion':async({id:_0x597cbb,type:_0x2155c3,data:_0x2ed69f,originalSuggestionId:_0x29f522,attributes:_0xe67306})=>{await this['_waitForServiceReady']();const _0x39d634={'id':_0x597cbb,'type':_0x2155c3,'data':_0x2ed69f,'originalSuggestionId':_0x29f522,'attributes':_0xe67306},_0x2ad88c=await this['_trackChangesService']['add'](_0x597cbb,_0x2155c3,_0x2ed69f,_0x29f522,_0xe67306)['catch'](_0x6ac64=>{if(ft(_0x6ac64))return new Promise(_0x26eac4=>{this['_bufferedRequests']['set'](_0x597cbb,{'resolve':_0x26eac4,'suggestionData':_0x39d634});});throw _0x6ac64;});return this['_bufferedRequests']['delete'](_0x597cbb),_0x2ad88c;},'updateSuggestion':async(_0x1cfea9,_0x5c8385)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5c8385['state'])return this['_trackChangesService']['update'](_0x1cfea9,_0x5c8385)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1bf512,_0x597733)=>{_0x411e16['hasSuggestion'](_0x597733['id'])&&(_0x411e16['getSuggestion'](_0x597733['id'])['attributes']=_0x597733['attributes']);}),this['_trackChangesService']['connect'](_0x149520['connection'])['then'](_0x4aa26e=>(_0x149520['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4aa26e)['then'](()=>{for(const _0x23f29c of _0x4aa26e){_0x411e16['addSuggestionData'](_0x23f29c)['_saved']=!0x0;}})));}async['reconnect'](){const _0x764ed7=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3d0a88}=this['editor']['plugins']['get'](c),_0x5c0382=await this['_trackChangesService']['connect'](_0x3d0a88);await this['_fetchMissingUsersForThreads'](_0x5c0382);for(const {suggestionData:_0x2b6a33,resolve:_0x5870a9}of this['_bufferedRequests']['values']()){let _0x147c5e=_0x5c0382['find'](_0x3070dd=>_0x3070dd['id']===_0x2b6a33['id']);_0x147c5e||(_0x147c5e=await this['_trackChangesService']['add'](_0x2b6a33['id'],_0x2b6a33['type'],_0x2b6a33['data'],_0x2b6a33['originalSuggestionId'])),_0x5870a9(_0x147c5e);}for(const _0x24e19f of _0x5c0382)_0x764ed7['hasSuggestion'](_0x24e19f['id'])||_0x764ed7['addSuggestionData'](_0x24e19f);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x349ae5=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5856de=>{_0x5856de['off'](),_0x349ae5();});});}async['_fetchMissingUsersForThreads'](_0x37bf17){const _0x2bc51b=this['editor']['plugins']['get'](_0x209d74),{connection:_0x41ee90}=this['editor']['plugins']['get'](c),_0x2727ce=new Set();for(const {authorId:_0xbb9f6c}of _0x37bf17)_0x2bc51b['getUser'](_0xbb9f6c)||_0x2727ce['add'](_0xbb9f6c);if(0x0===_0x2727ce['size'])return;const _0x539d49=await dt['getMany'](_0x41ee90,Array['from'](_0x2727ce));for(const _0x1bfe52 of _0x539d49)_0x2bc51b['getUser'](_0x1bfe52['id'])||_0x2bc51b['addUser'](_0x1bfe52);}}function R(_0x465859){if(ft(_0x465859))return new Promise(()=>{});throw _0x465859;}function ft(_0x5c2fe6){return _0x5c2fe6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c2fe6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x1b15fd{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x19b6a2=this['editor']['plugins']['get'](c),_0x38f9a5=this['editor']['plugins']['get']('CommentsEditing'),_0x4350a0=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x19b6a2,'change:state',(_0x2ca521,_0x24c26f,_0x2ae1f4)=>{_0x38f9a5['isThreadsLoadingPaused']='connected'!==_0x2ae1f4;});}),this['listenTo'](_0x19b6a2,'change:state',(_0x4ca08b,_0xf7cd2b,_0x241cc2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x241cc2);}),_0x4350a0['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x1b15fd{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x1b15fd{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x32768c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x209d74];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bb019){super(_0x1bb019);const _0x1133d2=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x1133d2);}async['init'](){const _0x48513d=this['editor']['plugins']['get'](l),_0x3fe96c=_0x48513d['serverHistory'],_0x4828f2=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x3fe96c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x48513d['sessionId']});const _0x14b0c4=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x5d04f8=await _0x429c32['isBundleUploaded'](_0x4828f2['connection'],_0x14b0c4);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x4b540c})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4b540c)),'updateRevisions':async _0xf7ec4c=>{await this['_waitForServiceReady']();const _0x5949d8=this['_revisionTracker']['currentRevision'];if(_0x5d04f8&&0x1===_0xf7ec4c['length']&&_0xf7ec4c[0x0]['id']===_0x5949d8['id'])return _0xf7ec4c;for(const _0x3093f5 of _0xf7ec4c)_0x3093f5['id']===_0x5949d8['id']&&(_0x3093f5['isEmptyCurrent']=_0x3093f5['fromVersion']===_0x3093f5['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xf7ec4c,this['_lastRequestId'])['then'](_0x30487d=>(this['_lastRequestId']=_0x30487d,_0xf7ec4c))['catch'](_0xf8666e=>{if(U(_0xf8666e)||'400'===_0xf8666e['code']&&void 0x0!==_0xf8666e['data']['wrongRequestId']){for(const _0x20de68 of _0xf7ec4c){!this['_revisionTracker']['repository']['getRevision'](_0x20de68['id'])||this['_revisionTracker']['_bufferUpdate'](_0x20de68['id'],_0x20de68,!0x1);}if(U(_0xf8666e))throw _0xf8666e;return _0xf7ec4c;}throw _0xf8666e;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x57f7fc,{revisionsData:_0xdb41df,requestId:_0x12ed0d})=>{Math['max'](..._0xdb41df['map'](_0x465ca7=>_0x465ca7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xdb41df,_0x12ed0d);}):this['_handleRevisionsUpdate'](_0xdb41df,_0x12ed0d);});const {revisions:_0x72dc48,requestId:_0x457a3c}=await this['_revisionHistoryService']['connect'](_0x4828f2['connection']);_0x4828f2['addToReconnectionStack'](this),this['_lastRequestId']=_0x457a3c,await this['_fetchMissingUsers'](_0x72dc48);for(const _0x45e0e5 of _0x72dc48)this['_revisionTracker']['addRevisionData'](_0x45e0e5);this['listenTo'](_0x48513d,'change:_isConnected',(_0x4c0acb,_0x5c10bd,_0x2badf6)=>{_0x2badf6&&(this['_oldOffset']=_0x48513d['_offset'],_0x4c0acb['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4828f2,'state',_0x5bf17d=>_0x5bf17d===_0x202917['CONNECTED']);}async['reconnect'](){const _0x459224=this['editor']['plugins']['get'](c),_0x5f531d=this['editor']['plugins']['get'](l),_0x27cfee=async()=>{const _0x356f6b=this['_revisionTracker']['currentRevision'],_0x305fa4=_0x356f6b['id'],_0x5b2e8d=_0x305fa4!==_0x5f531d['sessionId'];if(_0x5b2e8d){const _0x409a20=_0x5f531d['_offset']-this['_oldOffset'],_0xb34a77=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x356f6b['toVersion']+_0x409a20!==_0xb34a77){const _0x4fd06d=_0x356f6b['fromVersion']+_0x409a20,_0x489735=this['editor']['plugins']['get'](_0x209d74),_0x3ff95f=this['_revisionTracker']['buildRevisionData']({'revision':_0x356f6b,'from':_0x4fd06d,'to':_0xb34a77});_0x3ff95f['id']=_0x356f6b['id'];const _0x3efd9e=_0x3ff95f['authorsIds']['map'](_0x40fe36=>_0x489735['getUser'](_0x40fe36));_0x356f6b['_update']({..._0x3ff95f,'authors':_0x3efd9e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x356f6b['id'],_0x3ff95f,!0x0);}this['_revisionTracker']['_startingVersion']=_0xb34a77,(_0x356f6b['toVersion']===_0x356f6b['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x305fa4)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x305fa4),this['_revisionTracker']['_createCurrentRevision'](_0xb34a77));}const {revisions:_0x38af9c,requestId:_0x5f2282}=await this['_revisionHistoryService']['reconnect'](_0x459224['connection'],this['_lastRequestId']);_0x5b2e8d&&_0x38af9c['length']>0x0?_0x5f531d['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x38af9c),this['_handleRevisionsUpdate'](_0x38af9c,_0x5f2282),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5f531d['_isConnected']?_0x27cfee():new Promise((_0x411a4c,_0x33449a)=>{_0x5f531d['once']('change:_isConnected',()=>{_0x27cfee()['then'](_0x411a4c)['catch'](_0x33449a);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x396599=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x13f38c=>{_0x13f38c['off'](),_0x396599();});});}['_getLatestVersionFromServerOperations'](){const _0x401d40=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x45358b of _0x401d40)if('marker'!==_0x45358b['type']||_0x45358b['affectsData'])return _0x45358b['baseVersion']+0x1;}['_getLatestVersion'](){const _0xdafde4=this['editor']['plugins']['get'](l);return new Promise(_0x45da88=>{_0xdafde4['_isPendingUpdate']?_0xdafde4['once']('change:_isPendingUpdate',()=>{_0x45da88(this['_getLatestVersionFromServerOperations']());}):_0x45da88(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3fde70,_0x398ac1){const _0x317a50=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x398ac1;for(const _0x1b8855 of _0x3fde70){const _0x462991=_0x317a50['getRevision'](_0x1b8855['id']);if(_0x462991){if((_0x1b8855['fromVersion']||_0x1b8855['toVersion'])&&(_0x1b8855['diffData']=null),_0x462991===this['_revisionTracker']['currentRevision']){const _0x32225a=Math['max'](_0x462991['toVersion'],_0x1b8855['toVersion']),_0x15437e=Math['max'](_0x462991['fromVersion'],_0x1b8855['fromVersion']);let _0x1a3764;_0x462991['toVersion']===_0x1b8855['toVersion']&&_0x462991['fromVersion']===_0x1b8855['fromVersion']?(_0x1a3764=!0x0,this['_preventResendingRevisionData'](_0x1b8855)):_0x1b8855['toVersion']===_0x32225a&&_0x1b8855['fromVersion']===_0x15437e?_0x1a3764=!0x1:(_0x462991['toVersion']===_0x32225a&&_0x462991['fromVersion']===_0x15437e||this['_fixRevision']({'revision':_0x462991,'from':_0x15437e,'to':_0x32225a}),_0x1a3764=!0x0),_0x1a3764&&(delete _0x1b8855['fromVersion'],delete _0x1b8855['toVersion'],delete _0x1b8855['diffData'],delete _0x1b8855['createdAt'],delete _0x1b8855['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1b8855),this['_preventResendingRevisionData'](_0x1b8855);}else this['_revisionTracker']['addRevisionData'](_0x1b8855);}const _0x3fe593=_0x317a50['getRevisions']();_0x3fe593['reverse']();for(let _0x3f649f=0x0;_0x3f649f<_0x3fe593['length']-0x1;_0x3f649f++){const _0x504c4e=_0x3fe593[_0x3f649f],_0x5b5d54=_0x3fe593[_0x3f649f+0x1];if(_0x504c4e['fromVersion']<_0x5b5d54['toVersion']){const _0xc0768=_0x5b5d54['toVersion'],_0x32d80f=Math['max'](_0xc0768,_0x504c4e['toVersion']);this['_fixRevision']({'revision':_0x504c4e,'from':_0xc0768,'to':_0x32d80f});}}}['_fixRevision']({revision:_0x3d2bf3,from:_0x6dfd06,to:_0x55f851}={}){const _0x2f0f7a=this['editor']['plugins']['get'](_0x209d74),_0x3c1ac8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3d2bf3,'from':_0x6dfd06,'to':_0x55f851});_0x3c1ac8['authors']=_0x3c1ac8['authorsIds']['map'](_0x18603f=>_0x2f0f7a['getUser'](_0x18603f)),_0x3d2bf3['_update'](_0x3c1ac8);}['_preventResendingRevisionData'](_0x278f49){const _0x4b8ecc={};_0x4b8ecc['id']=_0x278f49['id'];for(const _0x3088bd of Object['keys'](_0x278f49))'id'!==_0x3088bd&&(_0x4b8ecc[_0x3088bd]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4b8ecc['id'],_0x4b8ecc,!0x0);}async['_fetchMissingUsers'](_0xa1efd7){const _0x541341=this['editor']['plugins']['get'](_0x209d74),{connection:_0x38ba85}=this['editor']['plugins']['get'](c),_0x4ef08f=new Set();for(const _0x5e9a19 of _0xa1efd7){for(const _0x486f3d of _0x5e9a19['authorsIds'])_0x36e5a6(_0x486f3d);_0x5e9a19['creatorId']&&_0x36e5a6(_0x5e9a19['creatorId']);}if(0x0===_0x4ef08f['size'])return;const _0x5072ff=await dt['getMany'](_0x38ba85,Array['from'](_0x4ef08f));for(const _0x348117 of _0x5072ff)_0x541341['getUser'](_0x348117['id'])||_0x541341['addUser'](_0x348117);function _0x36e5a6(_0x5d5477){_0x541341['getUser'](_0x5d5477)||_0x4ef08f['add'](_0x5d5477);}}}function U(_0x498c46){return _0x498c46['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x498c46['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x498c46['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x1b15fd{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x5864bc{['_collapseAt'];constructor(_0x2d7230,_0x39c0f0=0x6){super(_0x2d7230);const _0x54ce5f=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x39c0f0,this['bind']('isHidden')['to'](this,'usersCount',_0x4c919d=>_0x4c919d<_0x39c0f0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x54ce5f['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':_0x54ce5f['to']('usersCount',_0x33bf3e=>'+'+(_0x33bf3e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x5864bc{['items'];['keystrokes'];constructor(_0x13e5fa){super(_0x13e5fa);const _0x431990=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x45631a(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x431990['if']('hasPopup'),'aria-expanded':_0x431990['to']('isExpanded',_0x45d38f=>this['hasPopup']&&String(_0x45d38f)),'aria-label':_0x431990['to']('hasPopup',_0x901b0f=>Q(_0x13e5fa,_0x901b0f?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x431990['to']('hasPopup',_0x4f92a1=>!!_0x4f92a1&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x431990['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x431990['to'](_0x2024a2=>{const _0x71a485=_0x2024a2,_0xc0c1d4=document['querySelector']('.ck-presence-list__dropdown-list'),_0x549bc1=document['querySelector']('.ck-balloon-panel_with-arrow');_0xc0c1d4?.['contains'](_0x71a485['relatedTarget'])||_0x549bc1?.['contains'](_0x71a485['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x45a760,_0x3e45a7,_0x9652f)=>{this['element']&&(_0x9652f?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class j extends _0x5864bc{['counterView'];['inlineListView'];constructor(_0x3e3a7e,_0x12de37=0x6){super(_0x3e3a7e);const _0x3af1e2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x12de37),this['inlineListView']=new ts(_0x3e3a7e),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3fdfcd of this['inlineListView']['items'])_0x3fdfcd['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',_0x3af1e2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x5864bc{['listWrapperView'];constructor(_0x29d32c,_0x5e450a){super(_0x29d32c);const _0x42f3e6=this['bindTemplate'];this['listWrapperView']=new mt(_0x29d32c,_0x5e450a),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':Q(_0x29d32c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x42f3e6['to'](_0x26f641=>{const _0xbfa36d=_0x26f641,_0xe1430a=document['querySelector']('.ck-presence-list__list'),_0x18ef1f=document['querySelector']('.ck-balloon-panel_with-arrow');_0xe1430a?.['contains'](_0xbfa36d['relatedTarget'])||_0x18ef1f?.['contains'](_0xbfa36d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x22ebb3{constructor(_0x50ad8a,_0x581c24){super(_0x50ad8a);const _0x3167b5=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x581c24?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3167b5['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3167b5['to']('role'),'aria-label':_0x3167b5['to']('ariaLabel'),'aria-labelledby':_0x3167b5['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2ac657['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xfd1dc0=this['element'];_0xfd1dc0&&(this['_isScrollable']=Math['max'](_0xfd1dc0['scrollHeight'],_0xfd1dc0['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x23d236,_0x555414,_0x2578bf){super(_0x23d236);const _0x2e0ea7=this['bindTemplate'];this['userView']=new ct(_0x23d236,_0x555414);const _0x383d80={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x555414['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x555414['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x555414['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2578bf&&(_0x383d80['tag']='button',_0x383d80['on']={'click':_0x2e0ea7['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x383d80);}['focus'](){this['element']['focus']();}}class y extends _0x5864bc{['userView'];['markerView'];constructor(_0x26f08d,_0x1ad30b,_0x3c1935){super(_0x26f08d);const _0x370e99=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x26f08d,_0x1ad30b),this['markerView']=new at(_0x26f08d,_0x1ad30b);const _0x815f47=new ot(_0x26f08d);_0x815f47['template']['tag']='span',_0x815f47['text']=_0x1ad30b['name'];const _0x429b3e={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x370e99['to']('isFocusable',_0x471c43=>!!_0x471c43&&0x0),'aria-labelledby':_0x815f47['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x370e99['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x370e99['to']('hasTooltip',_0x394da8=>!_0x394da8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x815f47]};_0x3c1935&&(_0x429b3e['tag']='button',_0x429b3e['on']={'click':_0x370e99['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x429b3e);}}class at extends _0x5864bc{constructor(_0x6c0e8c,_0x4eea26){super(_0x6c0e8c),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4eea26['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2da3ca{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e2ec3){super(_0x4e2ec3),this['context']['config']['define']('presenceList',C);const _0xc405ff=_0x4e2ec3['config']['get']('presenceList.collapseAt');if('number'!=typeof _0xc405ff)throw new _0x680b76('presencelist-collapseat-invalid-format',this);if(_0xc405ff<0x1)throw new _0x680b76('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x49727e(),this['balloonPanelView']=new _0x2b47f8(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xb62e1d of this['_allConnectedUsers'])this['_handleUserAdd'](_0xb62e1d);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1d0e74,_0x15d1b4)=>{this['_handleUserAdd'](_0x15d1b4);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2b1939,_0x116504)=>{this['_handleUserRemove'](_0x116504);});}['_createView'](){const _0x30b074=this['context'],_0x1a5869=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xbee852=this['balloonPanelView'];if(!_0xb76a19(_0x30b074['config']['get']('presenceList.container')))throw new _0x680b76('presencelist-missing-container',this);return _0x1a5869['counterView']['bind']('usersCount')['to'](this),_0x1a5869['bind']('isCollapsed')['to'](this,'usersCount',_0x3911d3=>{const {collapseAt:_0x53eafa}=_0x30b074['config']['get']('presenceList'),_0x5f5157=_0x3911d3>=_0x53eafa;if(_0x5f5157&&!_0x1a5869['inlineListView']['items']['find'](_0x450257=>_0x450257 instanceof A)){const _0x4c6a6a=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4c6a6a&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x1a5869['inlineListView']['items']['add'](_0x1a5869['counterView']);}return _0x5f5157||this['hideDropdown'](),_0x5f5157;}),_0x1a5869['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xc7bcdc=>{const _0x48eed5=_0x30b074['config']['get']('presenceList'),_0xa2f643=new y(_0x30b074['locale'],_0xc7bcdc,!!_0x48eed5['onClick']);return _0xa2f643['bind']('hasTooltip')['to'](_0x1a5869,'isCollapsed',_0x5ab5d6=>!_0x5ab5d6),_0xa2f643['bind']('isFocusable')['to'](_0x1a5869,'isCollapsed',_0x2cf1d6=>!_0x2cf1d6),_0x48eed5['onClick']&&this['listenTo'](_0xa2f643,'execute',()=>{this['view']['isCollapsed']||_0x48eed5['onClick'](_0xc7bcdc,_0xa2f643['element']);}),_0xa2f643;}),this['listenTo'](_0x1a5869['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x1a5869['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x1a5869['inlineListView']['keystrokes']['set']('Enter',(_0x496d8b,_0x1c6408)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1c6408());}),_0x1a5869['render'](),_0xbee852['render'](),_0x323cda({'emitter':_0x1a5869,'activator':()=>_0xbee852['isVisible'],'contextElements':[_0xbee852['element'],_0x1a5869['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x30b074['config']['get']('presenceList.container')['appendChild'](_0x1a5869['element']),this['_bodyCollection']=new _0x55c398(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1a5869;}['_handleUserAdd'](_0x18bb49){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x18bb49['isMe'])return;const _0xbce927=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xbce927-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x324529=_0x18bb49['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x18bb49,_0x324529);}['_handleUserRemove'](_0xc1e875){this['usersCount']--;const {collapseAt:_0x5fce8}=this['context']['config']['get']('presenceList'),_0x1195eb=this['usersCount']>=_0x5fce8;if(this['currentDisplayedUsers']['get'](_0xc1e875['id']))this['currentDisplayedUsers']['remove'](_0xc1e875['id']);else{if(_0x1195eb&&this['currentDisplayedUsers']['length']+0x1===_0x5fce8-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1195eb?0x1:0x0)<this['usersCount']){for(const _0x804cb9 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x804cb9['id'])&&(this['currentDisplayedUsers']['add'](_0x804cb9,Math['min'](this['currentDisplayedUsers']['length']-(_0x1195eb?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1195eb?0x1:0x0)===_0x5fce8-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x163a11=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0x163a11['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x21acc9}=this['presenceDropdownView'];_0x21acc9['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xd309d9=>{if(!_0x163a11['displayMe']&&_0xd309d9['isMe'])return null;const _0x371263=new k(this['context']['locale'],_0xd309d9,!!_0x163a11['onClick']);return _0x163a11['onClick']&&this['listenTo'](_0x371263,'execute',()=>{_0x163a11['onClick'](_0xd309d9,_0x371263['element']);}),_0x371263;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x21acc9['focus'](),_0x21acc9['checkIfScrollable']();const _0x22db08=(_0xc52489,_0x2cc985)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2cc985();};_0x21acc9['keystrokes']['set']('Esc',_0x22db08),_0x21acc9['keystrokes']['set']('Shift+Tab',_0x22db08),_0x21acc9['keystrokes']['set']('Tab',(_0xd507d,_0x35ef1a)=>{!function(_0x50a49a){const _0x4908e7=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4f5593=>_0x4f5593+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0xd68df=[...document['body']['querySelectorAll'](_0x4908e7)]['filter'](_0x5740fd=>_0x5740fd===document['activeElement']||_0x5740fd['offsetWidth']+_0x5740fd['offsetHeight']>0x0)['sort']((_0x23fe92,_0x4cb419)=>(_0x23fe92['tabIndex']||0x0)-(_0x4cb419['tabIndex']||0x0)),_0x3857b2=_0xd68df['indexOf'](_0x50a49a),_0x34728f=_0xd68df[(_0x3857b2+0x1)%_0xd68df['length']];_0x34728f&&_0x34728f['focus']();}(this['view']['element']),this['hideDropdown'](),_0x35ef1a();}),_0x21acc9['focusTracker']['add'](this['view']['element']),_0x21acc9['focusTracker']['on']('change:isFocused',(_0x4c1e51,_0x20476a,_0x4349f9)=>{_0x4349f9||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x2da3ca{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};