@ckeditor/ckeditor5-real-time-collaboration 47.7.1-alpha.0 → 47.7.1

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 _0x518ffb,Plugin as _0x2eb914,PendingActions as _0x51f281,Context as _0xa6004f}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xf225ba,CKEditorError as _0x11a589,Collection as _0x4b8621,global as _0x152fd1,version as nt,uid as _0x402d66,KeystrokeHandler as _0x4066ca}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x14150c,View as _0x47be0a,ListView as _0x410228,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x16459c,clickOutsideHandler as _0x26b04a,BodyCollection as _0x42f48d}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x591698,History as _0x234f05,NoOperation as _0x483866,InsertOperation as _0x3ab72c,MarkerOperation as _0x44608c,RootAttributeOperation as _0x1a2417,transformOperationSets as _0x28f9e8,OperationFactory as _0x13ab7b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x37b548,User as lt,CommentsService as _0xd7cbbf,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1c3b75,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5e10ff}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x4ab169}from'es-toolkit/compat';class n extends _0x518ffb{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x14150c];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f4ec9){super(_0x4f4ec9),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0xf225ba())();}['init'](){const _0x54fb26=this['context'],_0x4fad56=_0x54fb26['plugins']['get']('CloudServices'),_0x59585c=_0x54fb26['plugins']['get'](_0x14150c);if(!_0x4fad56['token'])throw new _0x11a589('websocketgateway-missing-token',this);if(!_0x4fad56['webSocketUrl'])throw new _0x11a589('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x4fad56['token'],_0x4fad56['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1edb05=>{if(this['connection']=_0x1edb05,this['bind']('state')['to'](_0x1edb05,'state',this,'_isBrowserOffline',(_0x4d90e8,_0x1192c5)=>('connected'!==_0x4d90e8&&(this['_shouldPluginsReconnect']=!0x0),_0x1192c5||_0x4d90e8!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x186dc6,_0x362c56)=>{if('limitExceeded'!==_0x362c56['code'])throw console['error'](_0x362c56),new _0x11a589('cloudservices-init',null,{'originalError':_0x362c56});_0x59585c['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'});}),!_0x1edb05['me'])return new Promise(_0x33b840=>_0x1edb05['on']('change:me',_0x33b840));})['catch'](_0x28b1b9=>{throw console['error'](_0x28b1b9),new _0x11a589('cloudservices-init',null,{'originalError':_0x28b1b9});});}['addToReconnectionStack'](_0x47ffa6){if('function'!=typeof _0x47ffa6['reconnect'])throw new _0x11a589('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x47ffa6))throw new _0x11a589('websocketgateway-plugin-already-registered',this,{'name':_0x47ffa6['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x47ffa6);}['removeFromReconnectionStack'](_0x19fa0f){this['_reconnectionStack']['delete'](_0x19fa0f);}['isInReconnectionStack'](_0x336341){return this['_reconnectionStack']['has'](_0x336341);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x45e2cc=>_0x45e2cc['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x23bb14=>{throw console['error'](_0x23bb14),new _0x11a589('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x518ffb{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x1c3b75];}constructor(_0x44a47d){super(_0x44a47d),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4b8621(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1c3b75);}['init'](){const _0x5e2cc4=this['context']['plugins']['get'](n);this['listenTo'](_0x5e2cc4,'change:state',(_0x3d3eee,_0xadceed,_0x21f304)=>{if('connected'!==_0x21f304)this['channelSessions']['forEach'](_0x1e06ee=>_0x1e06ee['clear']()),this['channelConnectedUsers']['forEach'](_0x5c75e7=>_0x5c75e7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1e8f9f,_0x39e068]of this['_registeredSessions'])for(const _0x35ef9c of _0x39e068)this['_handleSessionAdd'](_0x1e8f9f,_0x35ef9c);}}),this['_createUser'](_0x5e2cc4['connection']['me'],!0x0);}['register'](_0x2406a0,_0x5ed3e6){if(this['_registeredSessions']['has'](_0x2406a0))throw new _0x11a589('sessions-register-already-registered',null,{'channelId':_0x2406a0});this['_registeredSessions']['set'](_0x2406a0,_0x5ed3e6),this['channelSessions']['set'](_0x2406a0,new _0x4b8621()),this['channelConnectedUsers']['set'](_0x2406a0,new _0x4b8621()),this['listenTo'](_0x5ed3e6,'add',(_0x411212,_0x416abd)=>this['_handleSessionAdd'](_0x2406a0,_0x416abd)),this['listenTo'](_0x5ed3e6,'remove',(_0x5aff88,_0x1ff653)=>this['_handleSessionRemove'](_0x2406a0,_0x1ff653));for(const _0x174278 of _0x5ed3e6)this['_handleSessionAdd'](_0x2406a0,_0x174278);}['unregister'](_0x24238e){if(!this['_registeredSessions']['has'](_0x24238e))throw new _0x11a589('sessions-unregister-not-exist',null,{'channelId':_0x24238e});const _0x2db24d=this['_registeredSessions']['get'](_0x24238e);this['stopListening'](_0x2db24d);for(const _0x9aaf65 of _0x2db24d)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x24238e,_0x9aaf65);this['_registeredSessions']['delete'](_0x24238e),this['channelSessions']['delete'](_0x24238e),this['channelConnectedUsers']['delete'](_0x24238e);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x7cb0b8){for(const _0x2e5a2c of this['channelSessions']['values']())for(const _0x672d48 of _0x2e5a2c)if(_0x672d48['id']===_0x7cb0b8)return _0x672d48['user'];}['getUserSessions'](_0x343c10,_0x50edf2){const _0x2c6974=_0x50edf2?[this['channelSessions']['get'](_0x50edf2)]:this['channelSessions']['values'](),_0x780b98=new Set();for(const _0x1eda99 of _0x2c6974)for(const _0x330c1e of _0x1eda99)_0x330c1e['user']['id']===_0x343c10['id']&&_0x780b98['add'](_0x330c1e['id']);return _0x780b98;}['getUserRole'](_0x2ffedc){for(const _0x3e6a6a of this['channelSessions']['values']())for(const _0x143a53 of _0x3e6a6a)if(_0x143a53['user']===_0x2ffedc)return _0x143a53['role'];}['_handleSessionAdd'](_0x5d8ab1,_0x19ac99){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1151ec=_0x19ac99['user'],_0x55ee6c=this['_users']['getUser'](_0x1151ec['id'])||this['_createUser'](_0x1151ec),_0xd1e612=Object['assign']({},_0x19ac99,{'user':_0x55ee6c});if(this['channelSessions']['get'](_0x5d8ab1)['add'](_0xd1e612),!_0x1151ec['hiddenInPresenceList']){const _0xc55465=this['channelConnectedUsers']['get'](_0x5d8ab1);_0xc55465['has'](_0x55ee6c['id'])||_0xc55465['add'](_0x55ee6c),this['allConnectedUsers']['has'](_0x55ee6c['id'])||_0x1151ec['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x55ee6c,_0x55ee6c['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5d8ab1,{'channelId':_0x5d8ab1,'session':_0xd1e612});}['_handleSessionRemove'](_0x342a99,_0x3b671d){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1f3dcd=this['channelConnectedUsers']['get'](_0x342a99),_0x43fd8f=_0x3b671d['user'];_0x43fd8f['id']&&(this['channelSessions']['get'](_0x342a99)['remove'](_0x3b671d['id']),_0x1f3dcd['has'](_0x43fd8f['id'])&&!this['getUserSessions'](_0x43fd8f,_0x342a99)['size']&&_0x1f3dcd['remove'](_0x43fd8f['id']),this['allConnectedUsers']['get'](_0x43fd8f['id'])&&!this['getUserSessions'](_0x43fd8f)['size']&&this['allConnectedUsers']['remove'](_0x43fd8f['id']));}['_createUser'](_0x4fe28b,_0xd593b5){const _0x54c4ac=this['_users']['addUser'](_0x4fe28b);return _0xd593b5&&this['_users']['defineMe'](_0x4fe28b['id']),_0x54c4ac['orderNumber']=this['_uniqueUsersCount']++,_0x54c4ac;}}class V extends _0x2eb914{['_domEmitter']=new(_0xf225ba())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xc228c9=this['editor'],_0x1556f9=_0xc228c9['plugins']['get'](i);_0xc228c9['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x55204d,{writer:_0x20650e})=>function(_0x564000,_0x470bb1,_0x2b5d01,_0x32a89f){const _0x3d21db=_0x564000['markerName']['split'](':')[0x2],_0x2c96a8=_0x2b5d01['getUserBySessionId'](_0x3d21db);if(!_0x2c96a8||_0x3d21db===_0x2b5d01['mySessionId'])return;if(!_0x32a89f['model']['schema']['checkChild'](_0x564000['markerRange']['start'],'$text'))return;const _0x41f84f={'class':'ck-user__marker\x20'+_0x2c96a8['color']['getMarkerClass'](),'data-name':_0x2c96a8['name'],'data-session-id':_0x3d21db},_0x591486=_0x32a89f['model']['markers']['get'](_0x564000['markerName']),_0xdeadcb=_0x591486['getStart'](),_0x1fb646=_0xdeadcb['nodeAfter'],_0x464be4=_0x32a89f['model']['schema'];if(_0x1fb646&&_0x464be4['isObject'](_0x1fb646)&&_0x464be4['isInline'](_0x1fb646)&&!_0x32a89f['model']['markers']['get']('user:range:'+_0x3d21db)['getRange']()['isCollapsed'])return;const _0x34420c=_0xdeadcb['parent'];return _0x32a89f['model']['schema']['isLimit'](_0x34420c)&&!_0x32a89f['model']['hasContent'](_0x34420c)&&(_0x41f84f['contenteditable']=!0x1),function(_0xbd89f9,_0x1c76eb,_0x4fe4ee){const _0x11005f=_0xbd89f9['createUIElement']('span',_0x1c76eb);return _0xbd89f9['setCustomProperty']('userPositionMarker',!0x0,_0x11005f),_0x11005f['render']=function(_0x997b76){const _0x4eba79=this['toDomElement'](_0x997b76),_0x4cc249=document['createElement']('span');return _0x4cc249['classList']['add']('ck-user__marker-tooltip'),_0x4cc249['setAttribute']('contenteditable','false'),_0x4cc249['setAttribute']('spellcheck','false'),_0x4cc249['textContent']=_0x4fe4ee['name'],_0x4eba79['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4cc249['outerHTML']+'⁠',_0x4eba79['addEventListener']('mouseenter',()=>{_0x4eba79['classList']['add']('ck-user__marker_hovered');}),_0x4eba79['addEventListener']('mouseleave',()=>{_0x4eba79['classList']['remove']('ck-user__marker_hovered');}),_0x4eba79;},_0x11005f['isSimilar']=function(_0xb733d8){return!(!this['getCustomProperty']('userPositionMarker')||!_0xb733d8['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xb733d8['getAttribute']('data-session-id'));},_0x11005f;}(_0x470bb1,_0x41f84f,_0x2c96a8);}(_0x55204d,_0x20650e,_0x1556f9,_0xc228c9)}),_0xc228c9['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x126e6e=>function(_0x3c28f9,_0x330578){const _0x55d0d7=_0x3c28f9['markerName']['split'](':')[0x2];if(_0x55d0d7===_0x330578['mySessionId'])return null;const _0x541902=_0x330578['getUserBySessionId'](_0x55d0d7);if(!_0x541902)return{'id':_0x55d0d7,'classes':[]};return{'id':_0x55d0d7,'classes':['ck-user__selection',_0x541902['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x55d0d7},'priority':0x7d0+_0x541902['orderNumber']};}(_0x126e6e,_0x1556f9)}),function(_0x4c8f46){const _0x108e55=_0x4c8f46['model'],_0x41a386=new Map(),_0x249967=_0x4c8f46['plugins']['get'](i);_0x108e55['markers']['on']('update:user:range',(_0x281b0d,_0xbf5658,_0x3d1aba,_0x5b64fb)=>{if(!_0x5b64fb&&_0x41a386['get'](_0xbf5658['name']))return _0x41a386['get'](_0xbf5658['name'])['detach'](),void _0x41a386['delete'](_0xbf5658['name']);const _0x5812ee=_0xbf5658['name']['split'](':')[0x2];if(_0x5812ee===_0x249967['mySessionId'])return;const _0x2ea084='user:position:'+_0x5812ee;_0x108e55['markers']['has'](_0x2ea084)&&_0x4c8f46['editing']['reconvertMarker'](_0x2ea084),_0xbf5658['on']('change:range',(_0x4cdcf0,_0x2c6ee3,_0x27bbbb)=>{if('$graveyard'!=_0x2c6ee3['root']['rootName']&&'$graveyard'==_0xbf5658['getRange']()['root']['rootName']&&!_0x41a386['has'](_0xbf5658['name'])){const _0x5148e3=_0x108e55['schema']['getNearestSelectionRange'](_0x27bbbb['deletionPosition']);if(_0x5148e3){const _0x5a2324=_0x591698['fromRange'](_0x5148e3);_0x41a386['set'](_0xbf5658['name'],_0x5a2324),_0x5a2324['on']('change:range',(_0x163a7d,_0x2d751c,_0x2f4631)=>{if('$graveyard'==_0x5a2324['root']['rootName']){const _0x544859=_0x108e55['schema']['getNearestSelectionRange'](_0x2f4631['deletionPosition']);_0x544859?(_0x5a2324['start']=_0x544859['start'],_0x5a2324['end']=_0x544859['end']):(_0x41a386['delete'](_0xbf5658['name']),_0x5a2324['detach']());}});}}});}),_0x108e55['document']['on']('change',()=>{_0x41a386['size']>0x0&&_0x108e55['enqueueChange']({'isUndoable':!0x1},_0xff0e84=>{for(const [_0x54ed66,_0x38086b]of _0x41a386)'$graveyard'==_0x108e55['markers']['get'](_0x54ed66)['getRange']()['root']['rootName']&&(Z(_0x54ed66['split'](':')[0x2],_0x38086b['toRange'](),_0x108e55,_0xff0e84),_0x38086b['detach']());_0x41a386['clear']();});});}(_0xc228c9),this['_domEmitter']['listenTo'](_0x152fd1['document'],'keydown',(_0x58176f,{key:_0x1efea4})=>{'Escape'===_0x1efea4&&function(_0x1c5f40){_0x1c5f40['editing']['view']['change'](_0x416876=>{for(const _0x4ed40a of _0x1c5f40['model']['markers']){if(!_0x4ed40a['name']['startsWith']('user:position'))continue;const _0x133d8a=_0x1c5f40['editing']['mapper']['markerNameToElements'](_0x4ed40a['name']);if(_0x133d8a){for(const _0x539e80 of _0x133d8a)_0x416876['removeClass']('ck-user__marker_hovered',_0x539e80);}}});}(_0xc228c9);},{'useCapture':!0x0});}['afterInit'](){const _0x416acc=this['editor'],_0x4d3144=_0x416acc['commands']['get']('undo');_0x4d3144&&_0x416acc['model']['on']('applyOperation',(_0x3dda1e,_0x34dca6)=>{const _0x31fb69=_0x34dca6[0x0];if(!_0x31fb69['isDocumentOperation'])return;if('marker'!=_0x31fb69['type']||!_0x31fb69['name']['startsWith']('user:'))return;const _0xe37e76=_0x31fb69['batch'];_0x4d3144['_createdBatches']['has'](_0xe37e76)&&(_0x31fb69['newRange']=_0x31fb69['oldRange']?_0x416acc['model']['createRange'](_0x31fb69['oldRange']['start'],_0x31fb69['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x358c2d=this['editor'],_0x194e84=_0x358c2d['model']['document'],_0x35e80e=_0x358c2d['plugins']['get'](i);_0x358c2d['model']['enqueueChange']({'isUndoable':!0x1},_0x4ab1bc=>{const _0x8b0847='user:range:'+_0x35e80e['mySessionId'],_0x50fb5e='user:position:'+_0x35e80e['mySessionId'],_0x4ca2c0=_0x358c2d['model']['markers']['has'](_0x8b0847);_0x358c2d['editing']['view']['hasDomSelection']?Z(_0x35e80e['mySessionId'],_0x194e84['selection']['getFirstRange'](),_0x358c2d['model'],_0x4ab1bc):_0x4ca2c0&&(_0x4ab1bc['removeMarker'](_0x8b0847),_0x4ab1bc['removeMarker'](_0x50fb5e));});}}function Z(_0x1c10f3,_0x3cd169,_0x10057b,_0x355565){const _0x195d61='user:range:'+_0x1c10f3,_0x18d58b='user:position:'+_0x1c10f3,_0x50f00=_0x3cd169['getContainedElement']();let _0x475263=_0x3cd169['start'];if(_0x50f00&&_0x50f00['is']('element','tableCell')){const _0x317588=function(_0x11323e,_0x4dae3f){for(const _0x5986fb of _0x11323e['getPositions']())if(_0x4dae3f['schema']['checkChild'](_0x5986fb,'$text'))return _0x5986fb;}(_0x3cd169,_0x10057b);_0x317588&&(_0x475263=_0x317588,_0x3cd169=_0x355565['createRange'](_0x475263));}const _0x533742=_0x355565['createRange'](_0x475263);_0x10057b['markers']['has'](_0x195d61)?(_0x355565['updateMarker'](_0x195d61,{'range':_0x3cd169}),_0x355565['updateMarker'](_0x18d58b,{'range':_0x533742})):(_0x355565['addMarker'](_0x195d61,{'range':_0x3cd169,'usingOperation':!0x0}),_0x355565['addMarker'](_0x18d58b,{'range':_0x533742,'usingOperation':!0x0}));}function W(_0x303671,_0x2c48f9,_0x524ecd){const _0x35b3e1=_0x303671['t'],t=_0x303671['t'];switch(_0x2c48f9){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 _0x35b3e1({'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'},_0x524ecd);default:return'';}}let G=0x1;class l extends _0x2eb914{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x37b548)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,V,_0x51f281,_0x1c3b75,_0x14150c];}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 _0x24ceab=this['serverHistory']['getOperations']();for(let _0x550cd6=_0x24ceab['length']-0x1;_0x550cd6>=0x0;_0x550cd6--){const _0x295233=_0x24ceab[_0x550cd6];if(!this['_disconnectionOperations']['has'](_0x295233))return _0x295233['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2f0df2){if(super(_0x2f0df2),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x234f05(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x11a589('collaboration-missing-channelid',this);const _0x2a2121=_0x2f0df2['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x2a2121,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5e10ff(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x53c46d=this['editor'],_0x950300=_0x53c46d['plugins']['get'](_0x1c3b75),_0x16a272=_0x53c46d['plugins']['get'](n);this['listenTo'](_0x950300,'getOperationAuthor',(_0x4ab76a,_0xc9fb22)=>{const _0x228a82=_0xc9fb22[0x0];_0x228a82['_authorId']&&(_0x4ab76a['return']=_0x950300['getUser'](_0x228a82['_authorId']),_0x4ab76a['stop']()),null===_0x228a82['_authorId']&&(_0x4ab76a['return']=null,_0x4ab76a['stop']());},{'priority':'high'}),this['listenTo'](_0x53c46d['model']['document']['selection'],'change:range',(_0x2287ec,_0x3ef531)=>{_0x3ef531['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x53c46d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x53c46d['model']['on']('applyOperation',(_0x36acd1,_0x216f2f)=>{const _0x199287=_0x216f2f[0x0];_0x199287['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x199287),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x16a272,'state',this,'_hasSynchronizationProblem',(_0xdecea6,_0x27fb12)=>'connected'===_0xdecea6&&!_0x27fb12),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x53c46d['disableReadOnlyMode']('rtc-offline'):_0x53c46d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x53c46d['disableReadOnlyMode']('rtc-offline'):_0x53c46d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4a62f4=this['editor']['plugins']['get'](i),_0x1e9f39=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x4a62f4['unregister'](this['_channelId']);const _0x5ca456=await this['_service']['reconnect'](_0x1e9f39['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5ca456)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x495ad5=await this['_service']['getConnectedSessions']();_0x4a62f4['register'](this['_channelId'],_0x495ad5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3e7175){if(function(_0x1f51b1){return'404'===_0x1f51b1['code'];}(_0x3e7175)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x507cca){return'409'===_0x507cca['code'];}(_0x3e7175)){const _0x4b3ca2=W(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'](_0x4b3ca2);}else{if(!(_0x3e7175 instanceof $))throw _0x3e7175;this['_handleReconnectionError']();}}}}['destroy'](){const _0xf888fe=this['editor']['plugins']['get'](n),_0x2cf55f=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2cf55f['channelSessions']['has'](this['_channelId'])&&_0x2cf55f['unregister'](this['_channelId']),_0xf888fe['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2146a6){if(this['sessionId']!==_0x2146a6['sessionId']&&this['_lastSyncedOperationId']!==_0x2146a6['lastOperationId'])throw new $();return this['sessionId']=_0x2146a6['sessionId'],this['_handleServerResponse']([],{..._0x2146a6,'wereChangesApplied':!0x1,'data':_0x2146a6['data']},'reconnect');}async['_connectService'](_0x5a6da2,_0x312df7=!0x1){const {connection:_0x34edf3}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x34edf3,this['_channelId'])['then'](_0x3b9ea0=>this['_initSessionsHandling'](_0x3b9ea0))['catch'](_0x36b818=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x36b818);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x3bb309,_0x4be302)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4be302);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x27d664=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a6da2);this['_isPendingUpdate']=!0x0;const _0x580049=await this['_service']['connect'](_0x34edf3,this['_compressOperations'](_0x5a6da2),_0x27d664);if(this['sessionId']=_0x580049['sessionId'],_0x312df7){if(!_0x580049['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x580049['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5a6da2,_0x580049,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x580049,_0x5a6da2);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1c4fb5=this['editor']['plugins']['get'](i),_0x5ab261=this['editor']['plugins']['get'](V),_0x17e040=_0x1c4fb5['channelSessions']['get'](this['_channelId']);_0x17e040&&_0x17e040['length']>0x1?_0x5ab261['createUserMarkerOperations']():this['listenTo'](_0x1c4fb5,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1c4fb5['channelSessions']['get'](this['_channelId'])['length']&&_0x5ab261['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x5a4c66,_0x372953,_0x3899c9,_0x215137){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x372953){const _0x2bd5a9=this['_decompressOperations'](_0x3899c9,_0x215137);await this['_fetchMissingUsers'](_0x2bd5a9),this['_handleExternalOperations'](_0x2bd5a9,_0x372953,_0x3899c9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x490e88}=this['editor'];let _0xf9e862;try{_0xf9e862=await this['_service']['getDocumentDetails']();}catch{const _0x1f4365=W(_0x490e88,'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'](_0x1f4365);}const _0x6165f5=_0xf9e862['currentDocumentSession']||_0xf9e862['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x6165f5['lastOperationId']){const _0x474991=W(_0x490e88,'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'](_0x474991);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x16726a){const _0x28e08e=this['editor']['plugins']['get'](i);this['listenTo'](_0x28e08e,'sessionAdd:'+this['_channelId'],(_0x2101cf,{session:_0x5e0bdd})=>{if(_0x5e0bdd['id']===_0x28e08e['mySessionId']){_0x2101cf['off']();const _0x19652e=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4b6cfb=_0x5e0bdd['permissions'];_0x19652e&&_0x19652e['isEnabled']&&(_0x4b6cfb=_0x4b6cfb['filter'](_0x2fa91e=>'document:write'!==_0x2fa91e)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4b6cfb,this['_channelId']);}}),_0x28e08e['register'](this['_channelId'],_0x16726a);}['_initThrowingOnDataSet'](){const _0x2a69c0=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4282c4)=>{if(!_0x4282c4[_0x4282c4['length']-0x1]['suppressErrorInCollaboration'])throw new _0x11a589('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2a69c0['apply'](this['editor']['data'],_0x4282c4);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x108dbd,[_0x556e18])=>{if(this['_document']['version'])throw new _0x11a589('realtimecollaborationclient-init-document-already-initialized',this);_0x108dbd['stop'](),this['_setPendingAction']();const _0x4dd858=this['editor']['config']['get']('rootsAttributes'),_0x4323b7=this['_getOperationsFromInitData'](_0x556e18,_0x4dd858);0x0==_0x4323b7['length']&&_0x4323b7['push'](new _0x483866(0x0)),_0x108dbd['return']=this['_connectService'](_0x4323b7)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x167308=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x167308))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2f15a9,[_0x1a59e1,_0x1efb60])=>{_0x2f15a9['stop']();const _0x3fed72=this['editor']['model']['document']['getRoot'](_0x1a59e1);if(!this['_knownRootNames']['has'](_0x1a59e1)){const _0x5b65e4=_0x1efb60&&_0x1efb60['data']?_0x1efb60['data']:'',_0x5228ec=_0x1efb60&&_0x1efb60['attributes']?_0x1efb60['attributes']:{};await this['_loadRoot'](_0x1a59e1,_0x5b65e4,_0x5228ec);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3fed72['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3fed72);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x440670){const _0x525982=this['editor']['plugins']['get'](_0x1c3b75),{connection:_0x240f00}=this['editor']['plugins']['get'](n),_0x3eb3f3=new Set();for(const _0x171e06 of _0x440670){const _0x12f82b=_0x171e06['_authorId'];_0x12f82b&&!_0x525982['getUser'](_0x12f82b)&&_0x3eb3f3['add'](_0x12f82b);}if(0x0===_0x3eb3f3['size'])return;const _0x11efa1=await lt['getMany'](_0x240f00,Array['from'](_0x3eb3f3));for(const _0x43477b of _0x11efa1)_0x525982['getUser'](_0x43477b['id'])||_0x525982['addUser'](_0x43477b);}['_getOperationsFromInitData'](_0x3feaf8,_0x39c1ae={}){const _0x137d5f=this['editor']['model'],_0xc9ec64=[];let _0x2451d1=0x0;const _0x55950f='string'==typeof _0x3feaf8?{'main':_0x3feaf8}:_0x3feaf8;for(const _0x5047ee of Object['keys'](_0x55950f)){if(!this['_document']['roots']['has'](_0x5047ee))throw new _0x11a589('realtimecollaborationclient-init-non-existent-root',this);const _0x528999=this['editor']['data']['parse'](_0x55950f[_0x5047ee]),_0x7aaadf=this['_document']['getRoot'](_0x5047ee),_0x3ced27=new _0x3ab72c(_0x137d5f['createPositionAt'](_0x7aaadf,0x0),_0x528999,_0x2451d1++);_0xc9ec64['push'](_0x3ced27);for(const [_0x36807e,_0x37601b]of _0x528999['markers']){const _0x47366c=_0x137d5f['createRange'](_0x137d5f['createPositionFromPath'](_0x7aaadf,_0x37601b['start']['path']['slice']()),_0x137d5f['createPositionFromPath'](_0x7aaadf,_0x37601b['end']['path']['slice']())),_0x35bb0d=new _0x44608c(_0x36807e,null,_0x47366c,_0x137d5f['markers'],!0x0,_0x2451d1++);_0xc9ec64['push'](_0x35bb0d);}}if(_0x39c1ae)for(const [_0x3d450c,_0x92c3fd]of Object['entries'](_0x39c1ae)){const _0x4ebf3b=_0x137d5f['document']['getRoot'](_0x3d450c);if(!_0x4ebf3b)throw new _0x11a589('multi-root-editor-root-attributes-no-root',null);for(const [_0x48c1e3,_0x49bb03]of Object['entries'](_0x92c3fd))if(null!==_0x49bb03){const _0x4b4cce=new _0x1a2417(_0x4ebf3b,_0x48c1e3,null,_0x49bb03,_0x2451d1++);_0xc9ec64['push'](_0x4b4cce);}}return _0xc9ec64;}async['_loadRoot'](_0x1894ac,_0x4be632,_0x4a537a){this['_getOperationsFromInitData']({[_0x1894ac]:_0x4be632},{[_0x1894ac]:_0x4a537a})['forEach']((_0x2adc36,_0x343b94)=>{_0x2adc36['baseVersion']=this['_document']['version']+_0x343b94,_0x2adc36['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2adc36);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x562eaf,_0x49c735){let _0x593581;this['_offset']=_0x562eaf['offset'];const _0x48a952=_0x562eaf['wereChangesApplied']&&!_0x562eaf['initData'],_0x59ea8f=_0x48a952?0x0:_0x562eaf['data']['baseVersion'];if(_0x49c735['forEach'](_0x22dc47=>{_0x22dc47['_isInit']=!0x0,_0x22dc47['createdAt']=_0x562eaf['sessionCreatedAt'],_0x22dc47['_authorId']=null;}),_0x48a952)_0x593581=_0x49c735,this['_applyOperationsSet'](_0x593581,_0x48a952);else{if(_0x562eaf['initData']){const _0x32dfcb=this['_getOperationsFromInitData'](_0x562eaf['initData']);this['_document']['history']['version']=-_0x32dfcb['length'],_0x32dfcb['forEach'](_0x4822b3=>{_0x4822b3['baseVersion']-=_0x32dfcb['length'],_0x4822b3['createdAt']=_0x562eaf['sessionCreatedAt'],_0x4822b3['_isInit']=!0x0,_0x4822b3['_authorId']=null;}),this['_applyOperationsSet'](_0x32dfcb,!0x0),this['serverHistory']['version']=-_0x32dfcb['length']+this['_offset'],this['_updateServerHistory'](_0x32dfcb);}this['_document']['history']['version']=_0x59ea8f,_0x593581=this['_decompressOperations'](_0x562eaf['data'],_0x562eaf['metadata']),await this['_fetchMissingUsers'](_0x593581),this['_applyOperationsSet'](_0x593581,_0x48a952);}_0x562eaf['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x593581,_0x562eaf['lastOperationId']),this['_lastSyncedOperationId']=_0x562eaf['lastOperationId']),this['serverHistory']['version']=_0x59ea8f+this['_offset'],this['_updateServerHistory'](_0x593581),_0x49c735['filter'](_0x43fc90=>{const _0x179158=this['_getAffectedRoot'](_0x43fc90);return _0x179158&&!this['_knownRootNames']['has'](_0x179158);})['forEach']((_0x54d5c4,_0x192e8d)=>{_0x54d5c4['baseVersion']=this['_document']['version']+_0x192e8d,this['_saveOperationInBuffer'](_0x54d5c4);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xba6a1b,_0x490d57){const _0x5a94db=_0x490d57&&_0x490d57['message'];if(_0x5a94db&&_0x5a94db['startsWith']('realtimecollaborationclient'))throw _0x490d57;const _0x29696b=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x29696b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x11a589(_0xba6a1b,this['editor'],_0x5a94db?{'originalError':_0x5a94db}:void 0x0);}['_saveOperationInBuffer'](_0x479a46){this['_knownOperations']['has'](_0x479a46)||(this['_knownOperations']['add'](_0x479a46),this['_bufferedOperations']['push'](_0x479a46),this['_pendingAction']||'marker'==_0x479a46['type']&&!_0x479a46['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x302e77=!0x1){!_0x302e77&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x59a5a3=>{_0x59a5a3&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x21baf2=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x224e35){return _0x224e35['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x224e35['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x224e35['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x21baf2)||this['_crash'](_0x21baf2['message'],_0x21baf2);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x952f89=>{this['on']('change:_isPendingUpdate',()=>{_0x952f89();});});}async['_sendBufferedOperations'](){const _0x44e09d=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x44e09d['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x30ed70=[...this['_bufferedOperations']];for(const _0x364029 of _0x30ed70)_0x364029['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x364029);const _0x5d2a92=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x30ed70),_0x1cd8e9=G++,_0x3b1fbe=this['_compressOperations'](_0x30ed70),_0x207dc4=await this['_service']['sendOperations'](_0x3b1fbe,_0x3b1fbe['baseVersion'],_0x5d2a92);try{return await this['_handleServerResponse'](_0x30ed70,_0x207dc4,_0x1cd8e9);}catch(_0x3c34ec){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3c34ec);}}async['_handleServerResponse'](_0x29bfe3,_0x1c83b2,_0x201705){if('error'in _0x1c83b2)throw _0x1c83b2['error'];let _0x276761=!0x1;if(_0x1c83b2['wereChangesApplied']){_0x1c83b2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1c83b2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x54f819=>!_0x29bfe3['includes'](_0x54f819));for(const _0x2a9266 of _0x29bfe3)_0x2a9266['createdAt']='lastOperationAcceptedAt'in _0x1c83b2&&_0x1c83b2['lastOperationAcceptedAt']||void 0x0;K(_0x29bfe3,_0x1c83b2['version']-_0x29bfe3['length']),this['_updateServerHistory'](_0x29bfe3);const _0x5a5ee5=_0x29bfe3['filter'](_0x340dc=>{if(!_0x340dc['_isInit'])return!0x1;const _0x1d53ea=this['_getAffectedRoot'](_0x340dc);return _0x1d53ea&&!this['_knownRootNames']['has'](_0x1d53ea);});K(_0x5a5ee5,this['_document']['version']),this['_applyOperationsSet'](_0x5a5ee5),_0x276761=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1fbf8d=this['_decompressOperations'](_0x1c83b2['data'],_0x1c83b2['metadata'])['filter'](_0x219143=>_0x219143['baseVersion']>=this['_lastServerVersion']);_0x1fbf8d['forEach'](_0x2b745c=>this['_addKnownRoot'](_0x2b745c)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x39cfa9=>!_0x39cfa9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x39cfa9))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1fbf8d),_0x276761=this['_handleExternalOperations'](_0x1fbf8d,_0x1c83b2['version'],_0x1c83b2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x276761?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x70e62a,_0x183df6,_0x2fee0d){try{const _0x6bc9dc={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xcbc51f,operationsB:_0x399a0a,originalOperations:_0x4e8e86}=_0x28f9e8(_0x70e62a,this['_bufferedOperations'],_0x6bc9dc);K(_0xcbc51f,this['_document']['version']),K(_0x399a0a,_0x183df6);for(const _0x14b1a5 of _0xcbc51f){const _0x3ecc2a=_0x4e8e86['get'](_0x14b1a5);_0x14b1a5['_authorId']=_0x3ecc2a?_0x3ecc2a['_authorId']:null;}_0x2fee0d&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x70e62a,_0x2fee0d),this['_lastSyncedOperationId']=_0x2fee0d),this['_bufferedOperations']=[..._0x399a0a],this['_applyOperationsSet'](_0xcbc51f),this['_updateServerHistory'](_0x70e62a);}catch(_0x376f77){return console['error'](_0x376f77),!0x1;}return!0x0;}['_applyOperationsSet'](_0x403e0d,_0x432b07=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3d60be=>{for(const _0x1ba022 of _0x403e0d)this['_knownOperations']['add'](_0x1ba022),this['_addKnownRoot'](_0x1ba022),_0x3d60be['batch']['addOperation'](_0x1ba022),this['editor']['model']['applyOperation'](_0x1ba022);});}['_addKnownRoot'](_0x55d5af){const _0x3ddce1=this['_getAffectedRoot'](_0x55d5af);_0x3ddce1&&this['_knownRootNames']['add'](_0x3ddce1);}['_getAffectedRoot'](_0x245194){let _0xedb674,_0x54b63a;switch(_0x245194['type']){case'insert':_0xedb674=_0x245194['position']['root'];break;case'marker':if(_0x54b63a=_0x245194['newRange'],!_0x54b63a)return null;_0xedb674=_0x54b63a['root'];break;case'addRootAttribute':_0xedb674=_0x245194['root'];break;case'addRoot':_0xedb674=_0x245194['affectedSelectable'];break;case'move':_0xedb674=_0x245194['targetPosition']['root'];break;default:return null;}return _0xedb674['rootName'];}['_updateServerHistory'](_0x168e99){_0x168e99['forEach'](_0x21edea=>{const _0x181efb=_0x21edea['clone']();_0x181efb['_authorId']=_0x21edea['_authorId'],_0x181efb['_isInit']=!!_0x21edea['_isInit'],_0x181efb['createdAt']=_0x21edea['createdAt'],_0x181efb['baseVersion']+=this['_offset'],_0x21edea['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x181efb),this['serverHistory']['addOperation'](_0x181efb);});}['_handleReconnectionError'](_0x2df07f){const _0x474faf=this['editor']['plugins']['get']('Notification'),_0x36f231=this['editor']['locale'];_0x2df07f||(_0x2df07f=W(_0x36f231,'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.')),_0x474faf['showWarning'](_0x2df07f,{'title':W(_0x36f231,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x51f281)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x51f281)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2ab9bd){const _0x163295=_0x2ab9bd['map'](_0x314d38=>_0x314d38['toJSON']());return this['_compressor']['compress'](_0x163295);}['_decompressOperations'](_0x3b43e2,_0x773fe3){return this['_compressor']['decompress'](_0x3b43e2)['map']((_0x5d22de,_0x4909e0)=>{const _0x375e98='init'==_0x773fe3[_0x4909e0]['type'];if('InsertOperation'==_0x5d22de['__className']){const _0x5381a6=_0x5d22de['position']['root'];!this['_document']['getRoot'](_0x5381a6)&&(this['_document']['createRoot']('$root',_0x5381a6)['_isAttached']=!0x1);}const _0x13d706=_0x13ab7b['fromJSON'](_0x5d22de,this['_document']);return _0x13d706['wasUndone']=_0x5d22de['wasUndone'],_0x13d706['_isInit']=_0x375e98,_0x13d706['_authorId']=_0x375e98?null:_0x773fe3[_0x4909e0]['userId'],_0x13d706['_isDisconnection']='cs:removeUser'===_0x773fe3[_0x4909e0]['type'],_0x13d706['createdAt']=_0x773fe3[_0x4909e0]['createdAt'],_0x13d706;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x760aed=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x760aed&&_0x760aed['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x52bce,_0x25eb16){for(const _0x2eb55f of _0x52bce)_0x2eb55f['baseVersion']=_0x25eb16++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x3a6c51){this['_ignoredOperations']=_0x3a6c51,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xc1a743){let _0x2d6b9b=_0xc1a743['length'];for(;_0x2d6b9b--;){const _0xc73014=_0xc1a743[_0x2d6b9b];if(!this['_ignoredOperations']['has'](_0xc73014)){if(!this['_operationToId']['has'](_0xc73014)){const _0x13acc5=_0x402d66()['slice'](0x1,0x12);this['_operationToId']['set'](_0xc73014,_0x13acc5);}return this['_operationToId']['get'](_0xc73014);}}}['setIdForTheLastOperation'](_0x13b931,_0x8af72f){if(!_0x8af72f)return;let _0x35647c=_0x13b931['length'];for(;_0x35647c--;){const _0x437116=_0x13b931[_0x35647c];this['_ignoredOperations']['has'](_0x437116)||this['_operationToId']['set'](_0x437116,_0x8af72f);}}}class a extends _0x2eb914{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x518ffb{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0xd7cbbf)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1c3b75];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3c5066){super(_0x3c5066),this['_services']=new Map();}async['init'](){const _0x316b12=this['context'],_0x1491af=_0x316b12['plugins']['get']('CommentsRepository');if(_0x316b12['plugins']['get'](n)['addToReconnectionStack'](this),_0x1491af['adapter']={'addCommentThread':async({channelId:_0x126554,threadId:_0x28687b,comments:_0x18c5d0,resolvedAt:_0x47c7d0,resolvedBy:_0x5bab1f,context:_0x162df9,attributes:_0x13c608})=>{const _0x43b9bf=await this['_getService'](_0x126554)['addCommentThread']({'commentThreadId':_0x28687b,'comments':_0x18c5d0['map'](_0x289cc4=>function(_0x29a2bb,_0x184745,_0x45cdf9){return{'commentThreadId':_0x45cdf9,'commentId':_0x29a2bb['commentId'],'userId':_0x29a2bb['authorId'],'content':_0x29a2bb['content'],'documentId':_0x184745,'createdAt':_0x29a2bb['createdAt'],'attributes':_0x29a2bb['attributes']||{}};}(_0x289cc4,_0x126554,_0x28687b)),'resolvedAt':_0x47c7d0,'resolvedBy':_0x5bab1f,'context':_0x162df9,'attributes':_0x13c608})['catch'](dt);return{'threadId':_0x43b9bf['commentThreadId'],'comments':_0x43b9bf['comments']};},'getCommentThread':async({channelId:_0xd4631c,threadId:_0xc663be})=>{const _0x127dd2=await this['_getService'](_0xd4631c)['getCommentThread'](_0xc663be)['catch'](f)['catch'](dt);return _0x127dd2?_0x127dd2['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x127dd2]),{'threadId':_0x127dd2['commentThreadId'],'comments':_0x127dd2['comments']['map'](p),'context':_0x127dd2['context'],'resolvedAt':_0x127dd2['resolvedAt'],'resolvedBy':_0x127dd2['resolvedBy'],'attributes':_0x127dd2['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2f7c22,threadId:_0x42d9fe,context:_0x560357,unlinkedAt:_0x1c05e7,attributes:_0x1f40ec})=>this['_getService'](_0x2f7c22)['updateCommentThread']({'commentThreadId':_0x42d9fe,'context':_0x560357,'attributes':_0x1f40ec,'unlinkedAt':_0x1c05e7})['catch'](f)['catch'](dt),'resolveCommentThread':async({channelId:_0x42839c,threadId:_0x8188e9})=>{const _0x2853a2=await this['_getService'](_0x42839c)['resolveCommentThread'](_0x8188e9)['catch'](f)['catch'](dt);return{'threadId':_0x2853a2['commentThreadId'],'resolvedAt':_0x2853a2['resolvedAt'],'resolvedBy':_0x2853a2['resolvedBy']};},'reopenCommentThread':async({channelId:_0x52b48f,threadId:_0x50a392})=>this['_getService'](_0x52b48f)['reopenCommentThread'](_0x50a392)['catch'](f)['catch'](dt),'removeCommentThread':({channelId:_0x5692f3,threadId:_0x817881})=>this['_getService'](_0x5692f3)['removeCommentThread'](_0x817881)['catch'](f)['catch'](dt),'addComment':({channelId:_0x48ad11,threadId:_0x569bd7,commentId:_0x5a51be,content:_0x436c86,attributes:_0x24614d})=>this['_getService'](_0x48ad11)['addComment'](_0x569bd7,_0x5a51be,_0x436c86,_0x24614d)['catch'](dt),'updateComment':({channelId:_0x49f973,threadId:_0x52d9e4,commentId:_0xf8dc57,content:_0x7110bb,attributes:_0xec3d95})=>this['_getService'](_0x49f973)['updateComment'](_0x52d9e4,_0xf8dc57,_0x7110bb,_0xec3d95)['catch'](f)['catch'](dt),'removeComment':({channelId:_0x42cf90,threadId:_0x57351a,commentId:_0x11dba2})=>this['_getService'](_0x42cf90)['removeComment'](_0x57351a,_0x11dba2)['catch'](f)['catch'](dt)},_0x316b12 instanceof _0xa6004f){const _0x578eb9=_0x316b12['config']['get']('collaboration.channelId'),_0x6d176b=_0x316b12['plugins']['get'](i);await this['_setUpService'](_0x578eb9);const _0x55911a=await this['_services']['get'](_0x578eb9)['getConnectedSessions']();this['listenTo'](_0x6d176b,'sessionAdd:'+_0x578eb9,(_0x345874,{session:_0xd145d2})=>{_0xd145d2['id']===_0x6d176b['mySessionId']&&(_0x345874['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xd145d2['permissions'],_0x578eb9));}),_0x6d176b['register'](_0x578eb9,_0x55911a);}}async['_setUpService'](_0x54dcab){if(this['_services']['has'](_0x54dcab))throw new _0x11a589('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x54dcab});const _0x396e2d=this['context']['plugins']['get']('CommentsRepository'),_0x24173a=new s['CommentsService'](_0x54dcab);this['_services']['set'](_0x54dcab,_0x24173a),this['listenTo'](_0x24173a,'commentThreadAdded',(_0x39cad3,_0xb9c8ea)=>{const {commentThreadId:_0x1f1169,documentId:_0x4b7af4,context:_0xe9bc32,attributes:_0x2bebe7,resolvedAt:_0x26d469,resolvedBy:_0x4da1f2,comments:_0x3ce4aa}=_0xb9c8ea;_0x396e2d['getCommentThread'](_0x1f1169)||_0x396e2d['addCommentThread']({'threadId':_0x1f1169,'channelId':_0x4b7af4,'comments':_0x3ce4aa?_0x3ce4aa['map'](p):[],'context':_0xe9bc32,'attributes':_0x2bebe7,'resolvedAt':_0x26d469,'resolvedBy':_0x4da1f2,'isFromAdapter':!0x0});}),this['listenTo'](_0x24173a,'commentThreadUpdated',(_0x5c51d6,{commentThreadId:_0x2735e2,documentId:_0x12fe83,context:_0x25ed51,unlinkedAt:_0x135a28,attributes:_0x50a598})=>{_0x396e2d['getCommentThread'](_0x2735e2)&&_0x396e2d['updateCommentThread']({'threadId':_0x2735e2,'channelId':_0x12fe83,'context':_0x25ed51,'unlinkedAt':_0x135a28,'attributes':_0x50a598,'isFromAdapter':!0x0});}),this['listenTo'](_0x24173a,'commentThreadResolved',(_0x1499d4,{commentThreadId:_0x57fa6d,resolvedBy:_0x38d15f,resolvedAt:_0x355ea9})=>{const _0x3cd7c0=_0x396e2d['getCommentThread'](_0x57fa6d);_0x3cd7c0&&_0x3cd7c0['resolve']({'resolvedBy':_0x38d15f,'resolvedAt':_0x355ea9,'isFromAdapter':!0x0});}),this['listenTo'](_0x24173a,'commentThreadReopened',(_0x2184c5,{commentThreadId:_0x1188c3})=>{const _0x9dbf0d=_0x396e2d['getCommentThread'](_0x1188c3);_0x9dbf0d&&_0x9dbf0d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x24173a,'commentThreadRemoved',(_0x1a1852,{commentThreadId:_0x17a958})=>{const _0xed13b5=_0x396e2d['getCommentThread'](_0x17a958);_0xed13b5&&_0xed13b5['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x24173a,'commentAdded',(_0x5817ea,_0x431522)=>{const _0x139afc=_0x431522['commentThreadId'],_0x522043=_0x396e2d['getCommentThread'](_0x139afc);_0x522043&&_0x522043['addComment']({...p(_0x431522),'isFromAdapter':!0x0});}),this['listenTo'](_0x24173a,'commentUpdated',(_0x48db07,{commentThreadId:_0x3b3738,commentId:_0x2efd89,content:_0x36b9d3,attributes:_0x82517})=>{const _0x21bac5=_0x396e2d['getCommentThread'](_0x3b3738);if(_0x21bac5){const _0xa83738=_0x21bac5['getComment'](_0x2efd89);_0xa83738&&_0xa83738['update']({'content':_0x36b9d3,'attributes':_0x82517,'isFromAdapter':!0x0});}}),this['listenTo'](_0x24173a,'commentRemoved',(_0x5b217e,{commentThreadId:_0x1b7ef8,commentId:_0x5bf1f3})=>{const _0x3678b6=_0x396e2d['getCommentThread'](_0x1b7ef8);if(_0x3678b6){const _0x2b9c03=_0x3678b6['getComment'](_0x5bf1f3);_0x2b9c03&&_0x2b9c03['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x54dcab);}['destroy'](){if(this['context']instanceof _0xa6004f){const _0x1f0807=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1f0807);}}['_terminateService'](_0x3b5435){if(!this['_services']['has'](_0x3b5435))throw new _0x11a589('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3b5435});this['_getService'](_0x3b5435)['disconnect'](),this['_services']['delete'](_0x3b5435);}async['reconnect'](){for(const _0x3ea0ba of this['_services']['keys']())await this['_connectService'](_0x3ea0ba);if(this['context']instanceof _0xa6004f){const _0x5decbd=this['context']['config']['get']('collaboration.channelId'),_0x59f36f=this['context']['plugins']['get'](i);_0x59f36f['unregister'](_0x5decbd);const _0x409a2a=await this['_services']['get'](_0x5decbd)['getConnectedSessions']();_0x59f36f['register'](_0x5decbd,_0x409a2a);}}async['_connectService'](_0xd0dd18){const {connection:_0x335b1e}=this['context']['plugins']['get'](n),_0x1679c5=this['context']['plugins']['get']('CommentsRepository'),_0x5f174b=this['_services']['get'](_0xd0dd18),_0x109099=await _0x5f174b['connect'](_0x335b1e);await this['_fetchMissingUsersForThreads'](_0x109099);const _0x521064=new Set(Array['from'](_0x1679c5['getCommentThreads']({'channelId':_0xd0dd18}),_0x393d81=>_0x393d81['id']));for(const _0x33add0 of _0x109099)_0x33add0['deletedAt']||_0x521064['delete'](_0x33add0['commentThreadId']);for(const _0x1c0602 of _0x521064)_0x1679c5['getCommentThread'](_0x1c0602)['remove']({'isFromAdapter':!0x0});for(const _0x6c4922 of _0x109099){let _0x596e17=_0x1679c5['getCommentThread'](_0x6c4922['commentThreadId']);const {commentThreadId:_0x1c8f50,context:_0x3aaafc,attributes:_0x5d5679,resolvedBy:_0x5e6249,resolvedAt:_0x486773,unlinkedAt:_0x490e16,deletedAt:_0x5d659b}=_0x6c4922;if(_0x5d659b)continue;_0x596e17||(_0x596e17=_0x1679c5['addCommentThread']({'channelId':_0xd0dd18,'threadId':_0x1c8f50,'context':_0x3aaafc,'attributes':_0x5d5679||{},'resolvedBy':_0x5e6249,'resolvedAt':_0x486773,'unlinkedAt':_0x490e16,'isFromAdapter':!0x0}));const _0x195b90=new Set(Array['from'](_0x596e17['comments'],_0x5f2ea7=>_0x5f2ea7['id']));for(const _0x273416 of _0x6c4922['comments'])_0x195b90['delete'](_0x273416['commentId']);for(const _0x52ebd4 of _0x195b90)_0x596e17['getComment'](_0x52ebd4)['remove']({'isFromAdapter':!0x0});for(const _0x20014f of _0x6c4922['comments']){const _0x49aa74=_0x596e17['getComment'](_0x20014f['commentId']);_0x49aa74?_0x49aa74['content']!==_0x20014f['content']&&_0x49aa74['update']({'content':_0x20014f['content'],'isFromAdapter':!0x0}):_0x596e17['addComment'](Object['assign'](p(_0x20014f),{'isFromAdapter':!0x0}));}}}['_getService'](_0x43a32c){if(!this['_services']['has'](_0x43a32c))throw new _0x11a589('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x43a32c});return this['_services']['get'](_0x43a32c);}async['_fetchMissingUsersForThreads'](_0x498e04){const _0x5c4b3f=this['context']['plugins']['get'](_0x1c3b75),{connection:_0xa379ff}=this['context']['plugins']['get'](n),_0x4427d8=new Set();for(const {resolvedBy:_0x28c36f,comments:_0x3eca10}of _0x498e04){_0x28c36f&&!_0x5c4b3f['getUser'](_0x28c36f)&&_0x4427d8['add'](_0x28c36f);for(const {userId:_0xa1f2af}of _0x3eca10)_0x5c4b3f['getUser'](_0xa1f2af)||_0x4427d8['add'](_0xa1f2af);}if(0x0===_0x4427d8['size'])return;const _0x614f4b=await lt['getMany'](_0xa379ff,Array['from'](_0x4427d8));for(const _0x33f7b7 of _0x614f4b)_0x5c4b3f['getUser'](_0x33f7b7['id'])||_0x5c4b3f['addUser'](_0x33f7b7);}}async function f(_0x435699){if('404'!==_0x435699['code'])throw _0x435699;}function dt(_0x14a99a){if((_0x358075=_0x14a99a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x358075['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x358075['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x358075;throw _0x14a99a;}function p(_0x7d2ab3){return{'threadId':_0x7d2ab3['commentThreadId'],'commentId':_0x7d2ab3['commentId'],'content':_0x7d2ab3['content'],'createdAt':_0x7d2ab3['createdAt'],'authorId':_0x7d2ab3['userId'],'attributes':_0x7d2ab3['attributes']||{}};}class m extends _0x2eb914{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2180de){super(_0x2180de);const _0x3ae98a=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3ae98a);}['init'](){const _0x5091b2=this['editor']['plugins']['get'](n),_0x206dce=this['editor']['plugins']['get']('TrackChangesEditing');return _0x206dce['adapter']={'getSuggestion':async _0x33c1e6=>{await this['_waitForServiceReady']();const _0x3e42d2=await this['_trackChangesService']['get'](_0x33c1e6)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x3e42d2]),_0x3e42d2;},'addSuggestion':async({id:_0x3ec9c1,type:_0x3a7fd7,data:_0x499969,originalSuggestionId:_0x3d24ce,attributes:_0x1df71e})=>{await this['_waitForServiceReady']();const _0x5ba43e={'id':_0x3ec9c1,'type':_0x3a7fd7,'data':_0x499969,'originalSuggestionId':_0x3d24ce,'attributes':_0x1df71e},_0x36c4c5=await this['_trackChangesService']['add'](_0x3ec9c1,_0x3a7fd7,_0x499969,_0x3d24ce,_0x1df71e)['catch'](_0x1af451=>{if(ut(_0x1af451))return new Promise(_0x386032=>{this['_bufferedRequests']['set'](_0x3ec9c1,{'resolve':_0x386032,'suggestionData':_0x5ba43e});});throw _0x1af451;});return this['_bufferedRequests']['delete'](_0x3ec9c1),_0x36c4c5;},'updateSuggestion':async(_0x4c8c51,_0x9becc0)=>{if(await this['_waitForServiceReady'](),'open'!==_0x9becc0['state'])return this['_trackChangesService']['update'](_0x4c8c51,_0x9becc0)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x183dc0,_0x2e7d34)=>{_0x206dce['hasSuggestion'](_0x2e7d34['id'])&&(_0x206dce['getSuggestion'](_0x2e7d34['id'])['attributes']=_0x2e7d34['attributes']);}),this['_trackChangesService']['connect'](_0x5091b2['connection'])['then'](_0x730aee=>(_0x5091b2['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x730aee)['then'](()=>{for(const _0x900b54 of _0x730aee){_0x206dce['addSuggestionData'](_0x900b54)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2d29d5=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5eef6e}=this['editor']['plugins']['get'](n),_0x2df92a=await this['_trackChangesService']['connect'](_0x5eef6e);await this['_fetchMissingUsersForThreads'](_0x2df92a);for(const {suggestionData:_0x1b689a,resolve:_0x4a81f7}of this['_bufferedRequests']['values']()){let _0x159260=_0x2df92a['find'](_0x275e61=>_0x275e61['id']===_0x1b689a['id']);_0x159260||(_0x159260=await this['_trackChangesService']['add'](_0x1b689a['id'],_0x1b689a['type'],_0x1b689a['data'],_0x1b689a['originalSuggestionId'])),_0x4a81f7(_0x159260);}for(const _0x5f4f8d of _0x2df92a)_0x2d29d5['hasSuggestion'](_0x5f4f8d['id'])||_0x2d29d5['addSuggestionData'](_0x5f4f8d);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x3d70a7=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5bfe38=>{_0x5bfe38['off'](),_0x3d70a7();});});}async['_fetchMissingUsersForThreads'](_0x180887){const _0x4449dc=this['editor']['plugins']['get'](_0x1c3b75),{connection:_0x12c737}=this['editor']['plugins']['get'](n),_0x17ea73=new Set();for(const {authorId:_0x3e1ca4}of _0x180887)_0x4449dc['getUser'](_0x3e1ca4)||_0x17ea73['add'](_0x3e1ca4);if(0x0===_0x17ea73['size'])return;const _0x378d07=await lt['getMany'](_0x12c737,Array['from'](_0x17ea73));for(const _0xc698bb of _0x378d07)_0x4449dc['getUser'](_0xc698bb['id'])||_0x4449dc['addUser'](_0xc698bb);}}function A(_0xc04896){if(ut(_0xc04896))return new Promise(()=>{});throw _0xc04896;}function ut(_0x1894c1){return _0x1894c1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1894c1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x2eb914{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x356dec=this['editor']['plugins']['get'](n),_0x1c7d19=this['editor']['plugins']['get']('CommentsEditing'),_0x1f1ade=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x356dec,'change:state',(_0x2b3280,_0x29f512,_0x3d0932)=>{_0x1c7d19['isThreadsLoadingPaused']='connected'!==_0x3d0932;});}),this['listenTo'](_0x356dec,'change:state',(_0x2906f3,_0x232bab,_0x31f76b)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x31f76b);}),_0x1f1ade['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x2eb914{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x2eb914{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1c3b75];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x20a5f5){super(_0x20a5f5);const _0x48072c=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x48072c);}async['init'](){const _0x4fa67a=this['editor']['plugins']['get'](l),_0x26c99d=_0x4fa67a['serverHistory'],_0x48f7a4=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x26c99d,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4fa67a['sessionId']});const _0x1623c9=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x4945a1=await tt['isBundleUploaded'](_0x48f7a4['connection'],_0x1623c9);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x4ab8a2})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4ab8a2)),'updateRevisions':async _0x28d140=>{await this['_waitForServiceReady']();const _0x4ed7a2=this['_revisionTracker']['currentRevision'];if(_0x4945a1&&0x1===_0x28d140['length']&&_0x28d140[0x0]['id']===_0x4ed7a2['id'])return _0x28d140;for(const _0x38601a of _0x28d140)_0x38601a['id']===_0x4ed7a2['id']&&(_0x38601a['isEmptyCurrent']=_0x38601a['fromVersion']===_0x38601a['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x28d140,this['_lastRequestId'])['then'](_0x4eebaa=>(this['_lastRequestId']=_0x4eebaa,_0x28d140))['catch'](_0x134fed=>{if(st(_0x134fed)||'400'===_0x134fed['code']&&void 0x0!==_0x134fed['data']['wrongRequestId']){for(const _0x21e018 of _0x28d140){!this['_revisionTracker']['repository']['getRevision'](_0x21e018['id'])||this['_revisionTracker']['_bufferUpdate'](_0x21e018['id'],_0x21e018,!0x1);}if(st(_0x134fed))throw _0x134fed;return _0x28d140;}throw _0x134fed;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4a5f2c,{revisionsData:_0x5c3216,requestId:_0x3dc3dc})=>{Math['max'](..._0x5c3216['map'](_0x17175f=>_0x17175f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5c3216,_0x3dc3dc);}):this['_handleRevisionsUpdate'](_0x5c3216,_0x3dc3dc);});const {revisions:_0x482a26,requestId:_0x386ad0}=await this['_revisionHistoryService']['connect'](_0x48f7a4['connection']);_0x48f7a4['addToReconnectionStack'](this),this['_lastRequestId']=_0x386ad0,await this['_fetchMissingUsers'](_0x482a26);for(const _0x226b92 of _0x482a26)this['_revisionTracker']['addRevisionData'](_0x226b92);this['listenTo'](_0x4fa67a,'change:_isConnected',(_0x11eda9,_0x5cb1d0,_0x498c12)=>{_0x498c12&&(this['_oldOffset']=_0x4fa67a['_offset'],_0x11eda9['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x48f7a4,'state',_0x422076=>_0x422076===te['CONNECTED']);}async['reconnect'](){const _0x12e743=this['editor']['plugins']['get'](n),_0x34eef3=this['editor']['plugins']['get'](l),_0x55a874=async()=>{const _0x31fec5=this['_revisionTracker']['currentRevision'],_0x37a4d3=_0x31fec5['id'],_0x18e321=_0x37a4d3!==_0x34eef3['sessionId'];if(_0x18e321){const _0x31299f=_0x34eef3['_offset']-this['_oldOffset'],_0x15eeed=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x31fec5['toVersion']+_0x31299f!==_0x15eeed){const _0x5b1088=_0x31fec5['fromVersion']+_0x31299f,_0x2e31e8=this['editor']['plugins']['get'](_0x1c3b75),_0x5bf1da=this['_revisionTracker']['buildRevisionData']({'revision':_0x31fec5,'from':_0x5b1088,'to':_0x15eeed});_0x5bf1da['id']=_0x31fec5['id'];const _0x4e16bb=_0x5bf1da['authorsIds']['map'](_0x4f0a24=>_0x2e31e8['getUser'](_0x4f0a24));_0x31fec5['_update']({..._0x5bf1da,'authors':_0x4e16bb},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x31fec5['id'],_0x5bf1da,!0x0);}this['_revisionTracker']['_startingVersion']=_0x15eeed,(_0x31fec5['toVersion']===_0x31fec5['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x37a4d3)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x37a4d3),this['_revisionTracker']['_createCurrentRevision'](_0x15eeed));}const {revisions:_0x538039,requestId:_0x2ef149}=await this['_revisionHistoryService']['reconnect'](_0x12e743['connection'],this['_lastRequestId']);_0x18e321&&_0x538039['length']>0x0?_0x34eef3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x538039),this['_handleRevisionsUpdate'](_0x538039,_0x2ef149),this['_revisionTracker']['sendBufferedUpdates']());};return _0x34eef3['_isConnected']?_0x55a874():new Promise((_0xee0d49,_0x5f4727)=>{_0x34eef3['once']('change:_isConnected',()=>{_0x55a874()['then'](_0xee0d49)['catch'](_0x5f4727);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5c6242=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4ce15d=>{_0x4ce15d['off'](),_0x5c6242();});});}['_getLatestVersionFromServerOperations'](){const _0x237d4a=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x518555 of _0x237d4a)if('marker'!==_0x518555['type']||_0x518555['affectsData'])return _0x518555['baseVersion']+0x1;}['_getLatestVersion'](){const _0x112ed1=this['editor']['plugins']['get'](l);return new Promise(_0x369419=>{_0x112ed1['_isPendingUpdate']?_0x112ed1['once']('change:_isPendingUpdate',()=>{_0x369419(this['_getLatestVersionFromServerOperations']());}):_0x369419(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1cd5cd,_0x38e1bf){const _0x25549c=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x38e1bf;for(const _0x3f2fc of _0x1cd5cd){const _0x204078=_0x25549c['getRevision'](_0x3f2fc['id']);if(_0x204078){if((_0x3f2fc['fromVersion']||_0x3f2fc['toVersion'])&&(_0x3f2fc['diffData']=null),_0x204078===this['_revisionTracker']['currentRevision']){const _0x549e91=Math['max'](_0x204078['toVersion'],_0x3f2fc['toVersion']),_0x37db27=Math['max'](_0x204078['fromVersion'],_0x3f2fc['fromVersion']);let _0x4d4b5;_0x204078['toVersion']===_0x3f2fc['toVersion']&&_0x204078['fromVersion']===_0x3f2fc['fromVersion']?(_0x4d4b5=!0x0,this['_preventResendingRevisionData'](_0x3f2fc)):_0x3f2fc['toVersion']===_0x549e91&&_0x3f2fc['fromVersion']===_0x37db27?_0x4d4b5=!0x1:(_0x204078['toVersion']===_0x549e91&&_0x204078['fromVersion']===_0x37db27||this['_fixRevision']({'revision':_0x204078,'from':_0x37db27,'to':_0x549e91}),_0x4d4b5=!0x0),_0x4d4b5&&(delete _0x3f2fc['fromVersion'],delete _0x3f2fc['toVersion'],delete _0x3f2fc['diffData'],delete _0x3f2fc['createdAt'],delete _0x3f2fc['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3f2fc),this['_preventResendingRevisionData'](_0x3f2fc);}else this['_revisionTracker']['addRevisionData'](_0x3f2fc);}const _0x4e6d98=_0x25549c['getRevisions']();_0x4e6d98['reverse']();for(let _0x3e886d=0x0;_0x3e886d<_0x4e6d98['length']-0x1;_0x3e886d++){const _0x56d58f=_0x4e6d98[_0x3e886d],_0x40796e=_0x4e6d98[_0x3e886d+0x1];if(_0x56d58f['fromVersion']<_0x40796e['toVersion']){const _0x294a9f=_0x40796e['toVersion'],_0x38416a=Math['max'](_0x294a9f,_0x56d58f['toVersion']);this['_fixRevision']({'revision':_0x56d58f,'from':_0x294a9f,'to':_0x38416a});}}}['_fixRevision']({revision:_0xf92131,from:_0x172e28,to:_0x3ad834}={}){const _0x58a9bb=this['editor']['plugins']['get'](_0x1c3b75),_0x482273=this['_revisionTracker']['buildRevisionData']({'revision':_0xf92131,'from':_0x172e28,'to':_0x3ad834});_0x482273['authors']=_0x482273['authorsIds']['map'](_0x539f15=>_0x58a9bb['getUser'](_0x539f15)),_0xf92131['_update'](_0x482273);}['_preventResendingRevisionData'](_0x218248){const _0x5bf5be={};_0x5bf5be['id']=_0x218248['id'];for(const _0x503263 of Object['keys'](_0x218248))'id'!==_0x503263&&(_0x5bf5be[_0x503263]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5bf5be['id'],_0x5bf5be,!0x0);}async['_fetchMissingUsers'](_0x53e4f2){const _0xd69d05=this['editor']['plugins']['get'](_0x1c3b75),{connection:_0x466af8}=this['editor']['plugins']['get'](n),_0x3eb901=new Set();for(const _0x2a6a74 of _0x53e4f2){for(const _0x181993 of _0x2a6a74['authorsIds'])_0x1f7dcc(_0x181993);_0x2a6a74['creatorId']&&_0x1f7dcc(_0x2a6a74['creatorId']);}if(0x0===_0x3eb901['size'])return;const _0x3c3baf=await lt['getMany'](_0x466af8,Array['from'](_0x3eb901));for(const _0x313795 of _0x3c3baf)_0xd69d05['getUser'](_0x313795['id'])||_0xd69d05['addUser'](_0x313795);function _0x1f7dcc(_0x41d591){_0xd69d05['getUser'](_0x41d591)||_0x3eb901['add'](_0x41d591);}}}function st(_0x5db18f){return _0x5db18f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5db18f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5db18f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x2eb914{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x47be0a{['_collapseAt'];constructor(_0x2cc47a,_0x533070=0x6){super(_0x2cc47a);const _0x13e604=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x533070,this['bind']('isHidden')['to'](this,'usersCount',_0x28a7cb=>_0x28a7cb<_0x533070),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x13e604['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':_0x13e604['to']('usersCount',_0x4b6b19=>'+'+(_0x4b6b19-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x47be0a{['items'];['keystrokes'];constructor(_0x56bc4b){super(_0x56bc4b);const _0xe5bc4=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4066ca(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xe5bc4['if']('hasPopup'),'aria-expanded':_0xe5bc4['to']('isExpanded',_0x1dfaf8=>this['hasPopup']&&String(_0x1dfaf8)),'aria-label':_0xe5bc4['to']('hasPopup',_0x3b2929=>W(_0x56bc4b,_0x3b2929?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xe5bc4['to']('hasPopup',_0x2c07f1=>!!_0x2c07f1&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xe5bc4['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xe5bc4['to'](_0x5865bc=>{const _0x3b95f5=_0x5865bc,_0x76f6df=document['querySelector']('.ck-presence-list__dropdown-list'),_0x389a1d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x76f6df?.['contains'](_0x3b95f5['relatedTarget'])||_0x389a1d?.['contains'](_0x3b95f5['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x17cecd,_0x28a8ae,_0x4a946a)=>{this['element']&&(_0x4a946a?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 k extends _0x47be0a{['counterView'];['inlineListView'];constructor(_0x4d6e30,_0x4f0ee2=0x6){super(_0x4d6e30);const _0x4ae8ef=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x4f0ee2),this['inlineListView']=new is(_0x4d6e30),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4b330c of this['inlineListView']['items'])_0x4b330c['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',_0x4ae8ef['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x47be0a{['listWrapperView'];constructor(_0x2e97a7,_0x51ad15){super(_0x2e97a7);const _0x4d2495=this['bindTemplate'];this['listWrapperView']=new pt(_0x2e97a7,_0x51ad15),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x2e97a7,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4d2495['to'](_0x3536cb=>{const _0x4fd75f=_0x3536cb,_0x5c9349=document['querySelector']('.ck-presence-list__list'),_0x4b23f4=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5c9349?.['contains'](_0x4fd75f['relatedTarget'])||_0x4b23f4?.['contains'](_0x4fd75f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x410228{constructor(_0x2c8355,_0x537abb){super(_0x2c8355);const _0x32e833=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x537abb?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x32e833['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x32e833['to']('role'),'aria-label':_0x32e833['to']('ariaLabel'),'aria-labelledby':_0x32e833['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x152fd1['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x33abab=this['element'];_0x33abab&&(this['_isScrollable']=Math['max'](_0x33abab['scrollHeight'],_0x33abab['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x495b2f,_0x269e03,_0xa04639){super(_0x495b2f);const _0x4025ac=this['bindTemplate'];this['userView']=new ct(_0x495b2f,_0x269e03);const _0x1b18aa={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x269e03['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x269e03['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x269e03['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0xa04639&&(_0x1b18aa['tag']='button',_0x1b18aa['on']={'click':_0x4025ac['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1b18aa);}['focus'](){this['element']['focus']();}}class _ extends _0x47be0a{['userView'];['markerView'];constructor(_0x58b763,_0x524e3d,_0x358a40){super(_0x58b763);const _0x3ad1c8=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x58b763,_0x524e3d),this['markerView']=new at(_0x58b763,_0x524e3d);const _0x3d584e=new ot(_0x58b763);_0x3d584e['template']['tag']='span',_0x3d584e['text']=_0x524e3d['name'];const _0x373a18={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x3ad1c8['to']('isFocusable',_0x12f594=>!!_0x12f594&&0x0),'aria-labelledby':_0x3d584e['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x3ad1c8['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x3ad1c8['to']('hasTooltip',_0x5cc1e8=>!_0x5cc1e8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3d584e]};_0x358a40&&(_0x373a18['tag']='button',_0x373a18['on']={'click':_0x3ad1c8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x373a18);}}class at extends _0x47be0a{constructor(_0x29e31a,_0x357207){super(_0x29e31a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x357207['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x518ffb{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e4051){super(_0x1e4051),this['context']['config']['define']('presenceList',U);const _0x523be6=_0x1e4051['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x523be6)throw new _0x11a589('presencelist-collapseat-invalid-format',this);if(_0x523be6<0x1)throw new _0x11a589('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4b8621(),this['balloonPanelView']=new _0x16459c(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xa9bb9a of this['_allConnectedUsers'])this['_handleUserAdd'](_0xa9bb9a);this['listenTo'](this['_allConnectedUsers'],'add',(_0xa6dc1b,_0x5a8b35)=>{this['_handleUserAdd'](_0x5a8b35);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x20e259,_0xd7c58d)=>{this['_handleUserRemove'](_0xd7c58d);});}['_createView'](){const _0xd31169=this['context'],_0x1ddf39=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x30a236=this['balloonPanelView'];if(!_0x4ab169(_0xd31169['config']['get']('presenceList.container')))throw new _0x11a589('presencelist-missing-container',this);return _0x1ddf39['counterView']['bind']('usersCount')['to'](this),_0x1ddf39['bind']('isCollapsed')['to'](this,'usersCount',_0x3cb05a=>{const {collapseAt:_0x2bebae}=_0xd31169['config']['get']('presenceList'),_0x47e82e=_0x3cb05a>=_0x2bebae;if(_0x47e82e&&!_0x1ddf39['inlineListView']['items']['find'](_0x2001f8=>_0x2001f8 instanceof y)){const _0x2846ec=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2846ec&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x1ddf39['inlineListView']['items']['add'](_0x1ddf39['counterView']);}return _0x47e82e||this['hideDropdown'](),_0x47e82e;}),_0x1ddf39['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x26ea3a=>{const _0x1aefd5=_0xd31169['config']['get']('presenceList'),_0x2ea0c5=new _(_0xd31169['locale'],_0x26ea3a,!!_0x1aefd5['onClick']);return _0x2ea0c5['bind']('hasTooltip')['to'](_0x1ddf39,'isCollapsed',_0x4233e1=>!_0x4233e1),_0x2ea0c5['bind']('isFocusable')['to'](_0x1ddf39,'isCollapsed',_0x27fa44=>!_0x27fa44),_0x1aefd5['onClick']&&this['listenTo'](_0x2ea0c5,'execute',()=>{this['view']['isCollapsed']||_0x1aefd5['onClick'](_0x26ea3a,_0x2ea0c5['element']);}),_0x2ea0c5;}),this['listenTo'](_0x1ddf39['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x1ddf39['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x1ddf39['inlineListView']['keystrokes']['set']('Enter',(_0x15cf78,_0xe2d0f2)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0xe2d0f2());}),_0x1ddf39['render'](),_0x30a236['render'](),_0x26b04a({'emitter':_0x1ddf39,'activator':()=>_0x30a236['isVisible'],'contextElements':[_0x30a236['element'],_0x1ddf39['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xd31169['config']['get']('presenceList.container')['appendChild'](_0x1ddf39['element']),this['_bodyCollection']=new _0x42f48d(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1ddf39;}['_handleUserAdd'](_0x49c0a0){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x49c0a0['isMe'])return;const _0x6f9e82=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x6f9e82-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xa61797=_0x49c0a0['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x49c0a0,_0xa61797);}['_handleUserRemove'](_0x27a04){this['usersCount']--;const {collapseAt:_0x5b74cc}=this['context']['config']['get']('presenceList'),_0x409140=this['usersCount']>=_0x5b74cc;if(this['currentDisplayedUsers']['get'](_0x27a04['id']))this['currentDisplayedUsers']['remove'](_0x27a04['id']);else{if(_0x409140&&this['currentDisplayedUsers']['length']+0x1===_0x5b74cc-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x409140?0x1:0x0)<this['usersCount']){for(const _0x53f904 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x53f904['id'])&&(this['currentDisplayedUsers']['add'](_0x53f904,Math['min'](this['currentDisplayedUsers']['length']-(_0x409140?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x409140?0x1:0x0)===_0x5b74cc-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4ac647=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x4ac647['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5b2675}=this['presenceDropdownView'];_0x5b2675['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x352947=>{if(!_0x4ac647['displayMe']&&_0x352947['isMe'])return null;const _0x271afe=new P(this['context']['locale'],_0x352947,!!_0x4ac647['onClick']);return _0x4ac647['onClick']&&this['listenTo'](_0x271afe,'execute',()=>{_0x4ac647['onClick'](_0x352947,_0x271afe['element']);}),_0x271afe;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5b2675['focus'](),_0x5b2675['checkIfScrollable']();const _0x6ed57c=(_0x1bc168,_0x52e05b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x52e05b();};_0x5b2675['keystrokes']['set']('Esc',_0x6ed57c),_0x5b2675['keystrokes']['set']('Shift+Tab',_0x6ed57c),_0x5b2675['keystrokes']['set']('Tab',(_0x17dde5,_0x28e992)=>{!function(_0x20a0c4){const _0x3c6c20=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3f59c8=>_0x3f59c8+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x269c2c=[...document['body']['querySelectorAll'](_0x3c6c20)]['filter'](_0x5466b4=>_0x5466b4===document['activeElement']||_0x5466b4['offsetWidth']+_0x5466b4['offsetHeight']>0x0)['sort']((_0x4653c0,_0xc1d27)=>(_0x4653c0['tabIndex']||0x0)-(_0xc1d27['tabIndex']||0x0)),_0xe38eda=_0x269c2c['indexOf'](_0x20a0c4),_0x5248ad=_0x269c2c[(_0xe38eda+0x1)%_0x269c2c['length']];_0x5248ad&&_0x5248ad['focus']();}(this['view']['element']),this['hideDropdown'](),_0x28e992();}),_0x5b2675['focusTracker']['add'](this['view']['element']),_0x5b2675['focusTracker']['on']('change:isFocused',(_0x37c3f3,_0x4d6bcf,_0x1bd289)=>{_0x1bd289||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x518ffb{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x5e8b20,Plugin as _0x557c4d,PendingActions as _0xfbb467,Context as _0x1bb59e}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xd53d60,CKEditorError as _0x57af79,Collection as _0x24e80c,global as _0xc2e3cd,version as nt,uid as _0x57fd7a,KeystrokeHandler as _0x422e84}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x47bdda,View as _0x1bd8e4,ListView as _0x472541,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x251752,clickOutsideHandler as _0x3bb7ab,BodyCollection as _0x18e462}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x12d738,History as _0xbc8d8b,NoOperation as _0x3f81d9,InsertOperation as _0x4d5892,MarkerOperation as _0x537134,RootAttributeOperation as _0x358314,transformOperationSets as _0xa8199,OperationFactory as _0x2bd62b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x42a611,User as lt,CommentsService as _0x4370fd,TrackChangesService as tt,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x53d600,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x4c457e}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x285777}from'es-toolkit/compat';class n extends _0x5e8b20{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x47bdda];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x28aa21){super(_0x28aa21),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0xd53d60())();}['init'](){const _0x4e934b=this['context'],_0x1623a4=_0x4e934b['plugins']['get']('CloudServices'),_0x44d830=_0x4e934b['plugins']['get'](_0x47bdda);if(!_0x1623a4['token'])throw new _0x57af79('websocketgateway-missing-token',this);if(!_0x1623a4['webSocketUrl'])throw new _0x57af79('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x1623a4['token'],_0x1623a4['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x550b6a=>{if(this['connection']=_0x550b6a,this['bind']('state')['to'](_0x550b6a,'state',this,'_isBrowserOffline',(_0x13e171,_0x7ee369)=>('connected'!==_0x13e171&&(this['_shouldPluginsReconnect']=!0x0),_0x7ee369||_0x13e171!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x4ed0fd,_0x3bd180)=>{if('limitExceeded'!==_0x3bd180['code'])throw console['error'](_0x3bd180),new _0x57af79('cloudservices-init',null,{'originalError':_0x3bd180});_0x44d830['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'});}),!_0x550b6a['me'])return new Promise(_0x63d002=>_0x550b6a['on']('change:me',_0x63d002));})['catch'](_0x504be5=>{throw console['error'](_0x504be5),new _0x57af79('cloudservices-init',null,{'originalError':_0x504be5});});}['addToReconnectionStack'](_0x518017){if('function'!=typeof _0x518017['reconnect'])throw new _0x57af79('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x518017))throw new _0x57af79('websocketgateway-plugin-already-registered',this,{'name':_0x518017['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x518017);}['removeFromReconnectionStack'](_0x3d7cec){this['_reconnectionStack']['delete'](_0x3d7cec);}['isInReconnectionStack'](_0x2fa994){return this['_reconnectionStack']['has'](_0x2fa994);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x52a8d1=>_0x52a8d1['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x3f03ab=>{throw console['error'](_0x3f03ab),new _0x57af79('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x5e8b20{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x53d600];}constructor(_0x402cdd){super(_0x402cdd),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x24e80c(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x53d600);}['init'](){const _0x2f9f2b=this['context']['plugins']['get'](n);this['listenTo'](_0x2f9f2b,'change:state',(_0x49f64a,_0x4922e8,_0xc7ef2c)=>{if('connected'!==_0xc7ef2c)this['channelSessions']['forEach'](_0x1ff7f8=>_0x1ff7f8['clear']()),this['channelConnectedUsers']['forEach'](_0x46d26b=>_0x46d26b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4ea40b,_0x3aa918]of this['_registeredSessions'])for(const _0x595525 of _0x3aa918)this['_handleSessionAdd'](_0x4ea40b,_0x595525);}}),this['_createUser'](_0x2f9f2b['connection']['me'],!0x0);}['register'](_0x18e97a,_0x5245b1){if(this['_registeredSessions']['has'](_0x18e97a))throw new _0x57af79('sessions-register-already-registered',null,{'channelId':_0x18e97a});this['_registeredSessions']['set'](_0x18e97a,_0x5245b1),this['channelSessions']['set'](_0x18e97a,new _0x24e80c()),this['channelConnectedUsers']['set'](_0x18e97a,new _0x24e80c()),this['listenTo'](_0x5245b1,'add',(_0x3cda6d,_0x3ad9c7)=>this['_handleSessionAdd'](_0x18e97a,_0x3ad9c7)),this['listenTo'](_0x5245b1,'remove',(_0x11e83d,_0x4107d1)=>this['_handleSessionRemove'](_0x18e97a,_0x4107d1));for(const _0x4e0492 of _0x5245b1)this['_handleSessionAdd'](_0x18e97a,_0x4e0492);}['unregister'](_0x3b88ba){if(!this['_registeredSessions']['has'](_0x3b88ba))throw new _0x57af79('sessions-unregister-not-exist',null,{'channelId':_0x3b88ba});const _0x14de09=this['_registeredSessions']['get'](_0x3b88ba);this['stopListening'](_0x14de09);for(const _0x10cb52 of _0x14de09)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x3b88ba,_0x10cb52);this['_registeredSessions']['delete'](_0x3b88ba),this['channelSessions']['delete'](_0x3b88ba),this['channelConnectedUsers']['delete'](_0x3b88ba);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x4daa02){for(const _0x3401d9 of this['channelSessions']['values']())for(const _0x5ddbbc of _0x3401d9)if(_0x5ddbbc['id']===_0x4daa02)return _0x5ddbbc['user'];}['getUserSessions'](_0x242e15,_0x5e2ccd){const _0x5083ad=_0x5e2ccd?[this['channelSessions']['get'](_0x5e2ccd)]:this['channelSessions']['values'](),_0x38b36f=new Set();for(const _0x46509b of _0x5083ad)for(const _0x205dea of _0x46509b)_0x205dea['user']['id']===_0x242e15['id']&&_0x38b36f['add'](_0x205dea['id']);return _0x38b36f;}['getUserRole'](_0x445f9a){for(const _0x42fea2 of this['channelSessions']['values']())for(const _0x18a256 of _0x42fea2)if(_0x18a256['user']===_0x445f9a)return _0x18a256['role'];}['_handleSessionAdd'](_0x4edf4f,_0x4d9c20){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0xcddd86=_0x4d9c20['user'],_0x366841=this['_users']['getUser'](_0xcddd86['id'])||this['_createUser'](_0xcddd86),_0x1b5db6=Object['assign']({},_0x4d9c20,{'user':_0x366841});if(this['channelSessions']['get'](_0x4edf4f)['add'](_0x1b5db6),!_0xcddd86['hiddenInPresenceList']){const _0x5e2f9e=this['channelConnectedUsers']['get'](_0x4edf4f);_0x5e2f9e['has'](_0x366841['id'])||_0x5e2f9e['add'](_0x366841),this['allConnectedUsers']['has'](_0x366841['id'])||_0xcddd86['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x366841,_0x366841['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x4edf4f,{'channelId':_0x4edf4f,'session':_0x1b5db6});}['_handleSessionRemove'](_0x1551e4,_0x59e18e){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5c0378=this['channelConnectedUsers']['get'](_0x1551e4),_0x336505=_0x59e18e['user'];_0x336505['id']&&(this['channelSessions']['get'](_0x1551e4)['remove'](_0x59e18e['id']),_0x5c0378['has'](_0x336505['id'])&&!this['getUserSessions'](_0x336505,_0x1551e4)['size']&&_0x5c0378['remove'](_0x336505['id']),this['allConnectedUsers']['get'](_0x336505['id'])&&!this['getUserSessions'](_0x336505)['size']&&this['allConnectedUsers']['remove'](_0x336505['id']));}['_createUser'](_0x12b060,_0x25814b){const _0x498084=this['_users']['addUser'](_0x12b060);return _0x25814b&&this['_users']['defineMe'](_0x12b060['id']),_0x498084['orderNumber']=this['_uniqueUsersCount']++,_0x498084;}}class H extends _0x557c4d{['_domEmitter']=new(_0xd53d60())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5dd978=this['editor'],_0x252a2f=_0x5dd978['plugins']['get'](i);_0x5dd978['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x116194,{writer:_0x3cbba1})=>function(_0x4f3cc3,_0x2a655e,_0xb53e24,_0x4ccdf0){const _0x3b75f0=_0x4f3cc3['markerName']['split'](':')[0x2],_0x475e13=_0xb53e24['getUserBySessionId'](_0x3b75f0);if(!_0x475e13||_0x3b75f0===_0xb53e24['mySessionId'])return;if(!_0x4ccdf0['model']['schema']['checkChild'](_0x4f3cc3['markerRange']['start'],'$text'))return;const _0x56bb4c={'class':'ck-user__marker\x20'+_0x475e13['color']['getMarkerClass'](),'data-name':_0x475e13['name'],'data-session-id':_0x3b75f0},_0x46afdf=_0x4ccdf0['model']['markers']['get'](_0x4f3cc3['markerName']),_0x228d6f=_0x46afdf['getStart'](),_0x1f7604=_0x228d6f['nodeAfter'],_0x2c1a1e=_0x4ccdf0['model']['schema'];if(_0x1f7604&&_0x2c1a1e['isObject'](_0x1f7604)&&_0x2c1a1e['isInline'](_0x1f7604)&&!_0x4ccdf0['model']['markers']['get']('user:range:'+_0x3b75f0)['getRange']()['isCollapsed'])return;const _0x261b6c=_0x228d6f['parent'];return _0x4ccdf0['model']['schema']['isLimit'](_0x261b6c)&&!_0x4ccdf0['model']['hasContent'](_0x261b6c)&&(_0x56bb4c['contenteditable']=!0x1),function(_0x5343ba,_0x22cf70,_0x2d86b0){const _0x1df194=_0x5343ba['createUIElement']('span',_0x22cf70);return _0x5343ba['setCustomProperty']('userPositionMarker',!0x0,_0x1df194),_0x1df194['render']=function(_0x18179e){const _0x211f2a=this['toDomElement'](_0x18179e),_0x3cd5ae=document['createElement']('span');return _0x3cd5ae['classList']['add']('ck-user__marker-tooltip'),_0x3cd5ae['setAttribute']('contenteditable','false'),_0x3cd5ae['setAttribute']('spellcheck','false'),_0x3cd5ae['textContent']=_0x2d86b0['name'],_0x211f2a['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3cd5ae['outerHTML']+'⁠',_0x211f2a['addEventListener']('mouseenter',()=>{_0x211f2a['classList']['add']('ck-user__marker_hovered');}),_0x211f2a['addEventListener']('mouseleave',()=>{_0x211f2a['classList']['remove']('ck-user__marker_hovered');}),_0x211f2a;},_0x1df194['isSimilar']=function(_0x325f3b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x325f3b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x325f3b['getAttribute']('data-session-id'));},_0x1df194;}(_0x2a655e,_0x56bb4c,_0x475e13);}(_0x116194,_0x3cbba1,_0x252a2f,_0x5dd978)}),_0x5dd978['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xc0d483=>function(_0x116cb4,_0x44f025){const _0x5da85a=_0x116cb4['markerName']['split'](':')[0x2];if(_0x5da85a===_0x44f025['mySessionId'])return null;const _0x172b48=_0x44f025['getUserBySessionId'](_0x5da85a);if(!_0x172b48)return{'id':_0x5da85a,'classes':[]};return{'id':_0x5da85a,'classes':['ck-user__selection',_0x172b48['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5da85a},'priority':0x7d0+_0x172b48['orderNumber']};}(_0xc0d483,_0x252a2f)}),function(_0x2d6216){const _0x13fd5a=_0x2d6216['model'],_0x20c05d=new Map(),_0x4565e1=_0x2d6216['plugins']['get'](i);_0x13fd5a['markers']['on']('update:user:range',(_0x1faffb,_0x35c7f1,_0x468c1e,_0x2b103a)=>{if(!_0x2b103a&&_0x20c05d['get'](_0x35c7f1['name']))return _0x20c05d['get'](_0x35c7f1['name'])['detach'](),void _0x20c05d['delete'](_0x35c7f1['name']);const _0x5f00ad=_0x35c7f1['name']['split'](':')[0x2];if(_0x5f00ad===_0x4565e1['mySessionId'])return;const _0x3c0332='user:position:'+_0x5f00ad;_0x13fd5a['markers']['has'](_0x3c0332)&&_0x2d6216['editing']['reconvertMarker'](_0x3c0332),_0x35c7f1['on']('change:range',(_0x7e8e2e,_0x25789,_0x40489e)=>{if('$graveyard'!=_0x25789['root']['rootName']&&'$graveyard'==_0x35c7f1['getRange']()['root']['rootName']&&!_0x20c05d['has'](_0x35c7f1['name'])){const _0x236014=_0x13fd5a['schema']['getNearestSelectionRange'](_0x40489e['deletionPosition']);if(_0x236014){const _0x5a0309=_0x12d738['fromRange'](_0x236014);_0x20c05d['set'](_0x35c7f1['name'],_0x5a0309),_0x5a0309['on']('change:range',(_0x203e01,_0x1030e1,_0x4a5290)=>{if('$graveyard'==_0x5a0309['root']['rootName']){const _0x48d1e1=_0x13fd5a['schema']['getNearestSelectionRange'](_0x4a5290['deletionPosition']);_0x48d1e1?(_0x5a0309['start']=_0x48d1e1['start'],_0x5a0309['end']=_0x48d1e1['end']):(_0x20c05d['delete'](_0x35c7f1['name']),_0x5a0309['detach']());}});}}});}),_0x13fd5a['document']['on']('change',()=>{_0x20c05d['size']>0x0&&_0x13fd5a['enqueueChange']({'isUndoable':!0x1},_0x54d08e=>{for(const [_0xfffbb9,_0xf24ef3]of _0x20c05d)'$graveyard'==_0x13fd5a['markers']['get'](_0xfffbb9)['getRange']()['root']['rootName']&&(Z(_0xfffbb9['split'](':')[0x2],_0xf24ef3['toRange'](),_0x13fd5a,_0x54d08e),_0xf24ef3['detach']());_0x20c05d['clear']();});});}(_0x5dd978),this['_domEmitter']['listenTo'](_0xc2e3cd['document'],'keydown',(_0x2efb00,{key:_0x3d9fcc})=>{'Escape'===_0x3d9fcc&&function(_0x438ae1){_0x438ae1['editing']['view']['change'](_0xa9d440=>{for(const _0xbb5e13 of _0x438ae1['model']['markers']){if(!_0xbb5e13['name']['startsWith']('user:position'))continue;const _0x3d2540=_0x438ae1['editing']['mapper']['markerNameToElements'](_0xbb5e13['name']);if(_0x3d2540){for(const _0x4e384b of _0x3d2540)_0xa9d440['removeClass']('ck-user__marker_hovered',_0x4e384b);}}});}(_0x5dd978);},{'useCapture':!0x0});}['afterInit'](){const _0xbe1732=this['editor'],_0x4caed4=_0xbe1732['commands']['get']('undo');_0x4caed4&&_0xbe1732['model']['on']('applyOperation',(_0x53adf5,_0x16c5b9)=>{const _0x3423ca=_0x16c5b9[0x0];if(!_0x3423ca['isDocumentOperation'])return;if('marker'!=_0x3423ca['type']||!_0x3423ca['name']['startsWith']('user:'))return;const _0x1e6371=_0x3423ca['batch'];_0x4caed4['_createdBatches']['has'](_0x1e6371)&&(_0x3423ca['newRange']=_0x3423ca['oldRange']?_0xbe1732['model']['createRange'](_0x3423ca['oldRange']['start'],_0x3423ca['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4be958=this['editor'],_0x53c6c6=_0x4be958['model']['document'],_0x1e9c4f=_0x4be958['plugins']['get'](i);_0x4be958['model']['enqueueChange']({'isUndoable':!0x1},_0xbb67a6=>{const _0x522aeb='user:range:'+_0x1e9c4f['mySessionId'],_0x3e115c='user:position:'+_0x1e9c4f['mySessionId'],_0x566be5=_0x4be958['model']['markers']['has'](_0x522aeb);_0x4be958['editing']['view']['hasDomSelection']?Z(_0x1e9c4f['mySessionId'],_0x53c6c6['selection']['getFirstRange'](),_0x4be958['model'],_0xbb67a6):_0x566be5&&(_0xbb67a6['removeMarker'](_0x522aeb),_0xbb67a6['removeMarker'](_0x3e115c));});}}function Z(_0x1a48a8,_0x2a853c,_0x1eb77d,_0x210ccf){const _0x42021f='user:range:'+_0x1a48a8,_0x1f3a6a='user:position:'+_0x1a48a8,_0x121332=_0x2a853c['getContainedElement']();let _0x5c8697=_0x2a853c['start'];if(_0x121332&&_0x121332['is']('element','tableCell')){const _0x42fa1a=function(_0x382d84,_0x34ccc1){for(const _0x5cf833 of _0x382d84['getPositions']())if(_0x34ccc1['schema']['checkChild'](_0x5cf833,'$text'))return _0x5cf833;}(_0x2a853c,_0x1eb77d);_0x42fa1a&&(_0x5c8697=_0x42fa1a,_0x2a853c=_0x210ccf['createRange'](_0x5c8697));}const _0x101439=_0x210ccf['createRange'](_0x5c8697);_0x1eb77d['markers']['has'](_0x42021f)?(_0x210ccf['updateMarker'](_0x42021f,{'range':_0x2a853c}),_0x210ccf['updateMarker'](_0x1f3a6a,{'range':_0x101439})):(_0x210ccf['addMarker'](_0x42021f,{'range':_0x2a853c,'usingOperation':!0x0}),_0x210ccf['addMarker'](_0x1f3a6a,{'range':_0x101439,'usingOperation':!0x0}));}function V(_0x69639e,_0x275f4c,_0x14950e){const _0xff6674=_0x69639e['t'],t=_0x69639e['t'];switch(_0x275f4c){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 _0xff6674({'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'},_0x14950e);default:return'';}}let G=0x1;class l extends _0x557c4d{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x42a611)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0xfbb467,_0x53d600,_0x47bdda];}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 _0x1382e2=this['serverHistory']['getOperations']();for(let _0x2b33c0=_0x1382e2['length']-0x1;_0x2b33c0>=0x0;_0x2b33c0--){const _0x382b28=_0x1382e2[_0x2b33c0];if(!this['_disconnectionOperations']['has'](_0x382b28))return _0x382b28['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x288285){if(super(_0x288285),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xbc8d8b(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x57af79('collaboration-missing-channelid',this);const _0x3987b4=_0x288285['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3987b4,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4c457e(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x13f01b=this['editor'],_0x510723=_0x13f01b['plugins']['get'](_0x53d600),_0x193893=_0x13f01b['plugins']['get'](n);this['listenTo'](_0x510723,'getOperationAuthor',(_0x610589,_0x40af99)=>{const _0x391f5e=_0x40af99[0x0];_0x391f5e['_authorId']&&(_0x610589['return']=_0x510723['getUser'](_0x391f5e['_authorId']),_0x610589['stop']()),null===_0x391f5e['_authorId']&&(_0x610589['return']=null,_0x610589['stop']());},{'priority':'high'}),this['listenTo'](_0x13f01b['model']['document']['selection'],'change:range',(_0x36d445,_0x987506)=>{_0x987506['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x13f01b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x13f01b['model']['on']('applyOperation',(_0x98d4,_0x590d23)=>{const _0x3f2a12=_0x590d23[0x0];_0x3f2a12['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3f2a12),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x193893,'state',this,'_hasSynchronizationProblem',(_0x2bcd59,_0x2c0057)=>'connected'===_0x2bcd59&&!_0x2c0057),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x13f01b['disableReadOnlyMode']('rtc-offline'):_0x13f01b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x13f01b['disableReadOnlyMode']('rtc-offline'):_0x13f01b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x48561d=this['editor']['plugins']['get'](i),_0x32a828=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x48561d['unregister'](this['_channelId']);const _0x4ac9da=await this['_service']['reconnect'](_0x32a828['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4ac9da)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4d0a59=await this['_service']['getConnectedSessions']();_0x48561d['register'](this['_channelId'],_0x4d0a59),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x49c8f1){if(function(_0x1e5f3a){return'404'===_0x1e5f3a['code'];}(_0x49c8f1)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1a98d6){return'409'===_0x1a98d6['code'];}(_0x49c8f1)){const _0x26b9c9=V(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x26b9c9);}else{if(!(_0x49c8f1 instanceof $))throw _0x49c8f1;this['_handleReconnectionError']();}}}}['destroy'](){const _0xabbf1e=this['editor']['plugins']['get'](n),_0x240a28=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x240a28['channelSessions']['has'](this['_channelId'])&&_0x240a28['unregister'](this['_channelId']),_0xabbf1e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4553dc){if(this['sessionId']!==_0x4553dc['sessionId']&&this['_lastSyncedOperationId']!==_0x4553dc['lastOperationId'])throw new $();return this['sessionId']=_0x4553dc['sessionId'],this['_handleServerResponse']([],{..._0x4553dc,'wereChangesApplied':!0x1,'data':_0x4553dc['data']},'reconnect');}async['_connectService'](_0x4e369e,_0x2894f9=!0x1){const {connection:_0x324678}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x324678,this['_channelId'])['then'](_0x188e17=>this['_initSessionsHandling'](_0x188e17))['catch'](_0x371016=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x371016);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0xb560b0,_0x51d6d3)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x51d6d3);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x300b6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4e369e);this['_isPendingUpdate']=!0x0;const _0x4c167f=await this['_service']['connect'](_0x324678,this['_compressOperations'](_0x4e369e),_0x300b6);if(this['sessionId']=_0x4c167f['sessionId'],_0x2894f9){if(!_0x4c167f['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4c167f['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4e369e,_0x4c167f,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4c167f,_0x4e369e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3f9719=this['editor']['plugins']['get'](i),_0x58105d=this['editor']['plugins']['get'](H),_0x4aaa54=_0x3f9719['channelSessions']['get'](this['_channelId']);_0x4aaa54&&_0x4aaa54['length']>0x1?_0x58105d['createUserMarkerOperations']():this['listenTo'](_0x3f9719,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3f9719['channelSessions']['get'](this['_channelId'])['length']&&_0x58105d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x17066b,_0x34e7e3,_0x30cf35,_0x29980c){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x34e7e3){const _0x4813b7=this['_decompressOperations'](_0x30cf35,_0x29980c);await this['_fetchMissingUsers'](_0x4813b7),this['_handleExternalOperations'](_0x4813b7,_0x34e7e3,_0x30cf35['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x45658b}=this['editor'];let _0xbc2b39;try{_0xbc2b39=await this['_service']['getDocumentDetails']();}catch{const _0x1c2452=V(_0x45658b,'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'](_0x1c2452);}const _0x3cc819=_0xbc2b39['currentDocumentSession']||_0xbc2b39['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3cc819['lastOperationId']){const _0x44bb36=V(_0x45658b,'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'](_0x44bb36);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x49418e){const _0x4b1e5b=this['editor']['plugins']['get'](i);this['listenTo'](_0x4b1e5b,'sessionAdd:'+this['_channelId'],(_0x4f5d2f,{session:_0x33f006})=>{if(_0x33f006['id']===_0x4b1e5b['mySessionId']){_0x4f5d2f['off']();const _0x256411=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1c7db8=_0x33f006['permissions'];_0x256411&&_0x256411['isEnabled']&&(_0x1c7db8=_0x1c7db8['filter'](_0x2d8772=>'document:write'!==_0x2d8772)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1c7db8,this['_channelId']);}}),_0x4b1e5b['register'](this['_channelId'],_0x49418e);}['_initThrowingOnDataSet'](){const _0x695205=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4defdc)=>{if(!_0x4defdc[_0x4defdc['length']-0x1]['suppressErrorInCollaboration'])throw new _0x57af79('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x695205['apply'](this['editor']['data'],_0x4defdc);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1dd1f0,[_0x326d7b])=>{if(this['_document']['version'])throw new _0x57af79('realtimecollaborationclient-init-document-already-initialized',this);_0x1dd1f0['stop'](),this['_setPendingAction']();const _0x585eef=this['editor']['config']['get']('rootsAttributes'),_0x382be9=this['_getOperationsFromInitData'](_0x326d7b,_0x585eef);0x0==_0x382be9['length']&&_0x382be9['push'](new _0x3f81d9(0x0)),_0x1dd1f0['return']=this['_connectService'](_0x382be9)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3019d3=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3019d3))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2ca413,[_0xa488bf,_0x4b7173])=>{_0x2ca413['stop']();const _0x7ebb2a=this['editor']['model']['document']['getRoot'](_0xa488bf);if(!this['_knownRootNames']['has'](_0xa488bf)){const _0x49136=_0x4b7173&&_0x4b7173['data']?_0x4b7173['data']:'',_0x5cc970=_0x4b7173&&_0x4b7173['attributes']?_0x4b7173['attributes']:{};await this['_loadRoot'](_0xa488bf,_0x49136,_0x5cc970);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x7ebb2a['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x7ebb2a);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x1736e1){const _0x11a64e=this['editor']['plugins']['get'](_0x53d600),{connection:_0x19b972}=this['editor']['plugins']['get'](n),_0x31cdfd=new Set();for(const _0x16e328 of _0x1736e1){const _0x2f25cb=_0x16e328['_authorId'];_0x2f25cb&&!_0x11a64e['getUser'](_0x2f25cb)&&_0x31cdfd['add'](_0x2f25cb);}if(0x0===_0x31cdfd['size'])return;const _0x4e5e77=await lt['getMany'](_0x19b972,Array['from'](_0x31cdfd));for(const _0x4fa0aa of _0x4e5e77)_0x11a64e['getUser'](_0x4fa0aa['id'])||_0x11a64e['addUser'](_0x4fa0aa);}['_getOperationsFromInitData'](_0x5c52df,_0x3358b7={}){const _0x2b555f=this['editor']['model'],_0x5ba9bf=[];let _0x5989c2=0x0;const _0x58ad42='string'==typeof _0x5c52df?{'main':_0x5c52df}:_0x5c52df;for(const _0x25f13d of Object['keys'](_0x58ad42)){if(!this['_document']['roots']['has'](_0x25f13d))throw new _0x57af79('realtimecollaborationclient-init-non-existent-root',this);const _0x358849=this['editor']['data']['parse'](_0x58ad42[_0x25f13d]),_0x3d7b61=this['_document']['getRoot'](_0x25f13d),_0xc27cf=new _0x4d5892(_0x2b555f['createPositionAt'](_0x3d7b61,0x0),_0x358849,_0x5989c2++);_0x5ba9bf['push'](_0xc27cf);for(const [_0x48be0b,_0x294d5d]of _0x358849['markers']){const _0x2afcca=_0x2b555f['createRange'](_0x2b555f['createPositionFromPath'](_0x3d7b61,_0x294d5d['start']['path']['slice']()),_0x2b555f['createPositionFromPath'](_0x3d7b61,_0x294d5d['end']['path']['slice']())),_0x4c57ca=new _0x537134(_0x48be0b,null,_0x2afcca,_0x2b555f['markers'],!0x0,_0x5989c2++);_0x5ba9bf['push'](_0x4c57ca);}}if(_0x3358b7)for(const [_0x3fbef1,_0x1da5d4]of Object['entries'](_0x3358b7)){const _0x551632=_0x2b555f['document']['getRoot'](_0x3fbef1);if(!_0x551632)throw new _0x57af79('multi-root-editor-root-attributes-no-root',null);for(const [_0x57d65b,_0x1eab8e]of Object['entries'](_0x1da5d4))if(null!==_0x1eab8e){const _0x543740=new _0x358314(_0x551632,_0x57d65b,null,_0x1eab8e,_0x5989c2++);_0x5ba9bf['push'](_0x543740);}}return _0x5ba9bf;}async['_loadRoot'](_0x21c3f4,_0x525d67,_0x55641d){this['_getOperationsFromInitData']({[_0x21c3f4]:_0x525d67},{[_0x21c3f4]:_0x55641d})['forEach']((_0x3736c1,_0x5d12d7)=>{_0x3736c1['baseVersion']=this['_document']['version']+_0x5d12d7,_0x3736c1['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x3736c1);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x45d7f8,_0x309940){let _0xee86c5;this['_offset']=_0x45d7f8['offset'];const _0xee181c=_0x45d7f8['wereChangesApplied']&&!_0x45d7f8['initData'],_0x983474=_0xee181c?0x0:_0x45d7f8['data']['baseVersion'];if(_0x309940['forEach'](_0x5e8ed0=>{_0x5e8ed0['_isInit']=!0x0,_0x5e8ed0['createdAt']=_0x45d7f8['sessionCreatedAt'],_0x5e8ed0['_authorId']=null;}),_0xee181c)_0xee86c5=_0x309940,this['_applyOperationsSet'](_0xee86c5,_0xee181c);else{if(_0x45d7f8['initData']){const _0x3339e2=this['_getOperationsFromInitData'](_0x45d7f8['initData']);this['_document']['history']['version']=-_0x3339e2['length'],_0x3339e2['forEach'](_0x56e143=>{_0x56e143['baseVersion']-=_0x3339e2['length'],_0x56e143['createdAt']=_0x45d7f8['sessionCreatedAt'],_0x56e143['_isInit']=!0x0,_0x56e143['_authorId']=null;}),this['_applyOperationsSet'](_0x3339e2,!0x0),this['serverHistory']['version']=-_0x3339e2['length']+this['_offset'],this['_updateServerHistory'](_0x3339e2);}this['_document']['history']['version']=_0x983474,_0xee86c5=this['_decompressOperations'](_0x45d7f8['data'],_0x45d7f8['metadata']),await this['_fetchMissingUsers'](_0xee86c5),this['_applyOperationsSet'](_0xee86c5,_0xee181c);}_0x45d7f8['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xee86c5,_0x45d7f8['lastOperationId']),this['_lastSyncedOperationId']=_0x45d7f8['lastOperationId']),this['serverHistory']['version']=_0x983474+this['_offset'],this['_updateServerHistory'](_0xee86c5),_0x309940['filter'](_0x102408=>{const _0xb19378=this['_getAffectedRoot'](_0x102408);return _0xb19378&&!this['_knownRootNames']['has'](_0xb19378);})['forEach']((_0x2dae86,_0x3aa407)=>{_0x2dae86['baseVersion']=this['_document']['version']+_0x3aa407,this['_saveOperationInBuffer'](_0x2dae86);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x37f89b,_0x2c4c48){const _0x396add=_0x2c4c48&&_0x2c4c48['message'];if(_0x396add&&_0x396add['startsWith']('realtimecollaborationclient'))throw _0x2c4c48;const _0x2d3c2b=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x2d3c2b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x57af79(_0x37f89b,this['editor'],_0x396add?{'originalError':_0x396add}:void 0x0);}['_saveOperationInBuffer'](_0xf9619c){this['_knownOperations']['has'](_0xf9619c)||(this['_knownOperations']['add'](_0xf9619c),this['_bufferedOperations']['push'](_0xf9619c),this['_pendingAction']||'marker'==_0xf9619c['type']&&!_0xf9619c['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x2e5715=!0x1){!_0x2e5715&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x449f25=>{_0x449f25&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x43ec85=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x45aaea){return _0x45aaea['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x45aaea['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x45aaea['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x43ec85)||this['_crash'](_0x43ec85['message'],_0x43ec85);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5f462e=>{this['on']('change:_isPendingUpdate',()=>{_0x5f462e();});});}async['_sendBufferedOperations'](){const _0x5574c6=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x5574c6['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x21cf30=[...this['_bufferedOperations']];for(const _0x2f4862 of _0x21cf30)_0x2f4862['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2f4862);const _0x107e2f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x21cf30),_0x3eca45=G++,_0x388f03=this['_compressOperations'](_0x21cf30),_0xe4b619=await this['_service']['sendOperations'](_0x388f03,_0x388f03['baseVersion'],_0x107e2f);try{return await this['_handleServerResponse'](_0x21cf30,_0xe4b619,_0x3eca45);}catch(_0x3c43d5){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3c43d5);}}async['_handleServerResponse'](_0x39fd36,_0x39bfec,_0x2efc1e){if('error'in _0x39bfec)throw _0x39bfec['error'];let _0x23e55b=!0x1;if(_0x39bfec['wereChangesApplied']){_0x39bfec['lastOperationId']&&(this['_lastSyncedOperationId']=_0x39bfec['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5e3c09=>!_0x39fd36['includes'](_0x5e3c09));for(const _0x2123b8 of _0x39fd36)_0x2123b8['createdAt']='lastOperationAcceptedAt'in _0x39bfec&&_0x39bfec['lastOperationAcceptedAt']||void 0x0;K(_0x39fd36,_0x39bfec['version']-_0x39fd36['length']),this['_updateServerHistory'](_0x39fd36);const _0x51b193=_0x39fd36['filter'](_0x91d6ec=>{if(!_0x91d6ec['_isInit'])return!0x1;const _0x4f3091=this['_getAffectedRoot'](_0x91d6ec);return _0x4f3091&&!this['_knownRootNames']['has'](_0x4f3091);});K(_0x51b193,this['_document']['version']),this['_applyOperationsSet'](_0x51b193),_0x23e55b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x272928=this['_decompressOperations'](_0x39bfec['data'],_0x39bfec['metadata'])['filter'](_0x5a086c=>_0x5a086c['baseVersion']>=this['_lastServerVersion']);_0x272928['forEach'](_0x3d6f60=>this['_addKnownRoot'](_0x3d6f60)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x7a7072=>!_0x7a7072['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x7a7072))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x272928),_0x23e55b=this['_handleExternalOperations'](_0x272928,_0x39bfec['version'],_0x39bfec['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x23e55b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3902e0,_0x4225c5,_0x2d434b){try{const _0x68abc5={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4c254e,operationsB:_0x5019a4,originalOperations:_0x3c6126}=_0xa8199(_0x3902e0,this['_bufferedOperations'],_0x68abc5);K(_0x4c254e,this['_document']['version']),K(_0x5019a4,_0x4225c5);for(const _0x3ff899 of _0x4c254e){const _0x445283=_0x3c6126['get'](_0x3ff899);_0x3ff899['_authorId']=_0x445283?_0x445283['_authorId']:null;}_0x2d434b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3902e0,_0x2d434b),this['_lastSyncedOperationId']=_0x2d434b),this['_bufferedOperations']=[..._0x5019a4],this['_applyOperationsSet'](_0x4c254e),this['_updateServerHistory'](_0x3902e0);}catch(_0x27bdaa){return console['error'](_0x27bdaa),!0x1;}return!0x0;}['_applyOperationsSet'](_0x4b1d49,_0x28de52=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3f90fa=>{for(const _0x3fe2f0 of _0x4b1d49)this['_knownOperations']['add'](_0x3fe2f0),this['_addKnownRoot'](_0x3fe2f0),_0x3f90fa['batch']['addOperation'](_0x3fe2f0),this['editor']['model']['applyOperation'](_0x3fe2f0);});}['_addKnownRoot'](_0x43a0ae){const _0x3431d0=this['_getAffectedRoot'](_0x43a0ae);_0x3431d0&&this['_knownRootNames']['add'](_0x3431d0);}['_getAffectedRoot'](_0x1477c9){let _0x1e3f25,_0x55e152;switch(_0x1477c9['type']){case'insert':_0x1e3f25=_0x1477c9['position']['root'];break;case'marker':if(_0x55e152=_0x1477c9['newRange'],!_0x55e152)return null;_0x1e3f25=_0x55e152['root'];break;case'addRootAttribute':_0x1e3f25=_0x1477c9['root'];break;case'addRoot':_0x1e3f25=_0x1477c9['affectedSelectable'];break;case'move':_0x1e3f25=_0x1477c9['targetPosition']['root'];break;default:return null;}return _0x1e3f25['rootName'];}['_updateServerHistory'](_0x11bbc0){_0x11bbc0['forEach'](_0x4651bf=>{const _0x560658=_0x4651bf['clone']();_0x560658['_authorId']=_0x4651bf['_authorId'],_0x560658['_isInit']=!!_0x4651bf['_isInit'],_0x560658['createdAt']=_0x4651bf['createdAt'],_0x560658['baseVersion']+=this['_offset'],_0x4651bf['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x560658),this['serverHistory']['addOperation'](_0x560658);});}['_handleReconnectionError'](_0x5b5337){const _0x4d69d3=this['editor']['plugins']['get']('Notification'),_0x414d81=this['editor']['locale'];_0x5b5337||(_0x5b5337=V(_0x414d81,'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.')),_0x4d69d3['showWarning'](_0x5b5337,{'title':V(_0x414d81,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0xfbb467)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xfbb467)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2a39a4){const _0x1a5f22=_0x2a39a4['map'](_0x32cd9a=>_0x32cd9a['toJSON']());return this['_compressor']['compress'](_0x1a5f22);}['_decompressOperations'](_0x4a38c4,_0x580020){return this['_compressor']['decompress'](_0x4a38c4)['map']((_0xaf07dd,_0x3b6c36)=>{const _0x5abe41='init'==_0x580020[_0x3b6c36]['type'];if('InsertOperation'==_0xaf07dd['__className']){const _0x34c8b9=_0xaf07dd['position']['root'];!this['_document']['getRoot'](_0x34c8b9)&&(this['_document']['createRoot']('$root',_0x34c8b9)['_isAttached']=!0x1);}const _0x79dee4=_0x2bd62b['fromJSON'](_0xaf07dd,this['_document']);return _0x79dee4['wasUndone']=_0xaf07dd['wasUndone'],_0x79dee4['_isInit']=_0x5abe41,_0x79dee4['_authorId']=_0x5abe41?null:_0x580020[_0x3b6c36]['userId'],_0x79dee4['_isDisconnection']='cs:removeUser'===_0x580020[_0x3b6c36]['type'],_0x79dee4['createdAt']=_0x580020[_0x3b6c36]['createdAt'],_0x79dee4;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x23bfdb=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x23bfdb&&_0x23bfdb['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x1ff3c5,_0x56afeb){for(const _0x5c1e88 of _0x1ff3c5)_0x5c1e88['baseVersion']=_0x56afeb++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x191067){this['_ignoredOperations']=_0x191067,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4fa1e3){let _0x37ef90=_0x4fa1e3['length'];for(;_0x37ef90--;){const _0x4e2972=_0x4fa1e3[_0x37ef90];if(!this['_ignoredOperations']['has'](_0x4e2972)){if(!this['_operationToId']['has'](_0x4e2972)){const _0x472581=_0x57fd7a()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4e2972,_0x472581);}return this['_operationToId']['get'](_0x4e2972);}}}['setIdForTheLastOperation'](_0x5046c8,_0x29b82d){if(!_0x29b82d)return;let _0x42e2c1=_0x5046c8['length'];for(;_0x42e2c1--;){const _0x201fd0=_0x5046c8[_0x42e2c1];this['_ignoredOperations']['has'](_0x201fd0)||this['_operationToId']['set'](_0x201fd0,_0x29b82d);}}}class a extends _0x557c4d{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x5e8b20{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x4370fd)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x53d600];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x108394){super(_0x108394),this['_services']=new Map();}async['init'](){const _0x4cab0a=this['context'],_0x422397=_0x4cab0a['plugins']['get']('CommentsRepository');if(_0x4cab0a['plugins']['get'](n)['addToReconnectionStack'](this),_0x422397['adapter']={'addCommentThread':async({channelId:_0x2e3c6b,threadId:_0x3e1238,comments:_0xf3837d,resolvedAt:_0x53c15d,resolvedBy:_0x45e4bf,context:_0x108f6d,attributes:_0x356428})=>{const _0x50dd29=await this['_getService'](_0x2e3c6b)['addCommentThread']({'commentThreadId':_0x3e1238,'comments':_0xf3837d['map'](_0x5ac4c=>function(_0x48cb05,_0x5adc36,_0x31ad72){return{'commentThreadId':_0x31ad72,'commentId':_0x48cb05['commentId'],'userId':_0x48cb05['authorId'],'content':_0x48cb05['content'],'documentId':_0x5adc36,'createdAt':_0x48cb05['createdAt'],'attributes':_0x48cb05['attributes']||{}};}(_0x5ac4c,_0x2e3c6b,_0x3e1238)),'resolvedAt':_0x53c15d,'resolvedBy':_0x45e4bf,'context':_0x108f6d,'attributes':_0x356428})['catch'](dt);return{'threadId':_0x50dd29['commentThreadId'],'comments':_0x50dd29['comments']};},'getCommentThread':async({channelId:_0x242770,threadId:_0x54e2ce})=>{const _0x9b22c5=await this['_getService'](_0x242770)['getCommentThread'](_0x54e2ce)['catch'](F)['catch'](dt);return _0x9b22c5?_0x9b22c5['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x9b22c5]),{'threadId':_0x9b22c5['commentThreadId'],'comments':_0x9b22c5['comments']['map'](S),'context':_0x9b22c5['context'],'resolvedAt':_0x9b22c5['resolvedAt'],'resolvedBy':_0x9b22c5['resolvedBy'],'attributes':_0x9b22c5['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x284ee6,threadId:_0x520075,context:_0x38e044,unlinkedAt:_0x287bd5,attributes:_0x3558c1})=>this['_getService'](_0x284ee6)['updateCommentThread']({'commentThreadId':_0x520075,'context':_0x38e044,'attributes':_0x3558c1,'unlinkedAt':_0x287bd5})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x5417f4,threadId:_0x1f8cff})=>{const _0x2f52cc=await this['_getService'](_0x5417f4)['resolveCommentThread'](_0x1f8cff)['catch'](F)['catch'](dt);return{'threadId':_0x2f52cc['commentThreadId'],'resolvedAt':_0x2f52cc['resolvedAt'],'resolvedBy':_0x2f52cc['resolvedBy']};},'reopenCommentThread':async({channelId:_0x18c089,threadId:_0x1d14b1})=>this['_getService'](_0x18c089)['reopenCommentThread'](_0x1d14b1)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x2cd59c,threadId:_0x46203c})=>this['_getService'](_0x2cd59c)['removeCommentThread'](_0x46203c)['catch'](F)['catch'](dt),'addComment':({channelId:_0x56ef78,threadId:_0x4cec0d,commentId:_0x10dc0b,content:_0xfab8c1,attributes:_0x50edbc})=>this['_getService'](_0x56ef78)['addComment'](_0x4cec0d,_0x10dc0b,_0xfab8c1,_0x50edbc)['catch'](dt),'updateComment':({channelId:_0x4ec7c8,threadId:_0x5a225e,commentId:_0x3faa33,content:_0x52dc42,attributes:_0x4b375c})=>this['_getService'](_0x4ec7c8)['updateComment'](_0x5a225e,_0x3faa33,_0x52dc42,_0x4b375c)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x42d65a,threadId:_0x5e649e,commentId:_0x236c1a})=>this['_getService'](_0x42d65a)['removeComment'](_0x5e649e,_0x236c1a)['catch'](F)['catch'](dt)},_0x4cab0a instanceof _0x1bb59e){const _0x23317c=_0x4cab0a['config']['get']('collaboration.channelId'),_0x5839b2=_0x4cab0a['plugins']['get'](i);await this['_setUpService'](_0x23317c);const _0x4407d0=await this['_services']['get'](_0x23317c)['getConnectedSessions']();this['listenTo'](_0x5839b2,'sessionAdd:'+_0x23317c,(_0x2afb83,{session:_0x595d95})=>{_0x595d95['id']===_0x5839b2['mySessionId']&&(_0x2afb83['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x595d95['permissions'],_0x23317c));}),_0x5839b2['register'](_0x23317c,_0x4407d0);}}async['_setUpService'](_0x489de6){if(this['_services']['has'](_0x489de6))throw new _0x57af79('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x489de6});const _0xde5ab5=this['context']['plugins']['get']('CommentsRepository'),_0x46b07b=new s['CommentsService'](_0x489de6);this['_services']['set'](_0x489de6,_0x46b07b),this['listenTo'](_0x46b07b,'commentThreadAdded',(_0x307802,_0x5d0d32)=>{const {commentThreadId:_0x1adb7b,documentId:_0x18f532,context:_0x420b78,attributes:_0x43fb66,resolvedAt:_0x322cd1,resolvedBy:_0x119a4b,comments:_0x64ba88}=_0x5d0d32;_0xde5ab5['getCommentThread'](_0x1adb7b)||_0xde5ab5['addCommentThread']({'threadId':_0x1adb7b,'channelId':_0x18f532,'comments':_0x64ba88?_0x64ba88['map'](S):[],'context':_0x420b78,'attributes':_0x43fb66,'resolvedAt':_0x322cd1,'resolvedBy':_0x119a4b,'isFromAdapter':!0x0});}),this['listenTo'](_0x46b07b,'commentThreadUpdated',(_0x43b0b5,{commentThreadId:_0x2a900e,documentId:_0x4c2c17,context:_0x858945,unlinkedAt:_0x43d982,attributes:_0x34d944})=>{_0xde5ab5['getCommentThread'](_0x2a900e)&&_0xde5ab5['updateCommentThread']({'threadId':_0x2a900e,'channelId':_0x4c2c17,'context':_0x858945,'unlinkedAt':_0x43d982,'attributes':_0x34d944,'isFromAdapter':!0x0});}),this['listenTo'](_0x46b07b,'commentThreadResolved',(_0x1bddcb,{commentThreadId:_0x5906b5,resolvedBy:_0x48ec53,resolvedAt:_0x3fafb7})=>{const _0x2c2586=_0xde5ab5['getCommentThread'](_0x5906b5);_0x2c2586&&_0x2c2586['resolve']({'resolvedBy':_0x48ec53,'resolvedAt':_0x3fafb7,'isFromAdapter':!0x0});}),this['listenTo'](_0x46b07b,'commentThreadReopened',(_0x19e174,{commentThreadId:_0xf77366})=>{const _0x3f1cc8=_0xde5ab5['getCommentThread'](_0xf77366);_0x3f1cc8&&_0x3f1cc8['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x46b07b,'commentThreadRemoved',(_0x2b008d,{commentThreadId:_0x2e3e4b})=>{const _0x179a9a=_0xde5ab5['getCommentThread'](_0x2e3e4b);_0x179a9a&&_0x179a9a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x46b07b,'commentAdded',(_0x2df09f,_0x56d4f8)=>{const _0xffd02c=_0x56d4f8['commentThreadId'],_0x395fe9=_0xde5ab5['getCommentThread'](_0xffd02c);_0x395fe9&&_0x395fe9['addComment']({...S(_0x56d4f8),'isFromAdapter':!0x0});}),this['listenTo'](_0x46b07b,'commentUpdated',(_0x373c1c,{commentThreadId:_0x149e8d,commentId:_0x276ef6,content:_0x1e5f5d,attributes:_0x390b0c})=>{const _0x3bc836=_0xde5ab5['getCommentThread'](_0x149e8d);if(_0x3bc836){const _0x4f150d=_0x3bc836['getComment'](_0x276ef6);_0x4f150d&&_0x4f150d['update']({'content':_0x1e5f5d,'attributes':_0x390b0c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x46b07b,'commentRemoved',(_0x1b3e59,{commentThreadId:_0x59a161,commentId:_0x5f2282})=>{const _0x124a92=_0xde5ab5['getCommentThread'](_0x59a161);if(_0x124a92){const _0x590563=_0x124a92['getComment'](_0x5f2282);_0x590563&&_0x590563['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x489de6);}['destroy'](){if(this['context']instanceof _0x1bb59e){const _0x387f98=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x387f98);}}['_terminateService'](_0x20b704){if(!this['_services']['has'](_0x20b704))throw new _0x57af79('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x20b704});this['_getService'](_0x20b704)['disconnect'](),this['_services']['delete'](_0x20b704);}async['reconnect'](){for(const _0x204388 of this['_services']['keys']())await this['_connectService'](_0x204388);if(this['context']instanceof _0x1bb59e){const _0x583226=this['context']['config']['get']('collaboration.channelId'),_0x449da1=this['context']['plugins']['get'](i);_0x449da1['unregister'](_0x583226);const _0x30c466=await this['_services']['get'](_0x583226)['getConnectedSessions']();_0x449da1['register'](_0x583226,_0x30c466);}}async['_connectService'](_0x51552c){const {connection:_0x9c869c}=this['context']['plugins']['get'](n),_0x481ba1=this['context']['plugins']['get']('CommentsRepository'),_0x743c86=this['_services']['get'](_0x51552c),_0xd2f4dd=await _0x743c86['connect'](_0x9c869c);await this['_fetchMissingUsersForThreads'](_0xd2f4dd);const _0x4340b9=new Set(Array['from'](_0x481ba1['getCommentThreads']({'channelId':_0x51552c}),_0xecb070=>_0xecb070['id']));for(const _0x2a3e5d of _0xd2f4dd)_0x2a3e5d['deletedAt']||_0x4340b9['delete'](_0x2a3e5d['commentThreadId']);for(const _0x27eab4 of _0x4340b9)_0x481ba1['getCommentThread'](_0x27eab4)['remove']({'isFromAdapter':!0x0});for(const _0xea151 of _0xd2f4dd){let _0x3f5d0a=_0x481ba1['getCommentThread'](_0xea151['commentThreadId']);const {commentThreadId:_0x11082d,context:_0x25b5fb,attributes:_0x51be7e,resolvedBy:_0x5704ff,resolvedAt:_0x232ee8,unlinkedAt:_0x1737af,deletedAt:_0x513882}=_0xea151;if(_0x513882)continue;_0x3f5d0a||(_0x3f5d0a=_0x481ba1['addCommentThread']({'channelId':_0x51552c,'threadId':_0x11082d,'context':_0x25b5fb,'attributes':_0x51be7e||{},'resolvedBy':_0x5704ff,'resolvedAt':_0x232ee8,'unlinkedAt':_0x1737af,'isFromAdapter':!0x0}));const _0x556520=new Set(Array['from'](_0x3f5d0a['comments'],_0x193dfc=>_0x193dfc['id']));for(const _0x5da6b3 of _0xea151['comments'])_0x556520['delete'](_0x5da6b3['commentId']);for(const _0x435c87 of _0x556520)_0x3f5d0a['getComment'](_0x435c87)['remove']({'isFromAdapter':!0x0});for(const _0x19ce90 of _0xea151['comments']){const _0x8071b2=_0x3f5d0a['getComment'](_0x19ce90['commentId']);_0x8071b2?_0x8071b2['content']!==_0x19ce90['content']&&_0x8071b2['update']({'content':_0x19ce90['content'],'isFromAdapter':!0x0}):_0x3f5d0a['addComment'](Object['assign'](S(_0x19ce90),{'isFromAdapter':!0x0}));}}}['_getService'](_0x706de3){if(!this['_services']['has'](_0x706de3))throw new _0x57af79('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x706de3});return this['_services']['get'](_0x706de3);}async['_fetchMissingUsersForThreads'](_0x66b2e7){const _0x19934b=this['context']['plugins']['get'](_0x53d600),{connection:_0x48f34b}=this['context']['plugins']['get'](n),_0x12ca26=new Set();for(const {resolvedBy:_0x4f08b2,comments:_0x47f155}of _0x66b2e7){_0x4f08b2&&!_0x19934b['getUser'](_0x4f08b2)&&_0x12ca26['add'](_0x4f08b2);for(const {userId:_0x40b80a}of _0x47f155)_0x19934b['getUser'](_0x40b80a)||_0x12ca26['add'](_0x40b80a);}if(0x0===_0x12ca26['size'])return;const _0x964d55=await lt['getMany'](_0x48f34b,Array['from'](_0x12ca26));for(const _0x23593f of _0x964d55)_0x19934b['getUser'](_0x23593f['id'])||_0x19934b['addUser'](_0x23593f);}}async function F(_0xd017d4){if('404'!==_0xd017d4['code'])throw _0xd017d4;}function dt(_0x1ab956){if((_0x256fff=_0x1ab956)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x256fff['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x256fff['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x256fff;throw _0x1ab956;}function S(_0x130253){return{'threadId':_0x130253['commentThreadId'],'commentId':_0x130253['commentId'],'content':_0x130253['content'],'createdAt':_0x130253['createdAt'],'authorId':_0x130253['userId'],'attributes':_0x130253['attributes']||{}};}class m extends _0x557c4d{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x549b7a){super(_0x549b7a);const _0x5f28f1=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5f28f1);}['init'](){const _0x235270=this['editor']['plugins']['get'](n),_0x2b8acb=this['editor']['plugins']['get']('TrackChangesEditing');return _0x2b8acb['adapter']={'getSuggestion':async _0x27b6b8=>{await this['_waitForServiceReady']();const _0x518fe4=await this['_trackChangesService']['get'](_0x27b6b8)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x518fe4]),_0x518fe4;},'addSuggestion':async({id:_0x20d79e,type:_0x44251a,data:_0x3d6b0a,originalSuggestionId:_0x4d3cc5,attributes:_0x58a487})=>{await this['_waitForServiceReady']();const _0x3bcff9={'id':_0x20d79e,'type':_0x44251a,'data':_0x3d6b0a,'originalSuggestionId':_0x4d3cc5,'attributes':_0x58a487},_0x1e0453=await this['_trackChangesService']['add'](_0x20d79e,_0x44251a,_0x3d6b0a,_0x4d3cc5,_0x58a487)['catch'](_0x4d6f0=>{if(ut(_0x4d6f0))return new Promise(_0x40c37f=>{this['_bufferedRequests']['set'](_0x20d79e,{'resolve':_0x40c37f,'suggestionData':_0x3bcff9});});throw _0x4d6f0;});return this['_bufferedRequests']['delete'](_0x20d79e),_0x1e0453;},'updateSuggestion':async(_0x2f3f54,_0x1f0f50)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1f0f50['state'])return this['_trackChangesService']['update'](_0x2f3f54,_0x1f0f50)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3efa64,_0x4f1f4a)=>{_0x2b8acb['hasSuggestion'](_0x4f1f4a['id'])&&(_0x2b8acb['getSuggestion'](_0x4f1f4a['id'])['attributes']=_0x4f1f4a['attributes']);}),this['_trackChangesService']['connect'](_0x235270['connection'])['then'](_0x1ccd21=>(_0x235270['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1ccd21)['then'](()=>{for(const _0x109680 of _0x1ccd21){_0x2b8acb['addSuggestionData'](_0x109680)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2247de=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3db83e}=this['editor']['plugins']['get'](n),_0x386d24=await this['_trackChangesService']['connect'](_0x3db83e);await this['_fetchMissingUsersForThreads'](_0x386d24);for(const {suggestionData:_0x515867,resolve:_0x28a8b4}of this['_bufferedRequests']['values']()){let _0x33795c=_0x386d24['find'](_0x2dce36=>_0x2dce36['id']===_0x515867['id']);_0x33795c||(_0x33795c=await this['_trackChangesService']['add'](_0x515867['id'],_0x515867['type'],_0x515867['data'],_0x515867['originalSuggestionId'])),_0x28a8b4(_0x33795c);}for(const _0x510931 of _0x386d24)_0x2247de['hasSuggestion'](_0x510931['id'])||_0x2247de['addSuggestionData'](_0x510931);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1b98fb=>{this['listenTo'](this['_trackChangesService'],'connected',_0x204362=>{_0x204362['off'](),_0x1b98fb();});});}async['_fetchMissingUsersForThreads'](_0x284dac){const _0x11e7be=this['editor']['plugins']['get'](_0x53d600),{connection:_0x238df8}=this['editor']['plugins']['get'](n),_0x2bf1dd=new Set();for(const {authorId:_0x1333ad}of _0x284dac)_0x11e7be['getUser'](_0x1333ad)||_0x2bf1dd['add'](_0x1333ad);if(0x0===_0x2bf1dd['size'])return;const _0x1d5fa9=await lt['getMany'](_0x238df8,Array['from'](_0x2bf1dd));for(const _0x92defb of _0x1d5fa9)_0x11e7be['getUser'](_0x92defb['id'])||_0x11e7be['addUser'](_0x92defb);}}function k(_0x184ee5){if(ut(_0x184ee5))return new Promise(()=>{});throw _0x184ee5;}function ut(_0x8ccc60){return _0x8ccc60['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x8ccc60['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x557c4d{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4d7cbe=this['editor']['plugins']['get'](n),_0x2ba59e=this['editor']['plugins']['get']('CommentsEditing'),_0x47fb71=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4d7cbe,'change:state',(_0x49eecb,_0x1e8c7d,_0x5a7bb7)=>{_0x2ba59e['isThreadsLoadingPaused']='connected'!==_0x5a7bb7;});}),this['listenTo'](_0x4d7cbe,'change:state',(_0x32255c,_0x1d0bdd,_0x5d379b)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x5d379b);}),_0x47fb71['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x557c4d{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x557c4d{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x53d600];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x307f5e){super(_0x307f5e);const _0x4aa44f=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x4aa44f);}async['init'](){const _0x237871=this['editor']['plugins']['get'](l),_0x544d8b=_0x237871['serverHistory'],_0x7dee53=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x544d8b,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x237871['sessionId']});const _0x415878=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x19cc0d=await it['isBundleUploaded'](_0x7dee53['connection'],_0x415878);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x2c10e7})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2c10e7)),'updateRevisions':async _0x37803a=>{await this['_waitForServiceReady']();const _0x5ad153=this['_revisionTracker']['currentRevision'];if(_0x19cc0d&&0x1===_0x37803a['length']&&_0x37803a[0x0]['id']===_0x5ad153['id'])return _0x37803a;for(const _0x42fd0d of _0x37803a)_0x42fd0d['id']===_0x5ad153['id']&&(_0x42fd0d['isEmptyCurrent']=_0x42fd0d['fromVersion']===_0x42fd0d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x37803a,this['_lastRequestId'])['then'](_0x1ed6ff=>(this['_lastRequestId']=_0x1ed6ff,_0x37803a))['catch'](_0x5b654c=>{if(et(_0x5b654c)||'400'===_0x5b654c['code']&&void 0x0!==_0x5b654c['data']['wrongRequestId']){for(const _0x412043 of _0x37803a){!this['_revisionTracker']['repository']['getRevision'](_0x412043['id'])||this['_revisionTracker']['_bufferUpdate'](_0x412043['id'],_0x412043,!0x1);}if(et(_0x5b654c))throw _0x5b654c;return _0x37803a;}throw _0x5b654c;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4f2aeb,{revisionsData:_0x24a64e,requestId:_0x32a543})=>{Math['max'](..._0x24a64e['map'](_0xfaba27=>_0xfaba27['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x24a64e,_0x32a543);}):this['_handleRevisionsUpdate'](_0x24a64e,_0x32a543);});const {revisions:_0x3e535f,requestId:_0x212c9d}=await this['_revisionHistoryService']['connect'](_0x7dee53['connection']);_0x7dee53['addToReconnectionStack'](this),this['_lastRequestId']=_0x212c9d,await this['_fetchMissingUsers'](_0x3e535f);for(const _0x351f47 of _0x3e535f)this['_revisionTracker']['addRevisionData'](_0x351f47);this['listenTo'](_0x237871,'change:_isConnected',(_0x134823,_0x153b44,_0x3f32be)=>{_0x3f32be&&(this['_oldOffset']=_0x237871['_offset'],_0x134823['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x7dee53,'state',_0x21fc73=>_0x21fc73===te['CONNECTED']);}async['reconnect'](){const _0x414886=this['editor']['plugins']['get'](n),_0xa0c909=this['editor']['plugins']['get'](l),_0x37bec2=async()=>{const _0x17d163=this['_revisionTracker']['currentRevision'],_0x43afc6=_0x17d163['id'],_0x568634=_0x43afc6!==_0xa0c909['sessionId'];if(_0x568634){const _0x1928dc=_0xa0c909['_offset']-this['_oldOffset'],_0x2a2f8c=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x17d163['toVersion']+_0x1928dc!==_0x2a2f8c){const _0x53c361=_0x17d163['fromVersion']+_0x1928dc,_0x5dc4a5=this['editor']['plugins']['get'](_0x53d600),_0xb0a7b=this['_revisionTracker']['buildRevisionData']({'revision':_0x17d163,'from':_0x53c361,'to':_0x2a2f8c});_0xb0a7b['id']=_0x17d163['id'];const _0x105b05=_0xb0a7b['authorsIds']['map'](_0x4d2ee1=>_0x5dc4a5['getUser'](_0x4d2ee1));_0x17d163['_update']({..._0xb0a7b,'authors':_0x105b05},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x17d163['id'],_0xb0a7b,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2a2f8c,(_0x17d163['toVersion']===_0x17d163['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x43afc6)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x43afc6),this['_revisionTracker']['_createCurrentRevision'](_0x2a2f8c));}const {revisions:_0x218fc3,requestId:_0x20a032}=await this['_revisionHistoryService']['reconnect'](_0x414886['connection'],this['_lastRequestId']);_0x568634&&_0x218fc3['length']>0x0?_0xa0c909['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x218fc3),this['_handleRevisionsUpdate'](_0x218fc3,_0x20a032),this['_revisionTracker']['sendBufferedUpdates']());};return _0xa0c909['_isConnected']?_0x37bec2():new Promise((_0x387496,_0x3f8b65)=>{_0xa0c909['once']('change:_isConnected',()=>{_0x37bec2()['then'](_0x387496)['catch'](_0x3f8b65);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x33868f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x560149=>{_0x560149['off'](),_0x33868f();});});}['_getLatestVersionFromServerOperations'](){const _0x29d7ab=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x565226 of _0x29d7ab)if('marker'!==_0x565226['type']||_0x565226['affectsData'])return _0x565226['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1da384=this['editor']['plugins']['get'](l);return new Promise(_0x3dafb9=>{_0x1da384['_isPendingUpdate']?_0x1da384['once']('change:_isPendingUpdate',()=>{_0x3dafb9(this['_getLatestVersionFromServerOperations']());}):_0x3dafb9(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3d5438,_0x39c9b8){const _0x153767=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x39c9b8;for(const _0x28b6b1 of _0x3d5438){const _0x27ec0b=_0x153767['getRevision'](_0x28b6b1['id']);if(_0x27ec0b){if((_0x28b6b1['fromVersion']||_0x28b6b1['toVersion'])&&(_0x28b6b1['diffData']=null),_0x27ec0b===this['_revisionTracker']['currentRevision']){const _0x20206c=Math['max'](_0x27ec0b['toVersion'],_0x28b6b1['toVersion']),_0x4de40d=Math['max'](_0x27ec0b['fromVersion'],_0x28b6b1['fromVersion']);let _0x27616a;_0x27ec0b['toVersion']===_0x28b6b1['toVersion']&&_0x27ec0b['fromVersion']===_0x28b6b1['fromVersion']?(_0x27616a=!0x0,this['_preventResendingRevisionData'](_0x28b6b1)):_0x28b6b1['toVersion']===_0x20206c&&_0x28b6b1['fromVersion']===_0x4de40d?_0x27616a=!0x1:(_0x27ec0b['toVersion']===_0x20206c&&_0x27ec0b['fromVersion']===_0x4de40d||this['_fixRevision']({'revision':_0x27ec0b,'from':_0x4de40d,'to':_0x20206c}),_0x27616a=!0x0),_0x27616a&&(delete _0x28b6b1['fromVersion'],delete _0x28b6b1['toVersion'],delete _0x28b6b1['diffData'],delete _0x28b6b1['createdAt'],delete _0x28b6b1['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x28b6b1),this['_preventResendingRevisionData'](_0x28b6b1);}else this['_revisionTracker']['addRevisionData'](_0x28b6b1);}const _0x4ce330=_0x153767['getRevisions']();_0x4ce330['reverse']();for(let _0x627c40=0x0;_0x627c40<_0x4ce330['length']-0x1;_0x627c40++){const _0x44b821=_0x4ce330[_0x627c40],_0x2e4e86=_0x4ce330[_0x627c40+0x1];if(_0x44b821['fromVersion']<_0x2e4e86['toVersion']){const _0x4794f0=_0x2e4e86['toVersion'],_0x4fc38b=Math['max'](_0x4794f0,_0x44b821['toVersion']);this['_fixRevision']({'revision':_0x44b821,'from':_0x4794f0,'to':_0x4fc38b});}}}['_fixRevision']({revision:_0x41e859,from:_0x5ed25e,to:_0x4606b0}={}){const _0x5c8a1f=this['editor']['plugins']['get'](_0x53d600),_0xafd8bc=this['_revisionTracker']['buildRevisionData']({'revision':_0x41e859,'from':_0x5ed25e,'to':_0x4606b0});_0xafd8bc['authors']=_0xafd8bc['authorsIds']['map'](_0x5aa9d8=>_0x5c8a1f['getUser'](_0x5aa9d8)),_0x41e859['_update'](_0xafd8bc);}['_preventResendingRevisionData'](_0x5e55f8){const _0x5abe3b={};_0x5abe3b['id']=_0x5e55f8['id'];for(const _0x11f6c6 of Object['keys'](_0x5e55f8))'id'!==_0x11f6c6&&(_0x5abe3b[_0x11f6c6]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5abe3b['id'],_0x5abe3b,!0x0);}async['_fetchMissingUsers'](_0x20182a){const _0x5d5930=this['editor']['plugins']['get'](_0x53d600),{connection:_0x59b884}=this['editor']['plugins']['get'](n),_0x159d22=new Set();for(const _0x2caefc of _0x20182a){for(const _0x328d26 of _0x2caefc['authorsIds'])_0x4a7578(_0x328d26);_0x2caefc['creatorId']&&_0x4a7578(_0x2caefc['creatorId']);}if(0x0===_0x159d22['size'])return;const _0x22669f=await lt['getMany'](_0x59b884,Array['from'](_0x159d22));for(const _0x1cb545 of _0x22669f)_0x5d5930['getUser'](_0x1cb545['id'])||_0x5d5930['addUser'](_0x1cb545);function _0x4a7578(_0x261a65){_0x5d5930['getUser'](_0x261a65)||_0x159d22['add'](_0x261a65);}}}function et(_0x11a36b){return _0x11a36b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x11a36b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x11a36b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x557c4d{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x1bd8e4{['_collapseAt'];constructor(_0x5c4953,_0x66c5ae=0x6){super(_0x5c4953);const _0x92eecd=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x66c5ae,this['bind']('isHidden')['to'](this,'usersCount',_0x626e34=>_0x626e34<_0x66c5ae),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x92eecd['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':_0x92eecd['to']('usersCount',_0x74073d=>'+'+(_0x74073d-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x1bd8e4{['items'];['keystrokes'];constructor(_0xbe9697){super(_0xbe9697);const _0x42a50f=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x422e84(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x42a50f['if']('hasPopup'),'aria-expanded':_0x42a50f['to']('isExpanded',_0x58c8ef=>this['hasPopup']&&String(_0x58c8ef)),'aria-label':_0x42a50f['to']('hasPopup',_0x4b08e6=>V(_0xbe9697,_0x4b08e6?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x42a50f['to']('hasPopup',_0x4813a4=>!!_0x4813a4&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x42a50f['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x42a50f['to'](_0x6ed6bf=>{const _0x547f1e=_0x6ed6bf,_0x6276d6=document['querySelector']('.ck-presence-list__dropdown-list'),_0x33c20b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x6276d6?.['contains'](_0x547f1e['relatedTarget'])||_0x33c20b?.['contains'](_0x547f1e['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x254b78,_0x10792f,_0x53c57c)=>{this['element']&&(_0x53c57c?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x1bd8e4{['counterView'];['inlineListView'];constructor(_0x227ecd,_0x594a91=0x6){super(_0x227ecd);const _0x4ff5c4=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x594a91),this['inlineListView']=new is(_0x227ecd),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xbd93c8 of this['inlineListView']['items'])_0xbd93c8['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',_0x4ff5c4['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x1bd8e4{['listWrapperView'];constructor(_0xf645b7,_0x3b548e){super(_0xf645b7);const _0x499532=this['bindTemplate'];this['listWrapperView']=new pt(_0xf645b7,_0x3b548e),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0xf645b7,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x499532['to'](_0x5168cd=>{const _0x5360eb=_0x5168cd,_0x1a2e04=document['querySelector']('.ck-presence-list__list'),_0x4cfd83=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1a2e04?.['contains'](_0x5360eb['relatedTarget'])||_0x4cfd83?.['contains'](_0x5360eb['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x472541{constructor(_0x2511d6,_0x338538){super(_0x2511d6);const _0x41cc6b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x338538?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x41cc6b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x41cc6b['to']('role'),'aria-label':_0x41cc6b['to']('ariaLabel'),'aria-labelledby':_0x41cc6b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0xc2e3cd['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x215255=this['element'];_0x215255&&(this['_isScrollable']=Math['max'](_0x215255['scrollHeight'],_0x215255['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x389aa1,_0x528c82,_0x327f78){super(_0x389aa1);const _0x509296=this['bindTemplate'];this['userView']=new ct(_0x389aa1,_0x528c82);const _0x5109ea={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x528c82['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x528c82['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x528c82['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x327f78&&(_0x5109ea['tag']='button',_0x5109ea['on']={'click':_0x509296['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5109ea);}['focus'](){this['element']['focus']();}}class A extends _0x1bd8e4{['userView'];['markerView'];constructor(_0x32ff65,_0x4c7d5b,_0x1fa154){super(_0x32ff65);const _0x4c078e=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x32ff65,_0x4c7d5b),this['markerView']=new at(_0x32ff65,_0x4c7d5b);const _0xda20ee=new ot(_0x32ff65);_0xda20ee['template']['tag']='span',_0xda20ee['text']=_0x4c7d5b['name'];const _0x4fe7d5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4c078e['to']('isFocusable',_0x884ade=>!!_0x884ade&&0x0),'aria-labelledby':_0xda20ee['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4c078e['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4c078e['to']('hasTooltip',_0x3407b0=>!_0x3407b0),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0xda20ee]};_0x1fa154&&(_0x4fe7d5['tag']='button',_0x4fe7d5['on']={'click':_0x4c078e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4fe7d5);}}class at extends _0x1bd8e4{constructor(_0xb9c71e,_0x1f0eaf){super(_0xb9c71e),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1f0eaf['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x5e8b20{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x16100c){super(_0x16100c),this['context']['config']['define']('presenceList',x);const _0xbe6bca=_0x16100c['config']['get']('presenceList.collapseAt');if('number'!=typeof _0xbe6bca)throw new _0x57af79('presencelist-collapseat-invalid-format',this);if(_0xbe6bca<0x1)throw new _0x57af79('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x24e80c(),this['balloonPanelView']=new _0x251752(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x5d874e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5d874e);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2693af,_0x4176a7)=>{this['_handleUserAdd'](_0x4176a7);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2eeb2c,_0x2fceb8)=>{this['_handleUserRemove'](_0x2fceb8);});}['_createView'](){const _0x2eee23=this['context'],_0x4dbcdf=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xee2fbd=this['balloonPanelView'];if(!_0x285777(_0x2eee23['config']['get']('presenceList.container')))throw new _0x57af79('presencelist-missing-container',this);return _0x4dbcdf['counterView']['bind']('usersCount')['to'](this),_0x4dbcdf['bind']('isCollapsed')['to'](this,'usersCount',_0x194299=>{const {collapseAt:_0xab66ab}=_0x2eee23['config']['get']('presenceList'),_0x3da8c1=_0x194299>=_0xab66ab;if(_0x3da8c1&&!_0x4dbcdf['inlineListView']['items']['find'](_0x35fcdf=>_0x35fcdf instanceof b)){const _0x1f32c7=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1f32c7&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4dbcdf['inlineListView']['items']['add'](_0x4dbcdf['counterView']);}return _0x3da8c1||this['hideDropdown'](),_0x3da8c1;}),_0x4dbcdf['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x518f71=>{const _0x1a9d8f=_0x2eee23['config']['get']('presenceList'),_0x5e1d86=new A(_0x2eee23['locale'],_0x518f71,!!_0x1a9d8f['onClick']);return _0x5e1d86['bind']('hasTooltip')['to'](_0x4dbcdf,'isCollapsed',_0x2bd2aa=>!_0x2bd2aa),_0x5e1d86['bind']('isFocusable')['to'](_0x4dbcdf,'isCollapsed',_0x4ec49a=>!_0x4ec49a),_0x1a9d8f['onClick']&&this['listenTo'](_0x5e1d86,'execute',()=>{this['view']['isCollapsed']||_0x1a9d8f['onClick'](_0x518f71,_0x5e1d86['element']);}),_0x5e1d86;}),this['listenTo'](_0x4dbcdf['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4dbcdf['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4dbcdf['inlineListView']['keystrokes']['set']('Enter',(_0x351ff7,_0x3691d1)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3691d1());}),_0x4dbcdf['render'](),_0xee2fbd['render'](),_0x3bb7ab({'emitter':_0x4dbcdf,'activator':()=>_0xee2fbd['isVisible'],'contextElements':[_0xee2fbd['element'],_0x4dbcdf['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x2eee23['config']['get']('presenceList.container')['appendChild'](_0x4dbcdf['element']),this['_bodyCollection']=new _0x18e462(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4dbcdf;}['_handleUserAdd'](_0x58edd5){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x58edd5['isMe'])return;const _0x21131a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x21131a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1fe5a9=_0x58edd5['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x58edd5,_0x1fe5a9);}['_handleUserRemove'](_0x30bcda){this['usersCount']--;const {collapseAt:_0x157771}=this['context']['config']['get']('presenceList'),_0x327e36=this['usersCount']>=_0x157771;if(this['currentDisplayedUsers']['get'](_0x30bcda['id']))this['currentDisplayedUsers']['remove'](_0x30bcda['id']);else{if(_0x327e36&&this['currentDisplayedUsers']['length']+0x1===_0x157771-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x327e36?0x1:0x0)<this['usersCount']){for(const _0x124148 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x124148['id'])&&(this['currentDisplayedUsers']['add'](_0x124148,Math['min'](this['currentDisplayedUsers']['length']-(_0x327e36?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x327e36?0x1:0x0)===_0x157771-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x2125b4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x2125b4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x54d778}=this['presenceDropdownView'];_0x54d778['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1fd7aa=>{if(!_0x2125b4['displayMe']&&_0x1fd7aa['isMe'])return null;const _0x556591=new j(this['context']['locale'],_0x1fd7aa,!!_0x2125b4['onClick']);return _0x2125b4['onClick']&&this['listenTo'](_0x556591,'execute',()=>{_0x2125b4['onClick'](_0x1fd7aa,_0x556591['element']);}),_0x556591;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x54d778['focus'](),_0x54d778['checkIfScrollable']();const _0x2815e3=(_0x38c345,_0xf176f3)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xf176f3();};_0x54d778['keystrokes']['set']('Esc',_0x2815e3),_0x54d778['keystrokes']['set']('Shift+Tab',_0x2815e3),_0x54d778['keystrokes']['set']('Tab',(_0x11b8d9,_0x314a34)=>{!function(_0x37bca7){const _0x3111ed=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x21ec8a=>_0x21ec8a+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2a6ab7=[...document['body']['querySelectorAll'](_0x3111ed)]['filter'](_0x20cf78=>_0x20cf78===document['activeElement']||_0x20cf78['offsetWidth']+_0x20cf78['offsetHeight']>0x0)['sort']((_0x12434,_0x1b9ae1)=>(_0x12434['tabIndex']||0x0)-(_0x1b9ae1['tabIndex']||0x0)),_0xb39c9=_0x2a6ab7['indexOf'](_0x37bca7),_0x463791=_0x2a6ab7[(_0xb39c9+0x1)%_0x2a6ab7['length']];_0x463791&&_0x463791['focus']();}(this['view']['element']),this['hideDropdown'](),_0x314a34();}),_0x54d778['focusTracker']['add'](this['view']['element']),_0x54d778['focusTracker']['on']('change:isFocused',(_0x16d17b,_0x319918,_0x59de9d)=>{_0x59de9d||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x5e8b20{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};