@ckeditor/ckeditor5-real-time-collaboration 47.1.0-alpha.2 → 47.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x3fda04,Plugin as _0x2a528b,PendingActions as _0x376d07,Context as ot}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1222ee,CKEditorError as _0x495bd7,Collection as _0x50504b,global as _0x238b5d,version as ht,uid as _0x562ca5,KeystrokeHandler as _0x1e10a0}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xd7a3b1,View as _0x516261,ListView as _0x5ad3a7,ListItemView as it,LabelView as at,BalloonPanelView as _0x458d22,clickOutsideHandler as _0x6231a0,BodyCollection as _0x221097}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x55fe5a,History as _0x102672,NoOperation as _0x747ae5,InsertOperation as _0x5aaafd,MarkerOperation as _0x2a532e,RootAttributeOperation as _0x52a999,transformOperationSets as _0x543dee,OperationFactory as _0x522808}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x5e325f,CollaborativeEditingService as _0x3e7873,User as ut,CommentsService as nt,TrackChangesService as tt,RevisionHistoryService as _0x4ed55f,EditorService as _0x5cdba5}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x15d897,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1e396c}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x576274}from'es-toolkit/compat';class n extends _0x3fda04{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xd7a3b1];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x58510e){super(_0x58510e),this['set']('state',_0x5e325f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1222ee())();}['init'](){const _0x398c70=this['context'],_0x203e75=_0x398c70['plugins']['get']('CloudServices'),_0x185cdb=_0x398c70['plugins']['get'](_0xd7a3b1);if(!_0x203e75['token'])throw new _0x495bd7('websocketgateway-missing-token',this);if(!_0x203e75['webSocketUrl'])throw new _0x495bd7('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'](_0x203e75['token'],_0x203e75['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2fee43=>{if(this['connection']=_0x2fee43,this['bind']('state')['to'](_0x2fee43,'state',this,'_isBrowserOffline',(_0x249f3f,_0xb11c96)=>('connected'!==_0x249f3f&&(this['_shouldPluginsReconnect']=!0x0),_0xb11c96||_0x249f3f!==_0x5e325f['CONNECTED']?_0x5e325f['DISCONNECTED']:this['state']==_0x5e325f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5e325f['CONNECTING']):_0x5e325f['CONNECTED'])),this['connection']['on']('error',(_0x2f4eb4,_0x5e901c)=>{if('limitExceeded'!==_0x5e901c['code'])throw console['error'](_0x5e901c),new _0x495bd7('cloudservices-init',null,{'originalError':_0x5e901c});_0x185cdb['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'});}),!_0x2fee43['me'])return new Promise(_0x829734=>_0x2fee43['on']('change:me',_0x829734));})['catch'](_0x655808=>{throw console['error'](_0x655808),new _0x495bd7('cloudservices-init',null,{'originalError':_0x655808});});}['addToReconnectionStack'](_0x4e455c){if('function'!=typeof _0x4e455c['reconnect'])throw new _0x495bd7('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4e455c))throw new _0x495bd7('websocketgateway-plugin-already-registered',this,{'name':_0x4e455c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4e455c);}['removeFromReconnectionStack'](_0x1f5dd4){this['_reconnectionStack']['delete'](_0x1f5dd4);}['isInReconnectionStack'](_0x197959){return this['_reconnectionStack']['has'](_0x197959);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5efa56=>_0x5efa56['reconnect']())))['then'](()=>this['state']=_0x5e325f['CONNECTED'])['catch'](_0x45c630=>{throw console['error'](_0x45c630),new _0x495bd7('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5e325f['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3fda04{['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,_0x15d897];}constructor(_0x51c1dc){super(_0x51c1dc),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x50504b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x15d897);}['init'](){const _0x58e9be=this['context']['plugins']['get'](n);this['listenTo'](_0x58e9be,'change:state',(_0x353266,_0x4d6bc5,_0x121598)=>{if('connected'!==_0x121598)this['channelSessions']['forEach'](_0xcf813=>_0xcf813['clear']()),this['channelConnectedUsers']['forEach'](_0x1a773d=>_0x1a773d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x50e820,_0x327d9c]of this['_registeredSessions'])for(const _0x16876c of _0x327d9c)this['_handleSessionAdd'](_0x50e820,_0x16876c);}}),this['_createUser'](_0x58e9be['connection']['me'],!0x0);}['register'](_0x15fcf8,_0x4d9333){if(this['_registeredSessions']['has'](_0x15fcf8))throw new _0x495bd7('sessions-register-already-registered',null,{'channelId':_0x15fcf8});this['_registeredSessions']['set'](_0x15fcf8,_0x4d9333),this['channelSessions']['set'](_0x15fcf8,new _0x50504b()),this['channelConnectedUsers']['set'](_0x15fcf8,new _0x50504b()),this['listenTo'](_0x4d9333,'add',(_0xd8187c,_0x56fc23)=>this['_handleSessionAdd'](_0x15fcf8,_0x56fc23)),this['listenTo'](_0x4d9333,'remove',(_0x377813,_0x174569)=>this['_handleSessionRemove'](_0x15fcf8,_0x174569));for(const _0x398ad6 of _0x4d9333)this['_handleSessionAdd'](_0x15fcf8,_0x398ad6);}['unregister'](_0x22d269){if(!this['_registeredSessions']['has'](_0x22d269))throw new _0x495bd7('sessions-unregister-not-exist',null,{'channelId':_0x22d269});const _0x23bd2e=this['_registeredSessions']['get'](_0x22d269);this['stopListening'](_0x23bd2e);for(const _0x4c391e of _0x23bd2e)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x22d269,_0x4c391e);this['_registeredSessions']['delete'](_0x22d269),this['channelSessions']['delete'](_0x22d269),this['channelConnectedUsers']['delete'](_0x22d269);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x2d6f02){for(const _0x434f94 of this['channelSessions']['values']())for(const _0x4bdbe7 of _0x434f94)if(_0x4bdbe7['id']===_0x2d6f02)return _0x4bdbe7['user'];}['getUserSessions'](_0x5a50c2,_0x6c7614){const _0x41f9e7=_0x6c7614?[this['channelSessions']['get'](_0x6c7614)]:this['channelSessions']['values'](),_0x373778=new Set();for(const _0x400f3e of _0x41f9e7)for(const _0x3677ef of _0x400f3e)_0x3677ef['user']['id']===_0x5a50c2['id']&&_0x373778['add'](_0x3677ef['id']);return _0x373778;}['getUserRole'](_0x30f166){for(const _0x19d71a of this['channelSessions']['values']())for(const _0x2c3faf of _0x19d71a)if(_0x2c3faf['user']===_0x30f166)return _0x2c3faf['role'];}['_handleSessionAdd'](_0x3d2080,_0x5370b7){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x7a751d=_0x5370b7['user'],_0x327425=this['_users']['getUser'](_0x7a751d['id'])||this['_createUser'](_0x7a751d),_0x4c0060=Object['assign']({},_0x5370b7,{'user':_0x327425});if(this['channelSessions']['get'](_0x3d2080)['add'](_0x4c0060),!_0x7a751d['hiddenInPresenceList']){const _0x832e4a=this['channelConnectedUsers']['get'](_0x3d2080);_0x832e4a['has'](_0x327425['id'])||_0x832e4a['add'](_0x327425),this['allConnectedUsers']['has'](_0x327425['id'])||_0x7a751d['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x327425,_0x327425['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3d2080,{'channelId':_0x3d2080,'session':_0x4c0060});}['_handleSessionRemove'](_0x58543e,_0x227857){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4e9e6b=this['channelConnectedUsers']['get'](_0x58543e),_0x3005ee=_0x227857['user'];_0x3005ee['id']&&(this['channelSessions']['get'](_0x58543e)['remove'](_0x227857['id']),_0x4e9e6b['has'](_0x3005ee['id'])&&!this['getUserSessions'](_0x3005ee,_0x58543e)['size']&&_0x4e9e6b['remove'](_0x3005ee['id']),this['allConnectedUsers']['get'](_0x3005ee['id'])&&!this['getUserSessions'](_0x3005ee)['size']&&this['allConnectedUsers']['remove'](_0x3005ee['id']));}['_createUser'](_0x266e61,_0x4a2637){const _0x23a36f=this['_users']['addUser'](_0x266e61);return _0x4a2637&&this['_users']['defineMe'](_0x266e61['id']),_0x23a36f['orderNumber']=this['_uniqueUsersCount']++,_0x23a36f;}}class U extends _0x2a528b{['_domEmitter']=new(_0x1222ee())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x44911d=this['editor'],_0x34bf2e=_0x44911d['plugins']['get'](i);_0x44911d['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x31da46,{writer:_0x175607})=>function(_0x44df1e,_0xf702cc,_0x4e062a,_0x177562){const _0x4f0313=_0x44df1e['markerName']['split'](':')[0x2],_0x42976e=_0x4e062a['getUserBySessionId'](_0x4f0313);if(!_0x42976e||_0x4f0313===_0x4e062a['mySessionId'])return;if(!_0x177562['model']['schema']['checkChild'](_0x44df1e['markerRange']['start'],'$text'))return;const _0x1f2cb9={'class':'ck-user__marker\x20'+_0x42976e['color']['getMarkerClass'](),'data-name':_0x42976e['name'],'data-session-id':_0x4f0313},_0x1a0f0d=_0x177562['model']['markers']['get'](_0x44df1e['markerName']),_0xb0d94a=_0x1a0f0d['getStart'](),_0x476b09=_0xb0d94a['nodeAfter'],_0x489ccb=_0x177562['model']['schema'];if(_0x476b09&&_0x489ccb['isObject'](_0x476b09)&&_0x489ccb['isInline'](_0x476b09)&&!_0x177562['model']['markers']['get']('user:range:'+_0x4f0313)['getRange']()['isCollapsed'])return;const _0x4ff2cc=_0xb0d94a['parent'];return _0x177562['model']['schema']['isLimit'](_0x4ff2cc)&&!_0x177562['model']['hasContent'](_0x4ff2cc)&&(_0x1f2cb9['contenteditable']=!0x1),function(_0x6f07a5,_0x420480,_0x17739d){const _0x43e618=_0x6f07a5['createUIElement']('span',_0x420480);return _0x6f07a5['setCustomProperty']('userPositionMarker',!0x0,_0x43e618),_0x43e618['render']=function(_0x15c665){const _0x3862ab=this['toDomElement'](_0x15c665),_0x3c0058=document['createElement']('span');return _0x3c0058['classList']['add']('ck-user__marker-tooltip'),_0x3c0058['setAttribute']('contenteditable','false'),_0x3c0058['setAttribute']('spellcheck','false'),_0x3c0058['textContent']=_0x17739d['name'],_0x3862ab['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3c0058['outerHTML']+'⁠',_0x3862ab['addEventListener']('mouseenter',()=>{_0x3862ab['classList']['add']('ck-user__marker_hovered');}),_0x3862ab['addEventListener']('mouseleave',()=>{_0x3862ab['classList']['remove']('ck-user__marker_hovered');}),_0x3862ab;},_0x43e618['isSimilar']=function(_0x2253a5){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2253a5['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2253a5['getAttribute']('data-session-id'));},_0x43e618;}(_0xf702cc,_0x1f2cb9,_0x42976e);}(_0x31da46,_0x175607,_0x34bf2e,_0x44911d)}),_0x44911d['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5e78db=>function(_0x20a8d1,_0x3d49e4){const _0x3cbd9c=_0x20a8d1['markerName']['split'](':')[0x2];if(_0x3cbd9c===_0x3d49e4['mySessionId'])return null;const _0x2de371=_0x3d49e4['getUserBySessionId'](_0x3cbd9c);if(!_0x2de371)return{'id':_0x3cbd9c,'classes':[]};return{'id':_0x3cbd9c,'classes':['ck-user__selection',_0x2de371['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x3cbd9c},'priority':0x7d0+_0x2de371['orderNumber']};}(_0x5e78db,_0x34bf2e)}),function(_0x3dae5c){const _0x131dbf=_0x3dae5c['model'],_0x25f454=new Map(),_0x50de21=_0x3dae5c['plugins']['get'](i);_0x131dbf['markers']['on']('update:user:range',(_0x20f324,_0x1042e8,_0x244cd4,_0x48819c)=>{if(!_0x48819c&&_0x25f454['get'](_0x1042e8['name']))return _0x25f454['get'](_0x1042e8['name'])['detach'](),void _0x25f454['delete'](_0x1042e8['name']);const _0x71387c=_0x1042e8['name']['split'](':')[0x2];if(_0x71387c===_0x50de21['mySessionId'])return;const _0x16d71e='user:position:'+_0x71387c;_0x131dbf['markers']['has'](_0x16d71e)&&_0x3dae5c['editing']['reconvertMarker'](_0x16d71e),_0x1042e8['on']('change:range',(_0x3fd115,_0x3a93bf,_0x301d2b)=>{if('$graveyard'!=_0x3a93bf['root']['rootName']&&'$graveyard'==_0x1042e8['getRange']()['root']['rootName']&&!_0x25f454['has'](_0x1042e8['name'])){const _0x2d064a=_0x131dbf['schema']['getNearestSelectionRange'](_0x301d2b['deletionPosition']);if(_0x2d064a){const _0x134a4d=_0x55fe5a['fromRange'](_0x2d064a);_0x25f454['set'](_0x1042e8['name'],_0x134a4d),_0x134a4d['on']('change:range',(_0x3bae5b,_0x2ce70e,_0x2a0f7c)=>{if('$graveyard'==_0x134a4d['root']['rootName']){const _0x34c088=_0x131dbf['schema']['getNearestSelectionRange'](_0x2a0f7c['deletionPosition']);_0x34c088?(_0x134a4d['start']=_0x34c088['start'],_0x134a4d['end']=_0x34c088['end']):(_0x25f454['delete'](_0x1042e8['name']),_0x134a4d['detach']());}});}}});}),_0x131dbf['document']['on']('change',()=>{_0x25f454['size']>0x0&&_0x131dbf['enqueueChange']({'isUndoable':!0x1},_0x2b4b00=>{for(const [_0x1f4cf1,_0x7f313a]of _0x25f454)'$graveyard'==_0x131dbf['markers']['get'](_0x1f4cf1)['getRange']()['root']['rootName']&&(J(_0x1f4cf1['split'](':')[0x2],_0x7f313a['toRange'](),_0x131dbf,_0x2b4b00),_0x7f313a['detach']());_0x25f454['clear']();});});}(_0x44911d),this['_domEmitter']['listenTo'](_0x238b5d['document'],'keydown',(_0xe59e57,{key:_0x4ec196})=>{'Escape'===_0x4ec196&&function(_0x30b407){_0x30b407['editing']['view']['change'](_0x57ef83=>{for(const _0x8ab99 of _0x30b407['model']['markers']){if(!_0x8ab99['name']['startsWith']('user:position'))continue;const _0x2e2c69=_0x30b407['editing']['mapper']['markerNameToElements'](_0x8ab99['name']);if(_0x2e2c69){for(const _0x59ccd2 of _0x2e2c69)_0x57ef83['removeClass']('ck-user__marker_hovered',_0x59ccd2);}}});}(_0x44911d);},{'useCapture':!0x0});}['afterInit'](){const _0x2d5168=this['editor'],_0x240a42=_0x2d5168['commands']['get']('undo');_0x240a42&&_0x2d5168['model']['on']('applyOperation',(_0x401288,_0x4c52b6)=>{const _0x1e6800=_0x4c52b6[0x0];if(!_0x1e6800['isDocumentOperation'])return;if('marker'!=_0x1e6800['type']||!_0x1e6800['name']['startsWith']('user:'))return;const _0x470ee6=_0x1e6800['batch'];_0x240a42['_createdBatches']['has'](_0x470ee6)&&(_0x1e6800['newRange']=_0x1e6800['oldRange']?_0x2d5168['model']['createRange'](_0x1e6800['oldRange']['start'],_0x1e6800['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xcb4015=this['editor'],_0x816b8c=_0xcb4015['model']['document'],_0x396e3d=_0xcb4015['plugins']['get'](i);_0xcb4015['model']['enqueueChange']({'isUndoable':!0x1},_0x5a122b=>{const _0x2c8968='user:range:'+_0x396e3d['mySessionId'],_0x1fea50='user:position:'+_0x396e3d['mySessionId'],_0x497bd3=_0xcb4015['model']['markers']['has'](_0x2c8968);_0xcb4015['editing']['view']['hasDomSelection']?J(_0x396e3d['mySessionId'],_0x816b8c['selection']['getFirstRange'](),_0xcb4015['model'],_0x5a122b):_0x497bd3&&(_0x5a122b['removeMarker'](_0x2c8968),_0x5a122b['removeMarker'](_0x1fea50));});}}function J(_0x88c0d9,_0x21dd35,_0x18814b,_0x5adbbb){const _0x403ad7='user:range:'+_0x88c0d9,_0x56df2a='user:position:'+_0x88c0d9,_0xed84ca=_0x21dd35['getContainedElement']();let _0x9c1cac=_0x21dd35['start'];if(_0xed84ca&&_0xed84ca['is']('element','tableCell')){const _0x1b352a=function(_0x173f24,_0x170c20){for(const _0x4bb98b of _0x173f24['getPositions']())if(_0x170c20['schema']['checkChild'](_0x4bb98b,'$text'))return _0x4bb98b;}(_0x21dd35,_0x18814b);_0x1b352a&&(_0x9c1cac=_0x1b352a,_0x21dd35=_0x5adbbb['createRange'](_0x9c1cac));}const _0x13f220=_0x5adbbb['createRange'](_0x9c1cac);_0x18814b['markers']['has'](_0x403ad7)?(_0x5adbbb['updateMarker'](_0x403ad7,{'range':_0x21dd35}),_0x5adbbb['updateMarker'](_0x56df2a,{'range':_0x13f220})):(_0x5adbbb['addMarker'](_0x403ad7,{'range':_0x21dd35,'usingOperation':!0x0}),_0x5adbbb['addMarker'](_0x56df2a,{'range':_0x13f220,'usingOperation':!0x0}));}function E(_0x2cb3ab,_0x49643d,_0x26a0b6){const _0x25efa4=_0x2cb3ab['t'],t=_0x2cb3ab['t'];switch(_0x49643d){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 _0x25efa4({'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'},_0x26a0b6);default:return'';}}let H=0x1;class l extends _0x2a528b{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3e7873)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,U,_0x376d07,_0x15d897,_0xd7a3b1];}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 _0xdb9797=this['serverHistory']['getOperations']();for(let _0x1d8be9=_0xdb9797['length']-0x1;_0x1d8be9>=0x0;_0x1d8be9--){const _0x6672e9=_0xdb9797[_0x1d8be9];if(!this['_disconnectionOperations']['has'](_0x6672e9))return _0x6672e9['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x430c80){if(super(_0x430c80),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x102672(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x495bd7('collaboration-missing-channelid',this);const _0x585342=_0x430c80['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x585342,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1e396c(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new F(this['_disconnectionOperations']);}['init'](){const _0x382124=this['editor'],_0x22c5e6=_0x382124['plugins']['get'](_0x15d897),_0x4d281b=_0x382124['plugins']['get'](n);this['listenTo'](_0x22c5e6,'getOperationAuthor',(_0x526b93,_0x458071)=>{const _0x547763=_0x458071[0x0];_0x547763['_authorId']&&(_0x526b93['return']=_0x22c5e6['getUser'](_0x547763['_authorId']),_0x526b93['stop']()),null===_0x547763['_authorId']&&(_0x526b93['return']=null,_0x526b93['stop']());},{'priority':'high'}),this['listenTo'](_0x382124['model']['document']['selection'],'change:range',(_0x4c0669,_0x1c0a51)=>{_0x1c0a51['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x382124['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x382124['model']['on']('applyOperation',(_0x365bd0,_0x1019d7)=>{const _0x1c2dac=_0x1019d7[0x0];_0x1c2dac['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1c2dac),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4d281b,'state',this,'_hasSynchronizationProblem',(_0x5c2956,_0x226168)=>'connected'===_0x5c2956&&!_0x226168),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x382124['disableReadOnlyMode']('rtc-offline'):_0x382124['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x382124['disableReadOnlyMode']('rtc-offline'):_0x382124['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x18f963=this['editor']['plugins']['get'](i),_0x487f59=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x18f963['unregister'](this['_channelId']);const _0x1742ea=await this['_service']['reconnect'](_0x487f59['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1742ea)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4e4170=await this['_service']['getConnectedSessions']();_0x18f963['register'](this['_channelId'],_0x4e4170),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4e02b7){if(function(_0x51be39){return'404'===_0x51be39['code'];}(_0x4e02b7)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x22bd3d){return'409'===_0x22bd3d['code'];}(_0x4e02b7)){const _0x23bd2f=E(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x23bd2f);}else{if(!(_0x4e02b7 instanceof V))throw _0x4e02b7;this['_handleReconnectionError']();}}}}['destroy'](){const _0x24d2a0=this['editor']['plugins']['get'](n),_0x390b30=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x390b30['channelSessions']['has'](this['_channelId'])&&_0x390b30['unregister'](this['_channelId']),_0x24d2a0['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x300a77){if(this['sessionId']!==_0x300a77['sessionId']&&this['_lastSyncedOperationId']!==_0x300a77['lastOperationId'])throw new V();return this['sessionId']=_0x300a77['sessionId'],this['_handleServerResponse']([],{..._0x300a77,'wereChangesApplied':!0x1,'data':_0x300a77['data']},'reconnect');}async['_connectService'](_0x1325f9,_0x502029=!0x1){const {connection:_0x4d5530}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4d5530,this['_channelId'])['then'](_0x593a2c=>this['_initSessionsHandling'](_0x593a2c))['catch'](_0x4ad2cf=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4ad2cf);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1e3c4e,_0xa7eb94)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xa7eb94);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xa197bd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1325f9);this['_isPendingUpdate']=!0x0;const _0x5ef019=await this['_service']['connect'](_0x4d5530,this['_compressOperations'](_0x1325f9),_0xa197bd);if(this['sessionId']=_0x5ef019['sessionId'],_0x502029){if(!_0x5ef019['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5ef019['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1325f9,_0x5ef019,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5ef019,_0x1325f9);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x36df49=this['editor']['plugins']['get'](i),_0x15b6a0=this['editor']['plugins']['get'](U),_0xfd6514=_0x36df49['channelSessions']['get'](this['_channelId']);_0xfd6514&&_0xfd6514['length']>0x1?_0x15b6a0['createUserMarkerOperations']():this['listenTo'](_0x36df49,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x36df49['channelSessions']['get'](this['_channelId'])['length']&&_0x15b6a0['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x44ce0c,_0x4fa96d,_0x505574,_0x30846b){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4fa96d){const _0xcd2883=this['_decompressOperations'](_0x505574,_0x30846b);await this['_fetchMissingUsers'](_0xcd2883),this['_handleExternalOperations'](_0xcd2883,_0x4fa96d,_0x505574['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xd37fa}=this['editor'];let _0x4e1306;try{_0x4e1306=await this['_service']['getDocumentDetails']();}catch{const _0x454a88=E(_0xd37fa,'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'](_0x454a88);}const _0x106b86=_0x4e1306['currentDocumentSession']||_0x4e1306['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x106b86['lastOperationId']){const _0x1ea2ca=E(_0xd37fa,'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'](_0x1ea2ca);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3c86eb){const _0x5a4806=this['editor']['plugins']['get'](i);this['listenTo'](_0x5a4806,'sessionAdd:'+this['_channelId'],(_0x5d12fd,{session:_0x1303ca})=>{if(_0x1303ca['id']===_0x5a4806['mySessionId']){_0x5d12fd['off']();const _0xc58c0b=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x19fad7=_0x1303ca['permissions'];_0xc58c0b&&_0xc58c0b['isEnabled']&&(_0x19fad7=_0x19fad7['filter'](_0x55d60d=>'document:write'!==_0x55d60d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x19fad7,this['_channelId']);}}),_0x5a4806['register'](this['_channelId'],_0x3c86eb);}['_initThrowingOnDataSet'](){const _0x3a8f84=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x8028b7)=>{if(!_0x8028b7[_0x8028b7['length']-0x1]['suppressErrorInCollaboration'])throw new _0x495bd7('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3a8f84['apply'](this['editor']['data'],_0x8028b7);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x14d1d2,[_0x2bdac8])=>{if(this['_document']['version'])throw new _0x495bd7('realtimecollaborationclient-init-document-already-initialized',this);_0x14d1d2['stop'](),this['_setPendingAction']();const _0x32eafc=this['editor']['config']['get']('rootsAttributes'),_0x23588b=this['_getOperationsFromInitData'](_0x2bdac8,_0x32eafc);0x0==_0x23588b['length']&&_0x23588b['push'](new _0x747ae5(0x0)),_0x14d1d2['return']=this['_connectService'](_0x23588b)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x18fde=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x18fde))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4d75cd,[_0x15dd64,_0x57da3f])=>{_0x4d75cd['stop']();const _0x1c7647=this['editor']['model']['document']['getRoot'](_0x15dd64);if(!this['_knownRootNames']['has'](_0x15dd64)){const _0xdebec4=_0x57da3f&&_0x57da3f['data']?_0x57da3f['data']:'',_0x543c56=_0x57da3f&&_0x57da3f['attributes']?_0x57da3f['attributes']:{};await this['_loadRoot'](_0x15dd64,_0xdebec4,_0x543c56);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1c7647['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1c7647);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x3d45a8){const _0x48e20a=this['editor']['plugins']['get'](_0x15d897),{connection:_0x2e440e}=this['editor']['plugins']['get'](n),_0x1ba6c7=new Set();for(const _0xae119d of _0x3d45a8){const _0x1dd9f8=_0xae119d['_authorId'];_0x1dd9f8&&!_0x48e20a['getUser'](_0x1dd9f8)&&_0x1ba6c7['add'](_0x1dd9f8);}if(0x0===_0x1ba6c7['size'])return;const _0x4eeb62=await ut['getMany'](_0x2e440e,Array['from'](_0x1ba6c7));for(const _0x7a33cc of _0x4eeb62)_0x48e20a['getUser'](_0x7a33cc['id'])||_0x48e20a['addUser'](_0x7a33cc);}['_getOperationsFromInitData'](_0x3a51da,_0x5d892b={}){const _0xd51325=this['editor']['model'],_0x25efb7=[];let _0x22283e=0x0;const _0x1ded03='string'==typeof _0x3a51da?{'main':_0x3a51da}:_0x3a51da;for(const _0x149624 of Object['keys'](_0x1ded03)){if(!this['_document']['roots']['has'](_0x149624))throw new _0x495bd7('realtimecollaborationclient-init-non-existent-root',this);const _0x2d967b=this['editor']['data']['parse'](_0x1ded03[_0x149624]),_0xd4f28a=this['_document']['getRoot'](_0x149624),_0xfd5df3=new _0x5aaafd(_0xd51325['createPositionAt'](_0xd4f28a,0x0),_0x2d967b,_0x22283e++);_0x25efb7['push'](_0xfd5df3);for(const [_0x17cc3c,_0x28ff6d]of _0x2d967b['markers']){const _0x56bd2d=_0xd51325['createRange'](_0xd51325['createPositionFromPath'](_0xd4f28a,_0x28ff6d['start']['path']['slice']()),_0xd51325['createPositionFromPath'](_0xd4f28a,_0x28ff6d['end']['path']['slice']())),_0x109a4d=new _0x2a532e(_0x17cc3c,null,_0x56bd2d,_0xd51325['markers'],!0x0,_0x22283e++);_0x25efb7['push'](_0x109a4d);}}if(_0x5d892b)for(const [_0x3e2493,_0x5d1a7f]of Object['entries'](_0x5d892b)){const _0xee13a9=_0xd51325['document']['getRoot'](_0x3e2493);if(!_0xee13a9)throw new _0x495bd7('multi-root-editor-root-attributes-no-root',null);for(const [_0x5a4529,_0x4b496d]of Object['entries'](_0x5d1a7f))if(null!==_0x4b496d){const _0x949f35=new _0x52a999(_0xee13a9,_0x5a4529,null,_0x4b496d,_0x22283e++);_0x25efb7['push'](_0x949f35);}}return _0x25efb7;}async['_loadRoot'](_0x38613a,_0xae4860,_0x51fa67){this['_getOperationsFromInitData']({[_0x38613a]:_0xae4860},{[_0x38613a]:_0x51fa67})['forEach']((_0x3464be,_0x3ceea9)=>{_0x3464be['baseVersion']=this['_document']['version']+_0x3ceea9,_0x3464be['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x3464be);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x284c83,_0x27aa37){let _0x2bcde5;this['_offset']=_0x284c83['offset'];const _0x53fd21=_0x284c83['wereChangesApplied']&&!_0x284c83['initData'],_0xb685c6=_0x53fd21?0x0:_0x284c83['data']['baseVersion'];if(_0x27aa37['forEach'](_0x2d840b=>{_0x2d840b['_isInit']=!0x0,_0x2d840b['createdAt']=_0x284c83['sessionCreatedAt'],_0x2d840b['_authorId']=null;}),_0x53fd21)_0x2bcde5=_0x27aa37,this['_applyOperationsSet'](_0x2bcde5,_0x53fd21);else{if(_0x284c83['initData']){const _0x55f984=this['_getOperationsFromInitData'](_0x284c83['initData']);this['_document']['history']['version']=-_0x55f984['length'],_0x55f984['forEach'](_0x51773f=>{_0x51773f['baseVersion']-=_0x55f984['length'],_0x51773f['createdAt']=_0x284c83['sessionCreatedAt'],_0x51773f['_isInit']=!0x0,_0x51773f['_authorId']=null;}),this['_applyOperationsSet'](_0x55f984,!0x0),this['serverHistory']['version']=-_0x55f984['length']+this['_offset'],this['_updateServerHistory'](_0x55f984);}this['_document']['history']['version']=_0xb685c6,_0x2bcde5=this['_decompressOperations'](_0x284c83['data'],_0x284c83['metadata']),await this['_fetchMissingUsers'](_0x2bcde5),this['_applyOperationsSet'](_0x2bcde5,_0x53fd21);}_0x284c83['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2bcde5,_0x284c83['lastOperationId']),this['_lastSyncedOperationId']=_0x284c83['lastOperationId']),this['serverHistory']['version']=_0xb685c6+this['_offset'],this['_updateServerHistory'](_0x2bcde5),_0x27aa37['filter'](_0x190f14=>{const _0x52cea7=this['_getAffectedRoot'](_0x190f14);return _0x52cea7&&!this['_knownRootNames']['has'](_0x52cea7);})['forEach']((_0x5afb97,_0x53121f)=>{_0x5afb97['baseVersion']=this['_document']['version']+_0x53121f,this['_saveOperationInBuffer'](_0x5afb97);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x541152,_0x31c902){const _0x1b5c65=_0x31c902&&_0x31c902['message'];if(_0x1b5c65&&_0x1b5c65['startsWith']('realtimecollaborationclient'))throw _0x31c902;const _0x1d78c=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x1d78c['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x495bd7(_0x541152,this['editor'],_0x1b5c65?{'originalError':_0x1b5c65}:void 0x0);}['_saveOperationInBuffer'](_0x3aa462){this['_knownOperations']['has'](_0x3aa462)||(this['_knownOperations']['add'](_0x3aa462),this['_bufferedOperations']['push'](_0x3aa462),this['_pendingAction']||'marker'==_0x3aa462['type']&&!_0x3aa462['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x283ada=!0x1){!_0x283ada&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1ee680=>{_0x1ee680&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x18f74d=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x58cf7d){return _0x58cf7d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x58cf7d['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x58cf7d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x18f74d)||this['_crash'](_0x18f74d['message'],_0x18f74d);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1d9140=>{this['on']('change:_isPendingUpdate',()=>{_0x1d9140();});});}async['_sendBufferedOperations'](){const _0x28ffd2=this['editor']['plugins']['get'](U);if(this['_shouldSendSelectionUpdate']()&&(_0x28ffd2['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x289db8=[...this['_bufferedOperations']];for(const _0x3acf6c of _0x289db8)_0x3acf6c['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3acf6c);const _0x1e5228=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x289db8),_0x5c0ea7=H++,_0x1b0b9c=this['_compressOperations'](_0x289db8),_0x5dc982=await this['_service']['sendOperations'](_0x1b0b9c,_0x1b0b9c['baseVersion'],_0x1e5228);try{return await this['_handleServerResponse'](_0x289db8,_0x5dc982,_0x5c0ea7);}catch(_0x8525bf){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x8525bf);}}async['_handleServerResponse'](_0x275c77,_0x39666a,_0x21a7d7){if('error'in _0x39666a)throw _0x39666a['error'];let _0x525c3d=!0x1;if(_0x39666a['wereChangesApplied']){_0x39666a['lastOperationId']&&(this['_lastSyncedOperationId']=_0x39666a['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x211a77=>!_0x275c77['includes'](_0x211a77));for(const _0x591628 of _0x275c77)_0x591628['createdAt']='lastOperationAcceptedAt'in _0x39666a&&_0x39666a['lastOperationAcceptedAt']||void 0x0;W(_0x275c77,_0x39666a['version']-_0x275c77['length']),this['_updateServerHistory'](_0x275c77);const _0x11059d=_0x275c77['filter'](_0xcdc630=>{if(!_0xcdc630['_isInit'])return!0x1;const _0x5ed8c1=this['_getAffectedRoot'](_0xcdc630);return _0x5ed8c1&&!this['_knownRootNames']['has'](_0x5ed8c1);});W(_0x11059d,this['_document']['version']),this['_applyOperationsSet'](_0x11059d),_0x525c3d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x369999=this['_decompressOperations'](_0x39666a['data'],_0x39666a['metadata'])['filter'](_0x49cefc=>_0x49cefc['baseVersion']>=this['_lastServerVersion']);_0x369999['forEach'](_0x513183=>this['_addKnownRoot'](_0x513183)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x365a6c=>!_0x365a6c['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x365a6c))),this['_bufferedOperations']['length']&&W(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x369999),_0x525c3d=this['_handleExternalOperations'](_0x369999,_0x39666a['version'],_0x39666a['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x525c3d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1289af,_0x1436e9,_0xa78c10){try{const _0x24fe64={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3c205a,operationsB:_0x3688be,originalOperations:_0x566ced}=_0x543dee(_0x1289af,this['_bufferedOperations'],_0x24fe64);W(_0x3c205a,this['_document']['version']),W(_0x3688be,_0x1436e9);for(const _0x1c1ebf of _0x3c205a){const _0x206deb=_0x566ced['get'](_0x1c1ebf);_0x1c1ebf['_authorId']=_0x206deb?_0x206deb['_authorId']:null;}_0xa78c10&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1289af,_0xa78c10),this['_lastSyncedOperationId']=_0xa78c10),this['_bufferedOperations']=[..._0x3688be],this['_applyOperationsSet'](_0x3c205a),this['_updateServerHistory'](_0x1289af);}catch(_0xf1f26d){return console['error'](_0xf1f26d),!0x1;}return!0x0;}['_applyOperationsSet'](_0x545e5e,_0x2a43ab=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x46cf20=>{for(const _0x1faeb9 of _0x545e5e)this['_knownOperations']['add'](_0x1faeb9),this['_addKnownRoot'](_0x1faeb9),_0x46cf20['batch']['addOperation'](_0x1faeb9),this['editor']['model']['applyOperation'](_0x1faeb9);});}['_addKnownRoot'](_0x3b0c3b){const _0x36a9fc=this['_getAffectedRoot'](_0x3b0c3b);_0x36a9fc&&this['_knownRootNames']['add'](_0x36a9fc);}['_getAffectedRoot'](_0x33c6fb){let _0x48c5ce,_0x2609ce;switch(_0x33c6fb['type']){case'insert':_0x48c5ce=_0x33c6fb['position']['root'];break;case'marker':if(_0x2609ce=_0x33c6fb['newRange'],!_0x2609ce)return null;_0x48c5ce=_0x2609ce['root'];break;case'addRootAttribute':_0x48c5ce=_0x33c6fb['root'];break;case'addRoot':_0x48c5ce=_0x33c6fb['affectedSelectable'];break;case'move':_0x48c5ce=_0x33c6fb['targetPosition']['root'];break;default:return null;}return _0x48c5ce['rootName'];}['_updateServerHistory'](_0x75824a){_0x75824a['forEach'](_0xd7887a=>{const _0x16a8d3=_0xd7887a['clone']();_0x16a8d3['_authorId']=_0xd7887a['_authorId'],_0x16a8d3['_isInit']=!!_0xd7887a['_isInit'],_0x16a8d3['createdAt']=_0xd7887a['createdAt'],_0x16a8d3['baseVersion']+=this['_offset'],_0xd7887a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x16a8d3),this['serverHistory']['addOperation'](_0x16a8d3);});}['_handleReconnectionError'](_0x2baddc){const _0x2296e9=this['editor']['plugins']['get']('Notification'),_0x2c244e=this['editor']['locale'];_0x2baddc||(_0x2baddc=E(_0x2c244e,'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.')),_0x2296e9['showWarning'](_0x2baddc,{'title':E(_0x2c244e,'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'](_0x376d07)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x376d07)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2ca888){const _0x227251=_0x2ca888['map'](_0x280687=>_0x280687['toJSON']());return this['_compressor']['compress'](_0x227251);}['_decompressOperations'](_0x527aa3,_0x6bfb4a){return this['_compressor']['decompress'](_0x527aa3)['map']((_0x292dc6,_0x379aed)=>{const _0x244d4f='init'==_0x6bfb4a[_0x379aed]['type'];if('InsertOperation'==_0x292dc6['__className']){const _0x1478d6=_0x292dc6['position']['root'];!this['_document']['getRoot'](_0x1478d6)&&(this['_document']['createRoot']('$root',_0x1478d6)['_isAttached']=!0x1);}const _0x5b493f=_0x522808['fromJSON'](_0x292dc6,this['_document']);return _0x5b493f['wasUndone']=_0x292dc6['wasUndone'],_0x5b493f['_isInit']=_0x244d4f,_0x5b493f['_authorId']=_0x244d4f?null:_0x6bfb4a[_0x379aed]['userId'],_0x5b493f['_isDisconnection']='cs:removeUser'===_0x6bfb4a[_0x379aed]['type'],_0x5b493f['createdAt']=_0x6bfb4a[_0x379aed]['createdAt'],_0x5b493f;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x54a60a=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x54a60a&&_0x54a60a['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class V extends Error{}function W(_0x2af681,_0x392f82){for(const _0x2932ac of _0x2af681)_0x2932ac['baseVersion']=_0x392f82++;}class F{['_ignoredOperations'];['_operationToId'];constructor(_0x4ef7a7){this['_ignoredOperations']=_0x4ef7a7,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4f2fcd){let _0x2c4d8b=_0x4f2fcd['length'];for(;_0x2c4d8b--;){const _0x41dd36=_0x4f2fcd[_0x2c4d8b];if(!this['_ignoredOperations']['has'](_0x41dd36)){if(!this['_operationToId']['has'](_0x41dd36)){const _0x3036d9=_0x562ca5()['slice'](0x1,0x12);this['_operationToId']['set'](_0x41dd36,_0x3036d9);}return this['_operationToId']['get'](_0x41dd36);}}}['setIdForTheLastOperation'](_0x59a742,_0x1a8d08){if(!_0x1a8d08)return;let _0x40de8c=_0x59a742['length'];for(;_0x40de8c--;){const _0x44bdf3=_0x59a742[_0x40de8c];this['_ignoredOperations']['has'](_0x44bdf3)||this['_operationToId']['set'](_0x44bdf3,_0x1a8d08);}}}class a extends _0x2a528b{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x3fda04{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>nt)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x15d897];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5f03ec){super(_0x5f03ec),this['_services']=new Map();}async['init'](){const _0x41838f=this['context'],_0x1fd2f5=_0x41838f['plugins']['get']('CommentsRepository');if(_0x41838f['plugins']['get'](n)['addToReconnectionStack'](this),_0x1fd2f5['adapter']={'addCommentThread':async({channelId:_0x51d22b,threadId:_0x5c12dc,comments:_0x573d54,resolvedAt:_0x5d02f3,resolvedBy:_0x501cf4,context:_0xad6a15,attributes:_0x5b09da})=>{const _0x5b8f7f=await this['_getService'](_0x51d22b)['addCommentThread']({'commentThreadId':_0x5c12dc,'comments':_0x573d54['map'](_0x19d754=>function(_0x3eeb0f,_0x1660ea,_0x355896){return{'commentThreadId':_0x355896,'commentId':_0x3eeb0f['commentId'],'userId':_0x3eeb0f['authorId'],'content':_0x3eeb0f['content'],'documentId':_0x1660ea,'createdAt':_0x3eeb0f['createdAt'],'attributes':_0x3eeb0f['attributes']||{}};}(_0x19d754,_0x51d22b,_0x5c12dc)),'resolvedAt':_0x5d02f3,'resolvedBy':_0x501cf4,'context':_0xad6a15,'attributes':_0x5b09da})['catch'](ft);return{'threadId':_0x5b8f7f['commentThreadId'],'comments':_0x5b8f7f['comments']};},'getCommentThread':async({channelId:_0x5b3c32,threadId:_0x3c6439})=>{const _0x276ec9=await this['_getService'](_0x5b3c32)['getCommentThread'](_0x3c6439)['catch'](st)['catch'](ft);return _0x276ec9?_0x276ec9['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x276ec9]),{'threadId':_0x276ec9['commentThreadId'],'comments':_0x276ec9['comments']['map'](rt),'context':_0x276ec9['context'],'resolvedAt':_0x276ec9['resolvedAt'],'resolvedBy':_0x276ec9['resolvedBy'],'attributes':_0x276ec9['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xc5cfa0,threadId:_0x1926fc,context:_0x125862,unlinkedAt:_0x458a4a,attributes:_0x275b2b})=>this['_getService'](_0xc5cfa0)['updateCommentThread']({'commentThreadId':_0x1926fc,'context':_0x125862,'attributes':_0x275b2b,'unlinkedAt':_0x458a4a})['catch'](st)['catch'](ft),'resolveCommentThread':async({channelId:_0x300ad5,threadId:_0x72e8a4})=>{const _0x4a802b=await this['_getService'](_0x300ad5)['resolveCommentThread'](_0x72e8a4)['catch'](st)['catch'](ft);return{'threadId':_0x4a802b['commentThreadId'],'resolvedAt':_0x4a802b['resolvedAt'],'resolvedBy':_0x4a802b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x11cc99,threadId:_0x1d9472})=>this['_getService'](_0x11cc99)['reopenCommentThread'](_0x1d9472)['catch'](st)['catch'](ft),'removeCommentThread':({channelId:_0x5ea089,threadId:_0x12629e})=>this['_getService'](_0x5ea089)['removeCommentThread'](_0x12629e)['catch'](st)['catch'](ft),'addComment':({channelId:_0x3388ed,threadId:_0x20b9e2,commentId:_0x1a5d50,content:_0x5da720,attributes:_0x5cb55a})=>this['_getService'](_0x3388ed)['addComment'](_0x20b9e2,_0x1a5d50,_0x5da720,_0x5cb55a)['catch'](ft),'updateComment':({channelId:_0x1b05ae,threadId:_0x510a5f,commentId:_0x194d13,content:_0x296fea,attributes:_0x2d6cc7})=>this['_getService'](_0x1b05ae)['updateComment'](_0x510a5f,_0x194d13,_0x296fea,_0x2d6cc7)['catch'](st)['catch'](ft),'removeComment':({channelId:_0x11307d,threadId:_0x4e1eed,commentId:_0x4b6104})=>this['_getService'](_0x11307d)['removeComment'](_0x4e1eed,_0x4b6104)['catch'](st)['catch'](ft)},_0x41838f instanceof ot){const _0xb1a4e4=_0x41838f['config']['get']('collaboration.channelId'),_0x9c72d3=_0x41838f['plugins']['get'](i);await this['_setUpService'](_0xb1a4e4);const _0x203291=await this['_services']['get'](_0xb1a4e4)['getConnectedSessions']();this['listenTo'](_0x9c72d3,'sessionAdd:'+_0xb1a4e4,(_0x29c6ef,{session:_0x34df24})=>{_0x34df24['id']===_0x9c72d3['mySessionId']&&(_0x29c6ef['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x34df24['permissions'],_0xb1a4e4));}),_0x9c72d3['register'](_0xb1a4e4,_0x203291);}}async['_setUpService'](_0x329f8a){if(this['_services']['has'](_0x329f8a))throw new _0x495bd7('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x329f8a});const _0x1f6fe1=this['context']['plugins']['get']('CommentsRepository'),_0x5eeee4=new s['CommentsService'](_0x329f8a);this['_services']['set'](_0x329f8a,_0x5eeee4),this['listenTo'](_0x5eeee4,'commentThreadAdded',(_0x128070,_0x1e92c4)=>{const {commentThreadId:_0x4a7b38,documentId:_0x2b2386,context:_0x3f92d5,attributes:_0x5b7509,resolvedAt:_0x94f2f5,resolvedBy:_0x81ea7f,comments:_0x5361fe}=_0x1e92c4;_0x1f6fe1['getCommentThread'](_0x4a7b38)||_0x1f6fe1['addCommentThread']({'threadId':_0x4a7b38,'channelId':_0x2b2386,'comments':_0x5361fe?_0x5361fe['map'](rt):[],'context':_0x3f92d5,'attributes':_0x5b7509,'resolvedAt':_0x94f2f5,'resolvedBy':_0x81ea7f,'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentThreadUpdated',(_0x10fe6d,{commentThreadId:_0x52a313,documentId:_0x446b8c,context:_0x59df7f,unlinkedAt:_0x51c89d,attributes:_0xd09059})=>{_0x1f6fe1['getCommentThread'](_0x52a313)&&_0x1f6fe1['updateCommentThread']({'threadId':_0x52a313,'channelId':_0x446b8c,'context':_0x59df7f,'unlinkedAt':_0x51c89d,'attributes':_0xd09059,'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentThreadResolved',(_0xf87c70,{commentThreadId:_0x27c931,resolvedBy:_0x34d460,resolvedAt:_0x3d7a9e})=>{const _0x4784c7=_0x1f6fe1['getCommentThread'](_0x27c931);_0x4784c7&&_0x4784c7['resolve']({'resolvedBy':_0x34d460,'resolvedAt':_0x3d7a9e,'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentThreadReopened',(_0xa8a0fd,{commentThreadId:_0x47f80e})=>{const _0x6f5ae4=_0x1f6fe1['getCommentThread'](_0x47f80e);_0x6f5ae4&&_0x6f5ae4['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentThreadRemoved',(_0x4bfe8e,{commentThreadId:_0x513b7b})=>{const _0x586188=_0x1f6fe1['getCommentThread'](_0x513b7b);_0x586188&&_0x586188['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentAdded',(_0x42c3e7,_0x270402)=>{const _0xf5446b=_0x270402['commentThreadId'],_0x311d2b=_0x1f6fe1['getCommentThread'](_0xf5446b);_0x311d2b&&_0x311d2b['addComment']({...rt(_0x270402),'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentUpdated',(_0x2a8ad9,{commentThreadId:_0x2efdec,commentId:_0x3cbecb,content:_0x17818f,attributes:_0x57f695})=>{const _0x1c7394=_0x1f6fe1['getCommentThread'](_0x2efdec);if(_0x1c7394){const _0x1d14ef=_0x1c7394['getComment'](_0x3cbecb);_0x1d14ef&&_0x1d14ef['update']({'content':_0x17818f,'attributes':_0x57f695,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5eeee4,'commentRemoved',(_0x367169,{commentThreadId:_0x48e23f,commentId:_0x3c8deb})=>{const _0x2e2471=_0x1f6fe1['getCommentThread'](_0x48e23f);if(_0x2e2471){const _0x31ac60=_0x2e2471['getComment'](_0x3c8deb);_0x31ac60&&_0x31ac60['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x329f8a);}['destroy'](){if(this['context']instanceof ot){const _0x3f2f4b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x3f2f4b);}}['_terminateService'](_0x1a7c8e){if(!this['_services']['has'](_0x1a7c8e))throw new _0x495bd7('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1a7c8e});this['_getService'](_0x1a7c8e)['disconnect'](),this['_services']['delete'](_0x1a7c8e);}async['reconnect'](){for(const _0x2c04f5 of this['_services']['keys']())await this['_connectService'](_0x2c04f5);if(this['context']instanceof ot){const _0x343837=this['context']['config']['get']('collaboration.channelId'),_0x264254=this['context']['plugins']['get'](i);_0x264254['unregister'](_0x343837);const _0x455192=await this['_services']['get'](_0x343837)['getConnectedSessions']();_0x264254['register'](_0x343837,_0x455192);}}async['_connectService'](_0x904b2e){const {connection:_0x423bc2}=this['context']['plugins']['get'](n),_0x5cef04=this['context']['plugins']['get']('CommentsRepository'),_0x1813cd=this['_services']['get'](_0x904b2e),_0x31606a=await _0x1813cd['connect'](_0x423bc2);await this['_fetchMissingUsersForThreads'](_0x31606a);const _0x36e373=new Set(Array['from'](_0x5cef04['getCommentThreads']({'channelId':_0x904b2e}),_0x47d755=>_0x47d755['id']));for(const _0x31215f of _0x31606a)_0x31215f['deletedAt']||_0x36e373['delete'](_0x31215f['commentThreadId']);for(const _0x4f4ddf of _0x36e373)_0x5cef04['getCommentThread'](_0x4f4ddf)['remove']({'isFromAdapter':!0x0});for(const _0x51e658 of _0x31606a){let _0x26d555=_0x5cef04['getCommentThread'](_0x51e658['commentThreadId']);const {commentThreadId:_0x23b74e,context:_0x2a912a,attributes:_0xec56c0,resolvedBy:_0x5dc386,resolvedAt:_0x494efb,unlinkedAt:_0x5f3f76,deletedAt:_0x48620d}=_0x51e658;if(_0x48620d)continue;_0x26d555||(_0x26d555=_0x5cef04['addCommentThread']({'channelId':_0x904b2e,'threadId':_0x23b74e,'context':_0x2a912a,'attributes':_0xec56c0||{},'resolvedBy':_0x5dc386,'resolvedAt':_0x494efb,'unlinkedAt':_0x5f3f76,'isFromAdapter':!0x0}));const _0x4c62d7=new Set(Array['from'](_0x26d555['comments'],_0x2b20d3=>_0x2b20d3['id']));for(const _0xa7502a of _0x51e658['comments'])_0x4c62d7['delete'](_0xa7502a['commentId']);for(const _0x2123f2 of _0x4c62d7)_0x26d555['getComment'](_0x2123f2)['remove']({'isFromAdapter':!0x0});for(const _0x2e4151 of _0x51e658['comments']){const _0x22b71b=_0x26d555['getComment'](_0x2e4151['commentId']);_0x22b71b?_0x22b71b['content']!==_0x2e4151['content']&&_0x22b71b['update']({'content':_0x2e4151['content'],'isFromAdapter':!0x0}):_0x26d555['addComment'](Object['assign'](rt(_0x2e4151),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2187c6){if(!this['_services']['has'](_0x2187c6))throw new _0x495bd7('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2187c6});return this['_services']['get'](_0x2187c6);}async['_fetchMissingUsersForThreads'](_0x18c2f8){const _0x5cade1=this['context']['plugins']['get'](_0x15d897),{connection:_0x1471cb}=this['context']['plugins']['get'](n),_0x1b1a3c=new Set();for(const {resolvedBy:_0x3a6821,comments:_0x5afcfe}of _0x18c2f8){_0x3a6821&&!_0x5cade1['getUser'](_0x3a6821)&&_0x1b1a3c['add'](_0x3a6821);for(const {userId:_0x4d0ac2}of _0x5afcfe)_0x5cade1['getUser'](_0x4d0ac2)||_0x1b1a3c['add'](_0x4d0ac2);}if(0x0===_0x1b1a3c['size'])return;const _0x51b9d9=await ut['getMany'](_0x1471cb,Array['from'](_0x1b1a3c));for(const _0x37194a of _0x51b9d9)_0x5cade1['getUser'](_0x37194a['id'])||_0x5cade1['addUser'](_0x37194a);}}async function st(_0x564ba8){if('404'!==_0x564ba8['code'])throw _0x564ba8;}function ft(_0xdf9467){if((_0x35d539=_0xdf9467)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x35d539['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x35d539['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x35d539;throw _0xdf9467;}function rt(_0x5e1c3a){return{'threadId':_0x5e1c3a['commentThreadId'],'commentId':_0x5e1c3a['commentId'],'content':_0x5e1c3a['content'],'createdAt':_0x5e1c3a['createdAt'],'authorId':_0x5e1c3a['userId'],'attributes':_0x5e1c3a['attributes']||{}};}class m extends _0x2a528b{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(_0x7d404){super(_0x7d404);const _0x5c527d=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5c527d);}['init'](){const _0x2aa120=this['editor']['plugins']['get'](n),_0x8327ab=this['editor']['plugins']['get']('TrackChangesEditing');return _0x8327ab['adapter']={'getSuggestion':async _0xa106fd=>{await this['_waitForServiceReady']();const _0x4eb485=await this['_trackChangesService']['get'](_0xa106fd)['catch'](et);return await this['_fetchMissingUsersForThreads']([_0x4eb485]),_0x4eb485;},'addSuggestion':async({id:_0x1bbb0b,type:_0xeeb523,data:_0x244a98,originalSuggestionId:_0x5903c9,attributes:_0xdd7620})=>{await this['_waitForServiceReady']();const _0x17c859={'id':_0x1bbb0b,'type':_0xeeb523,'data':_0x244a98,'originalSuggestionId':_0x5903c9,'attributes':_0xdd7620},_0x419c66=await this['_trackChangesService']['add'](_0x1bbb0b,_0xeeb523,_0x244a98,_0x5903c9,_0xdd7620)['catch'](_0x18fe6d=>{if(mt(_0x18fe6d))return new Promise(_0x24af24=>{this['_bufferedRequests']['set'](_0x1bbb0b,{'resolve':_0x24af24,'suggestionData':_0x17c859});});throw _0x18fe6d;});return this['_bufferedRequests']['delete'](_0x1bbb0b),_0x419c66;},'updateSuggestion':async(_0x2854d9,_0x9c7562)=>{if(await this['_waitForServiceReady'](),'open'!==_0x9c7562['state'])return this['_trackChangesService']['update'](_0x2854d9,_0x9c7562)['catch'](et);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x53e06c,_0x552602)=>{_0x8327ab['hasSuggestion'](_0x552602['id'])&&(_0x8327ab['getSuggestion'](_0x552602['id'])['attributes']=_0x552602['attributes']);}),this['_trackChangesService']['connect'](_0x2aa120['connection'])['then'](_0x18d785=>(_0x2aa120['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x18d785)['then'](()=>{for(const _0x4d0338 of _0x18d785){_0x8327ab['addSuggestionData'](_0x4d0338)['_saved']=!0x0;}})));}async['reconnect'](){const _0x137df0=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x562938}=this['editor']['plugins']['get'](n),_0x5d1773=await this['_trackChangesService']['connect'](_0x562938);await this['_fetchMissingUsersForThreads'](_0x5d1773);for(const {suggestionData:_0x258b0c,resolve:_0x5b4e96}of this['_bufferedRequests']['values']()){let _0x15f128=_0x5d1773['find'](_0x5dc144=>_0x5dc144['id']===_0x258b0c['id']);_0x15f128||(_0x15f128=await this['_trackChangesService']['add'](_0x258b0c['id'],_0x258b0c['type'],_0x258b0c['data'],_0x258b0c['originalSuggestionId'])),_0x5b4e96(_0x15f128);}for(const _0x549aa2 of _0x5d1773)_0x137df0['hasSuggestion'](_0x549aa2['id'])||_0x137df0['addSuggestionData'](_0x549aa2);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4307e9=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5aab41=>{_0x5aab41['off'](),_0x4307e9();});});}async['_fetchMissingUsersForThreads'](_0x321a79){const _0x43987e=this['editor']['plugins']['get'](_0x15d897),{connection:_0x30c1f3}=this['editor']['plugins']['get'](n),_0x36ceb1=new Set();for(const {authorId:_0x57dfb5}of _0x321a79)_0x43987e['getUser'](_0x57dfb5)||_0x36ceb1['add'](_0x57dfb5);if(0x0===_0x36ceb1['size'])return;const _0x46bfb5=await ut['getMany'](_0x30c1f3,Array['from'](_0x36ceb1));for(const _0x4bb625 of _0x46bfb5)_0x43987e['getUser'](_0x4bb625['id'])||_0x43987e['addUser'](_0x4bb625);}}function et(_0x5067b5){if(mt(_0x5067b5))return new Promise(()=>{});throw _0x5067b5;}function mt(_0x2b15c7){return _0x2b15c7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2b15c7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x2a528b{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 _0x1f1149=this['editor']['plugins']['get'](n),_0x4c5207=this['editor']['plugins']['get']('CommentsEditing'),_0x27ef6f=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1f1149,'change:state',(_0x8e2203,_0x559748,_0xb0927c)=>{_0x4c5207['isThreadsLoadingPaused']='connected'!==_0xb0927c;});}),this['listenTo'](_0x1f1149,'change:state',(_0x352273,_0x5498ea,_0x254464)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x254464);}),_0x27ef6f['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x2a528b{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 _0x2a528b{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x4ed55f)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x15d897];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3b0b4f){super(_0x3b0b4f);const _0xf6ab52=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xf6ab52);}async['init'](){const _0x5cfc42=this['editor']['plugins']['get'](l),_0x566d0d=_0x5cfc42['serverHistory'],_0x215877=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x566d0d,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5cfc42['sessionId']});const _0x34c3b=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x10df1f=await _0x5cdba5['isBundleUploaded'](_0x215877['connection'],_0x34c3b);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x384892})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x384892)),'updateRevisions':async _0x84e2f3=>{await this['_waitForServiceReady']();const _0x3cc351=this['_revisionTracker']['currentRevision'];if(_0x10df1f&&0x1===_0x84e2f3['length']&&_0x84e2f3[0x0]['id']===_0x3cc351['id'])return _0x84e2f3;for(const _0x423934 of _0x84e2f3)_0x423934['id']===_0x3cc351['id']&&(_0x423934['isEmptyCurrent']=_0x423934['fromVersion']===_0x423934['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x84e2f3,this['_lastRequestId'])['then'](_0x10e1c8=>(this['_lastRequestId']=_0x10e1c8,_0x84e2f3))['catch'](_0xdebaff=>{if(Z(_0xdebaff)||'400'===_0xdebaff['code']&&void 0x0!==_0xdebaff['data']['wrongRequestId']){for(const _0x488fdd of _0x84e2f3){!this['_revisionTracker']['repository']['getRevision'](_0x488fdd['id'])||this['_revisionTracker']['_bufferUpdate'](_0x488fdd['id'],_0x488fdd,!0x1);}if(Z(_0xdebaff))throw _0xdebaff;return _0x84e2f3;}throw _0xdebaff;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x22c673,{revisionsData:_0x5c882c,requestId:_0x39eaa7})=>{Math['max'](..._0x5c882c['map'](_0x2fafff=>_0x2fafff['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5c882c,_0x39eaa7);}):this['_handleRevisionsUpdate'](_0x5c882c,_0x39eaa7);});const {revisions:_0x2cb2c5,requestId:_0x1e7bfa}=await this['_revisionHistoryService']['connect'](_0x215877['connection']);_0x215877['addToReconnectionStack'](this),this['_lastRequestId']=_0x1e7bfa,await this['_fetchMissingUsers'](_0x2cb2c5);for(const _0x331c64 of _0x2cb2c5)this['_revisionTracker']['addRevisionData'](_0x331c64);this['listenTo'](_0x5cfc42,'change:_isConnected',(_0xfd02c,_0x4f24b1,_0x18d50e)=>{_0x18d50e&&(this['_oldOffset']=_0x5cfc42['_offset'],_0xfd02c['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x215877,'state',_0x850287=>_0x850287===_0x5e325f['CONNECTED']);}async['reconnect'](){const _0x3dc1fd=this['editor']['plugins']['get'](n),_0xe88660=this['editor']['plugins']['get'](l),_0x2c9ba8=async()=>{const _0x494c92=this['_revisionTracker']['currentRevision'],_0x4e38ad=_0x494c92['id'],_0x286262=_0x4e38ad!==_0xe88660['sessionId'];if(_0x286262){const _0x57e244=_0xe88660['_offset']-this['_oldOffset'],_0x3a4d36=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x494c92['toVersion']+_0x57e244!==_0x3a4d36){const _0x59bf44=_0x494c92['fromVersion']+_0x57e244,_0x599ef3=this['editor']['plugins']['get'](_0x15d897),_0x11450e=this['_revisionTracker']['buildRevisionData']({'revision':_0x494c92,'from':_0x59bf44,'to':_0x3a4d36});_0x11450e['id']=_0x494c92['id'];const _0x38b3ac=_0x11450e['authorsIds']['map'](_0x5dfb81=>_0x599ef3['getUser'](_0x5dfb81));_0x494c92['_update']({..._0x11450e,'authors':_0x38b3ac},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x494c92['id'],_0x11450e,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3a4d36,(_0x494c92['toVersion']===_0x494c92['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4e38ad)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4e38ad),this['_revisionTracker']['_createCurrentRevision'](_0x3a4d36));}const {revisions:_0x5b6100,requestId:_0x1847ab}=await this['_revisionHistoryService']['reconnect'](_0x3dc1fd['connection'],this['_lastRequestId']);_0x286262&&_0x5b6100['length']>0x0?_0xe88660['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5b6100),this['_handleRevisionsUpdate'](_0x5b6100,_0x1847ab),this['_revisionTracker']['sendBufferedUpdates']());};return _0xe88660['_isConnected']?_0x2c9ba8():new Promise((_0x3265e9,_0x2cf2a7)=>{_0xe88660['once']('change:_isConnected',()=>{_0x2c9ba8()['then'](_0x3265e9)['catch'](_0x2cf2a7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2104e8=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x476536=>{_0x476536['off'](),_0x2104e8();});});}['_getLatestVersionFromServerOperations'](){const _0xf2ae4c=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x50c436 of _0xf2ae4c)if('marker'!==_0x50c436['type']||_0x50c436['affectsData'])return _0x50c436['baseVersion']+0x1;}['_getLatestVersion'](){const _0x303843=this['editor']['plugins']['get'](l);return new Promise(_0xf7bd0b=>{_0x303843['_isPendingUpdate']?_0x303843['once']('change:_isPendingUpdate',()=>{_0xf7bd0b(this['_getLatestVersionFromServerOperations']());}):_0xf7bd0b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xc5afc3,_0x2acd13){const _0x5c1215=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2acd13;for(const _0x55cc0b of _0xc5afc3){const _0x405971=_0x5c1215['getRevision'](_0x55cc0b['id']);if(_0x405971){if((_0x55cc0b['fromVersion']||_0x55cc0b['toVersion'])&&(_0x55cc0b['diffData']=null),_0x405971===this['_revisionTracker']['currentRevision']){const _0x298e16=Math['max'](_0x405971['toVersion'],_0x55cc0b['toVersion']),_0x459cee=Math['max'](_0x405971['fromVersion'],_0x55cc0b['fromVersion']);let _0x69c109;_0x405971['toVersion']===_0x55cc0b['toVersion']&&_0x405971['fromVersion']===_0x55cc0b['fromVersion']?(_0x69c109=!0x0,this['_preventResendingRevisionData'](_0x55cc0b)):_0x55cc0b['toVersion']===_0x298e16&&_0x55cc0b['fromVersion']===_0x459cee?_0x69c109=!0x1:(_0x405971['toVersion']===_0x298e16&&_0x405971['fromVersion']===_0x459cee||this['_fixRevision']({'revision':_0x405971,'from':_0x459cee,'to':_0x298e16}),_0x69c109=!0x0),_0x69c109&&(delete _0x55cc0b['fromVersion'],delete _0x55cc0b['toVersion'],delete _0x55cc0b['diffData'],delete _0x55cc0b['createdAt'],delete _0x55cc0b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x55cc0b),this['_preventResendingRevisionData'](_0x55cc0b);}else this['_revisionTracker']['addRevisionData'](_0x55cc0b);}const _0x25a08b=_0x5c1215['getRevisions']();_0x25a08b['reverse']();for(let _0x1cb40f=0x0;_0x1cb40f<_0x25a08b['length']-0x1;_0x1cb40f++){const _0x149f1e=_0x25a08b[_0x1cb40f],_0x14bd72=_0x25a08b[_0x1cb40f+0x1];if(_0x149f1e['fromVersion']<_0x14bd72['toVersion']){const _0x257a2d=_0x14bd72['toVersion'],_0x408099=Math['max'](_0x257a2d,_0x149f1e['toVersion']);this['_fixRevision']({'revision':_0x149f1e,'from':_0x257a2d,'to':_0x408099});}}}['_fixRevision']({revision:_0x5ee768,from:_0x1de3d8,to:_0x55ca8c}={}){const _0x181cef=this['editor']['plugins']['get'](_0x15d897),_0x41af3d=this['_revisionTracker']['buildRevisionData']({'revision':_0x5ee768,'from':_0x1de3d8,'to':_0x55ca8c});_0x41af3d['authors']=_0x41af3d['authorsIds']['map'](_0x447ff5=>_0x181cef['getUser'](_0x447ff5)),_0x5ee768['_update'](_0x41af3d);}['_preventResendingRevisionData'](_0x1c1b2f){const _0x38b165={};_0x38b165['id']=_0x1c1b2f['id'];for(const _0x30cd34 of Object['keys'](_0x1c1b2f))'id'!==_0x30cd34&&(_0x38b165[_0x30cd34]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x38b165['id'],_0x38b165,!0x0);}async['_fetchMissingUsers'](_0x1c855b){const _0x3ce85d=this['editor']['plugins']['get'](_0x15d897),{connection:_0x36e055}=this['editor']['plugins']['get'](n),_0xb63e9c=new Set();for(const _0x305d7c of _0x1c855b){for(const _0x346f7d of _0x305d7c['authorsIds'])_0xe01ae3(_0x346f7d);_0x305d7c['creatorId']&&_0xe01ae3(_0x305d7c['creatorId']);}if(0x0===_0xb63e9c['size'])return;const _0x427d8b=await ut['getMany'](_0x36e055,Array['from'](_0xb63e9c));for(const _0x107dc4 of _0x427d8b)_0x3ce85d['getUser'](_0x107dc4['id'])||_0x3ce85d['addUser'](_0x107dc4);function _0xe01ae3(_0x2612e5){_0x3ce85d['getUser'](_0x2612e5)||_0xb63e9c['add'](_0x2612e5);}}}function Z(_0x48d5da){return _0x48d5da['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x48d5da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x48d5da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x2a528b{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 _0x516261{['_collapseAt'];constructor(_0x4b5747,_0x428b3a=0x6){super(_0x4b5747);const _0xce1816=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x428b3a,this['bind']('isHidden')['to'](this,'usersCount',_0x56978a=>_0x56978a<_0x428b3a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xce1816['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':_0xce1816['to']('usersCount',_0x16276=>'+'+(_0x16276-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x516261{['items'];['keystrokes'];constructor(_0x145c94){super(_0x145c94);const _0x196a95=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1e10a0(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x196a95['if']('hasPopup'),'aria-expanded':_0x196a95['to']('isExpanded',_0x4c9dd7=>this['hasPopup']&&String(_0x4c9dd7)),'aria-label':_0x196a95['to']('hasPopup',_0x21b42f=>E(_0x145c94,_0x21b42f?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x196a95['to']('hasPopup',_0xb1f747=>!!_0xb1f747&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x196a95['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x196a95['to'](_0x53f1f1=>{const _0x178a83=_0x53f1f1,_0x5dd5c7=document['querySelector']('.ck-presence-list__dropdown-list'),_0xa0db27=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5dd5c7?.['contains'](_0x178a83['relatedTarget'])||_0xa0db27?.['contains'](_0x178a83['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2b3583,_0x43a4a2,_0x450f8d)=>{this['element']&&(_0x450f8d?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 _0x516261{['counterView'];['inlineListView'];constructor(_0x18e45d,_0xa83840=0x6){super(_0x18e45d);const _0x4fedfa=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0xa83840),this['inlineListView']=new is(_0x18e45d),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xc0aabc of this['inlineListView']['items'])_0xc0aabc['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',_0x4fedfa['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x516261{['listWrapperView'];constructor(_0x123824,_0x147bfa){super(_0x123824);const _0x24ba8a=this['bindTemplate'];this['listWrapperView']=new wt(_0x123824,_0x147bfa),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x123824,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x24ba8a['to'](_0x2482ca=>{const _0x47587e=_0x2482ca,_0x14789b=document['querySelector']('.ck-presence-list__list'),_0x56be0b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x14789b?.['contains'](_0x47587e['relatedTarget'])||_0x56be0b?.['contains'](_0x47587e['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x5ad3a7{constructor(_0x3e46cd,_0x14c344){super(_0x3e46cd);const _0x565ddc=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x14c344?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x565ddc['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x565ddc['to']('role'),'aria-label':_0x565ddc['to']('ariaLabel'),'aria-labelledby':_0x565ddc['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x238b5d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2fd505=this['element'];_0x2fd505&&(this['_isScrollable']=Math['max'](_0x2fd505['scrollHeight'],_0x2fd505['clientHeight'])>0.8*window['innerHeight']);}}class j extends it{['userView'];constructor(_0x6d8b7e,_0x186f0b,_0x3ac346){super(_0x6d8b7e);const _0x2c6493=this['bindTemplate'];this['userView']=new ct(_0x6d8b7e,_0x186f0b);const _0x20bf3f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x186f0b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x186f0b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x186f0b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x3ac346&&(_0x20bf3f['tag']='button',_0x20bf3f['on']={'click':_0x2c6493['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x20bf3f);}['focus'](){this['element']['focus']();}}class A extends _0x516261{['userView'];['markerView'];constructor(_0x2e4a41,_0x36a02f,_0x72250a){super(_0x2e4a41);const _0x5277e8=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x2e4a41,_0x36a02f),this['markerView']=new lt(_0x2e4a41,_0x36a02f);const _0x45ce49=new at(_0x2e4a41);_0x45ce49['template']['tag']='span',_0x45ce49['text']=_0x36a02f['name'];const _0x533e63={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5277e8['to']('isFocusable',_0x6c0a60=>!!_0x6c0a60&&0x0),'aria-labelledby':_0x45ce49['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5277e8['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5277e8['to']('hasTooltip',_0x87f272=>!_0x87f272),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x45ce49]};_0x72250a&&(_0x533e63['tag']='button',_0x533e63['on']={'click':_0x5277e8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x533e63);}}class lt extends _0x516261{constructor(_0x5459ea,_0x481335){super(_0x5459ea),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x481335['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3fda04{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x53c935){super(_0x53c935),this['context']['config']['define']('presenceList',x);const _0x4d24d7=_0x53c935['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4d24d7)throw new _0x495bd7('presencelist-collapseat-invalid-format',this);if(_0x4d24d7<0x1)throw new _0x495bd7('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x50504b(),this['balloonPanelView']=new _0x458d22(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x5de9d1 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5de9d1);this['listenTo'](this['_allConnectedUsers'],'add',(_0x79db7c,_0x3cc75b)=>{this['_handleUserAdd'](_0x3cc75b);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x363224,_0x2ff167)=>{this['_handleUserRemove'](_0x2ff167);});}['_createView'](){const _0x413f6a=this['context'],_0x2c5bae=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x512194=this['balloonPanelView'];if(!_0x576274(_0x413f6a['config']['get']('presenceList.container')))throw new _0x495bd7('presencelist-missing-container',this);return _0x2c5bae['counterView']['bind']('usersCount')['to'](this),_0x2c5bae['bind']('isCollapsed')['to'](this,'usersCount',_0x1de955=>{const {collapseAt:_0x4ccad5}=_0x413f6a['config']['get']('presenceList'),_0x1ccbc8=_0x1de955>=_0x4ccad5;if(_0x1ccbc8&&!_0x2c5bae['inlineListView']['items']['find'](_0x9db824=>_0x9db824 instanceof b)){const _0x26dec6=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x26dec6&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2c5bae['inlineListView']['items']['add'](_0x2c5bae['counterView']);}return _0x1ccbc8||this['hideDropdown'](),_0x1ccbc8;}),_0x2c5bae['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x99c52b=>{const _0x207c65=_0x413f6a['config']['get']('presenceList'),_0x24fe8b=new A(_0x413f6a['locale'],_0x99c52b,!!_0x207c65['onClick']);return _0x24fe8b['bind']('hasTooltip')['to'](_0x2c5bae,'isCollapsed',_0x21d49f=>!_0x21d49f),_0x24fe8b['bind']('isFocusable')['to'](_0x2c5bae,'isCollapsed',_0x1f507b=>!_0x1f507b),_0x207c65['onClick']&&this['listenTo'](_0x24fe8b,'execute',()=>{this['view']['isCollapsed']||_0x207c65['onClick'](_0x99c52b,_0x24fe8b['element']);}),_0x24fe8b;}),this['listenTo'](_0x2c5bae['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2c5bae['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2c5bae['inlineListView']['keystrokes']['set']('Enter',(_0x405593,_0x40571e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x40571e());}),_0x2c5bae['render'](),_0x512194['render'](),_0x6231a0({'emitter':_0x2c5bae,'activator':()=>_0x512194['isVisible'],'contextElements':[_0x512194['element'],_0x2c5bae['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x413f6a['config']['get']('presenceList.container')['appendChild'](_0x2c5bae['element']),this['_bodyCollection']=new _0x221097(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2c5bae;}['_handleUserAdd'](_0x15eea0){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x15eea0['isMe'])return;const _0x33374c=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x33374c-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x29fc3a=_0x15eea0['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x15eea0,_0x29fc3a);}['_handleUserRemove'](_0x7a386b){this['usersCount']--;const {collapseAt:_0x1ed37c}=this['context']['config']['get']('presenceList'),_0x1c97b4=this['usersCount']>=_0x1ed37c;if(this['currentDisplayedUsers']['get'](_0x7a386b['id']))this['currentDisplayedUsers']['remove'](_0x7a386b['id']);else{if(_0x1c97b4&&this['currentDisplayedUsers']['length']+0x1===_0x1ed37c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1c97b4?0x1:0x0)<this['usersCount']){for(const _0x289a1b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x289a1b['id'])&&(this['currentDisplayedUsers']['add'](_0x289a1b,Math['min'](this['currentDisplayedUsers']['length']-(_0x1c97b4?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1c97b4?0x1:0x0)===_0x1ed37c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x6125b3=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x6125b3['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4ad5a0}=this['presenceDropdownView'];_0x4ad5a0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x40c70a=>{if(!_0x6125b3['displayMe']&&_0x40c70a['isMe'])return null;const _0x5a0fb2=new j(this['context']['locale'],_0x40c70a,!!_0x6125b3['onClick']);return _0x6125b3['onClick']&&this['listenTo'](_0x5a0fb2,'execute',()=>{_0x6125b3['onClick'](_0x40c70a,_0x5a0fb2['element']);}),_0x5a0fb2;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4ad5a0['focus'](),_0x4ad5a0['checkIfScrollable']();const _0x5135bf=(_0x50b6db,_0x3c9acc)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3c9acc();};_0x4ad5a0['keystrokes']['set']('Esc',_0x5135bf),_0x4ad5a0['keystrokes']['set']('Shift+Tab',_0x5135bf),_0x4ad5a0['keystrokes']['set']('Tab',(_0xbc2fc,_0x30461c)=>{!function(_0x5e3fe5){const _0x51fc7a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x15b5a1=>_0x15b5a1+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x12f60e=[...document['body']['querySelectorAll'](_0x51fc7a)]['filter'](_0x116932=>_0x116932===document['activeElement']||_0x116932['offsetWidth']+_0x116932['offsetHeight']>0x0)['sort']((_0x58d01f,_0x36541b)=>(_0x58d01f['tabIndex']||0x0)-(_0x36541b['tabIndex']||0x0)),_0x1f0208=_0x12f60e['indexOf'](_0x5e3fe5),_0xa602e9=_0x12f60e[(_0x1f0208+0x1)%_0x12f60e['length']];_0xa602e9&&_0xa602e9['focus']();}(this['view']['element']),this['hideDropdown'](),_0x30461c();}),_0x4ad5a0['focusTracker']['add'](this['view']['element']),_0x4ad5a0['focusTracker']['on']('change:isFocused',(_0x4bdb80,_0x3091a8,_0x33efa4)=>{_0x33efa4||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x3fda04{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x20381d,Plugin as _0x48a9f0,PendingActions as _0x8eb42e,Context as _0x4ebab9}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1702f4,CKEditorError as _0x271f8a,Collection as _0x42ff4a,global as _0x459bae,version as nt,uid as _0x369498,KeystrokeHandler as _0x13bac5}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x244ae8,View as _0x3d3dbb,ListView as _0x3dbb32,ListItemView as et,LabelView as it,BalloonPanelView as _0x103ccd,clickOutsideHandler as _0x1a73ab,BodyCollection as _0x1f72d8}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0xe45004,History as _0x2aefa6,NoOperation as _0x3aa4db,InsertOperation as _0x4e0cfb,MarkerOperation as _0x69b322,RootAttributeOperation as _0x4626e7,transformOperationSets as _0x56ce2c,OperationFactory as _0x2380ed}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x16a505,CollaborativeEditingService as _0x16b68c,User as ct,CommentsService as _0x3e7f1e,TrackChangesService as tt,RevisionHistoryService as _0x41030c,EditorService as _0x1f6c76}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x38b10c,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3d66fb}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x51facf}from'es-toolkit/compat';class n extends _0x20381d{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x244ae8];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2956e1){super(_0x2956e1),this['set']('state',_0x16a505['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1702f4())();}['init'](){const _0x5f3094=this['context'],_0x38be14=_0x5f3094['plugins']['get']('CloudServices'),_0x49655a=_0x5f3094['plugins']['get'](_0x244ae8);if(!_0x38be14['token'])throw new _0x271f8a('websocketgateway-missing-token',this);if(!_0x38be14['webSocketUrl'])throw new _0x271f8a('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'](_0x38be14['token'],_0x38be14['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1818b4=>{if(this['connection']=_0x1818b4,this['bind']('state')['to'](_0x1818b4,'state',this,'_isBrowserOffline',(_0x27cf66,_0x1a2105)=>('connected'!==_0x27cf66&&(this['_shouldPluginsReconnect']=!0x0),_0x1a2105||_0x27cf66!==_0x16a505['CONNECTED']?_0x16a505['DISCONNECTED']:this['state']==_0x16a505['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x16a505['CONNECTING']):_0x16a505['CONNECTED'])),this['connection']['on']('error',(_0x48e6b0,_0xbf346f)=>{if('limitExceeded'!==_0xbf346f['code'])throw console['error'](_0xbf346f),new _0x271f8a('cloudservices-init',null,{'originalError':_0xbf346f});_0x49655a['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'});}),!_0x1818b4['me'])return new Promise(_0xdc3ff2=>_0x1818b4['on']('change:me',_0xdc3ff2));})['catch'](_0x38ecb1=>{throw console['error'](_0x38ecb1),new _0x271f8a('cloudservices-init',null,{'originalError':_0x38ecb1});});}['addToReconnectionStack'](_0x59be56){if('function'!=typeof _0x59be56['reconnect'])throw new _0x271f8a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x59be56))throw new _0x271f8a('websocketgateway-plugin-already-registered',this,{'name':_0x59be56['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x59be56);}['removeFromReconnectionStack'](_0x3b25cf){this['_reconnectionStack']['delete'](_0x3b25cf);}['isInReconnectionStack'](_0x3b1b2a){return this['_reconnectionStack']['has'](_0x3b1b2a);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2e0f64=>_0x2e0f64['reconnect']())))['then'](()=>this['state']=_0x16a505['CONNECTED'])['catch'](_0x54b361=>{throw console['error'](_0x54b361),new _0x271f8a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x16a505['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x20381d{['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,_0x38b10c];}constructor(_0x21208a){super(_0x21208a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x42ff4a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x38b10c);}['init'](){const _0x4ac5d5=this['context']['plugins']['get'](n);this['listenTo'](_0x4ac5d5,'change:state',(_0x407527,_0x4f2a43,_0x1e5323)=>{if('connected'!==_0x1e5323)this['channelSessions']['forEach'](_0x4d475e=>_0x4d475e['clear']()),this['channelConnectedUsers']['forEach'](_0x3724b7=>_0x3724b7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x554bfa,_0x4ee249]of this['_registeredSessions'])for(const _0xfe0f21 of _0x4ee249)this['_handleSessionAdd'](_0x554bfa,_0xfe0f21);}}),this['_createUser'](_0x4ac5d5['connection']['me'],!0x0);}['register'](_0x3bd5ca,_0x5ef7d3){if(this['_registeredSessions']['has'](_0x3bd5ca))throw new _0x271f8a('sessions-register-already-registered',null,{'channelId':_0x3bd5ca});this['_registeredSessions']['set'](_0x3bd5ca,_0x5ef7d3),this['channelSessions']['set'](_0x3bd5ca,new _0x42ff4a()),this['channelConnectedUsers']['set'](_0x3bd5ca,new _0x42ff4a()),this['listenTo'](_0x5ef7d3,'add',(_0x263261,_0x3af7ca)=>this['_handleSessionAdd'](_0x3bd5ca,_0x3af7ca)),this['listenTo'](_0x5ef7d3,'remove',(_0x1aad69,_0x469577)=>this['_handleSessionRemove'](_0x3bd5ca,_0x469577));for(const _0x2f5b51 of _0x5ef7d3)this['_handleSessionAdd'](_0x3bd5ca,_0x2f5b51);}['unregister'](_0x5b8eb3){if(!this['_registeredSessions']['has'](_0x5b8eb3))throw new _0x271f8a('sessions-unregister-not-exist',null,{'channelId':_0x5b8eb3});const _0x498b72=this['_registeredSessions']['get'](_0x5b8eb3);this['stopListening'](_0x498b72);for(const _0x5487a3 of _0x498b72)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5b8eb3,_0x5487a3);this['_registeredSessions']['delete'](_0x5b8eb3),this['channelSessions']['delete'](_0x5b8eb3),this['channelConnectedUsers']['delete'](_0x5b8eb3);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x26563c){for(const _0x3b3e20 of this['channelSessions']['values']())for(const _0x41fff6 of _0x3b3e20)if(_0x41fff6['id']===_0x26563c)return _0x41fff6['user'];}['getUserSessions'](_0x2a8633,_0x27a20c){const _0x3fd9bc=_0x27a20c?[this['channelSessions']['get'](_0x27a20c)]:this['channelSessions']['values'](),_0x10a2a7=new Set();for(const _0x5c2864 of _0x3fd9bc)for(const _0x1f0269 of _0x5c2864)_0x1f0269['user']['id']===_0x2a8633['id']&&_0x10a2a7['add'](_0x1f0269['id']);return _0x10a2a7;}['getUserRole'](_0xcc32ce){for(const _0x4bde4e of this['channelSessions']['values']())for(const _0x5d0ba3 of _0x4bde4e)if(_0x5d0ba3['user']===_0xcc32ce)return _0x5d0ba3['role'];}['_handleSessionAdd'](_0x23584c,_0x5201df){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1adb60=_0x5201df['user'],_0x12951f=this['_users']['getUser'](_0x1adb60['id'])||this['_createUser'](_0x1adb60),_0x53f5b4=Object['assign']({},_0x5201df,{'user':_0x12951f});if(this['channelSessions']['get'](_0x23584c)['add'](_0x53f5b4),!_0x1adb60['hiddenInPresenceList']){const _0x3fda4d=this['channelConnectedUsers']['get'](_0x23584c);_0x3fda4d['has'](_0x12951f['id'])||_0x3fda4d['add'](_0x12951f),this['allConnectedUsers']['has'](_0x12951f['id'])||_0x1adb60['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x12951f,_0x12951f['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x23584c,{'channelId':_0x23584c,'session':_0x53f5b4});}['_handleSessionRemove'](_0x259167,_0x1ea3b3){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3d0998=this['channelConnectedUsers']['get'](_0x259167),_0x2b6822=_0x1ea3b3['user'];_0x2b6822['id']&&(this['channelSessions']['get'](_0x259167)['remove'](_0x1ea3b3['id']),_0x3d0998['has'](_0x2b6822['id'])&&!this['getUserSessions'](_0x2b6822,_0x259167)['size']&&_0x3d0998['remove'](_0x2b6822['id']),this['allConnectedUsers']['get'](_0x2b6822['id'])&&!this['getUserSessions'](_0x2b6822)['size']&&this['allConnectedUsers']['remove'](_0x2b6822['id']));}['_createUser'](_0x202408,_0x38c0b6){const _0x1803a8=this['_users']['addUser'](_0x202408);return _0x38c0b6&&this['_users']['defineMe'](_0x202408['id']),_0x1803a8['orderNumber']=this['_uniqueUsersCount']++,_0x1803a8;}}class G extends _0x48a9f0{['_domEmitter']=new(_0x1702f4())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4e1674=this['editor'],_0x5ae186=_0x4e1674['plugins']['get'](i);_0x4e1674['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5b3e3f,{writer:_0x507eef})=>function(_0x17400e,_0x549aaf,_0x2b1ac7,_0x234e61){const _0x589ccc=_0x17400e['markerName']['split'](':')[0x2],_0x3b4939=_0x2b1ac7['getUserBySessionId'](_0x589ccc);if(!_0x3b4939||_0x589ccc===_0x2b1ac7['mySessionId'])return;if(!_0x234e61['model']['schema']['checkChild'](_0x17400e['markerRange']['start'],'$text'))return;const _0x10a6df={'class':'ck-user__marker\x20'+_0x3b4939['color']['getMarkerClass'](),'data-name':_0x3b4939['name'],'data-session-id':_0x589ccc},_0x248168=_0x234e61['model']['markers']['get'](_0x17400e['markerName']),_0x3c9c4d=_0x248168['getStart'](),_0x343ab6=_0x3c9c4d['nodeAfter'],_0x24bf02=_0x234e61['model']['schema'];if(_0x343ab6&&_0x24bf02['isObject'](_0x343ab6)&&_0x24bf02['isInline'](_0x343ab6)&&!_0x234e61['model']['markers']['get']('user:range:'+_0x589ccc)['getRange']()['isCollapsed'])return;const _0x32541b=_0x3c9c4d['parent'];return _0x234e61['model']['schema']['isLimit'](_0x32541b)&&!_0x234e61['model']['hasContent'](_0x32541b)&&(_0x10a6df['contenteditable']=!0x1),function(_0x142d5f,_0x5b012b,_0x1a518){const _0x2708a3=_0x142d5f['createUIElement']('span',_0x5b012b);return _0x142d5f['setCustomProperty']('userPositionMarker',!0x0,_0x2708a3),_0x2708a3['render']=function(_0x4fba73){const _0x18cedc=this['toDomElement'](_0x4fba73),_0xe9fdc=document['createElement']('span');return _0xe9fdc['classList']['add']('ck-user__marker-tooltip'),_0xe9fdc['setAttribute']('contenteditable','false'),_0xe9fdc['setAttribute']('spellcheck','false'),_0xe9fdc['textContent']=_0x1a518['name'],_0x18cedc['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xe9fdc['outerHTML']+'⁠',_0x18cedc['addEventListener']('mouseenter',()=>{_0x18cedc['classList']['add']('ck-user__marker_hovered');}),_0x18cedc['addEventListener']('mouseleave',()=>{_0x18cedc['classList']['remove']('ck-user__marker_hovered');}),_0x18cedc;},_0x2708a3['isSimilar']=function(_0x3bb37c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3bb37c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3bb37c['getAttribute']('data-session-id'));},_0x2708a3;}(_0x549aaf,_0x10a6df,_0x3b4939);}(_0x5b3e3f,_0x507eef,_0x5ae186,_0x4e1674)}),_0x4e1674['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5646fc=>function(_0x3573a7,_0x29fea4){const _0x47cbe0=_0x3573a7['markerName']['split'](':')[0x2];if(_0x47cbe0===_0x29fea4['mySessionId'])return null;const _0x49e7d2=_0x29fea4['getUserBySessionId'](_0x47cbe0);if(!_0x49e7d2)return{'id':_0x47cbe0,'classes':[]};return{'id':_0x47cbe0,'classes':['ck-user__selection',_0x49e7d2['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x47cbe0},'priority':0x7d0+_0x49e7d2['orderNumber']};}(_0x5646fc,_0x5ae186)}),function(_0x4515cf){const _0x639b19=_0x4515cf['model'],_0x4ce28a=new Map(),_0x4eee0c=_0x4515cf['plugins']['get'](i);_0x639b19['markers']['on']('update:user:range',(_0x5c33fd,_0x173f9d,_0x54b3d0,_0x3f6ad8)=>{if(!_0x3f6ad8&&_0x4ce28a['get'](_0x173f9d['name']))return _0x4ce28a['get'](_0x173f9d['name'])['detach'](),void _0x4ce28a['delete'](_0x173f9d['name']);const _0x287ef7=_0x173f9d['name']['split'](':')[0x2];if(_0x287ef7===_0x4eee0c['mySessionId'])return;const _0x511c56='user:position:'+_0x287ef7;_0x639b19['markers']['has'](_0x511c56)&&_0x4515cf['editing']['reconvertMarker'](_0x511c56),_0x173f9d['on']('change:range',(_0x34bc81,_0x25ed84,_0x2ccee1)=>{if('$graveyard'!=_0x25ed84['root']['rootName']&&'$graveyard'==_0x173f9d['getRange']()['root']['rootName']&&!_0x4ce28a['has'](_0x173f9d['name'])){const _0x140d9c=_0x639b19['schema']['getNearestSelectionRange'](_0x2ccee1['deletionPosition']);if(_0x140d9c){const _0x6bd116=_0xe45004['fromRange'](_0x140d9c);_0x4ce28a['set'](_0x173f9d['name'],_0x6bd116),_0x6bd116['on']('change:range',(_0x14d9e6,_0x1bab74,_0x19ba96)=>{if('$graveyard'==_0x6bd116['root']['rootName']){const _0x83e1ec=_0x639b19['schema']['getNearestSelectionRange'](_0x19ba96['deletionPosition']);_0x83e1ec?(_0x6bd116['start']=_0x83e1ec['start'],_0x6bd116['end']=_0x83e1ec['end']):(_0x4ce28a['delete'](_0x173f9d['name']),_0x6bd116['detach']());}});}}});}),_0x639b19['document']['on']('change',()=>{_0x4ce28a['size']>0x0&&_0x639b19['enqueueChange']({'isUndoable':!0x1},_0x2e2383=>{for(const [_0x103ca2,_0x20f891]of _0x4ce28a)'$graveyard'==_0x639b19['markers']['get'](_0x103ca2)['getRange']()['root']['rootName']&&(te(_0x103ca2['split'](':')[0x2],_0x20f891['toRange'](),_0x639b19,_0x2e2383),_0x20f891['detach']());_0x4ce28a['clear']();});});}(_0x4e1674),this['_domEmitter']['listenTo'](_0x459bae['document'],'keydown',(_0x1954b6,{key:_0x2c2859})=>{'Escape'===_0x2c2859&&function(_0x417529){_0x417529['editing']['view']['change'](_0x3200da=>{for(const _0x578900 of _0x417529['model']['markers']){if(!_0x578900['name']['startsWith']('user:position'))continue;const _0x129018=_0x417529['editing']['mapper']['markerNameToElements'](_0x578900['name']);if(_0x129018){for(const _0x234f8a of _0x129018)_0x3200da['removeClass']('ck-user__marker_hovered',_0x234f8a);}}});}(_0x4e1674);},{'useCapture':!0x0});}['afterInit'](){const _0x5ed89f=this['editor'],_0x3a08f5=_0x5ed89f['commands']['get']('undo');_0x3a08f5&&_0x5ed89f['model']['on']('applyOperation',(_0x5c583e,_0x398f69)=>{const _0x6e31ab=_0x398f69[0x0];if(!_0x6e31ab['isDocumentOperation'])return;if('marker'!=_0x6e31ab['type']||!_0x6e31ab['name']['startsWith']('user:'))return;const _0x3dff4c=_0x6e31ab['batch'];_0x3a08f5['_createdBatches']['has'](_0x3dff4c)&&(_0x6e31ab['newRange']=_0x6e31ab['oldRange']?_0x5ed89f['model']['createRange'](_0x6e31ab['oldRange']['start'],_0x6e31ab['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x56ed78=this['editor'],_0xf9418b=_0x56ed78['model']['document'],_0x157e30=_0x56ed78['plugins']['get'](i);_0x56ed78['model']['enqueueChange']({'isUndoable':!0x1},_0x1ebfbb=>{const _0x4efbc0='user:range:'+_0x157e30['mySessionId'],_0x41b18f='user:position:'+_0x157e30['mySessionId'],_0x34a479=_0x56ed78['model']['markers']['has'](_0x4efbc0);_0x56ed78['editing']['view']['hasDomSelection']?te(_0x157e30['mySessionId'],_0xf9418b['selection']['getFirstRange'](),_0x56ed78['model'],_0x1ebfbb):_0x34a479&&(_0x1ebfbb['removeMarker'](_0x4efbc0),_0x1ebfbb['removeMarker'](_0x41b18f));});}}function te(_0x4a127d,_0xc386b0,_0x24a876,_0x27f45f){const _0x3e1597='user:range:'+_0x4a127d,_0x24c6ec='user:position:'+_0x4a127d,_0x4f52f1=_0xc386b0['getContainedElement']();let _0x3f956d=_0xc386b0['start'];if(_0x4f52f1&&_0x4f52f1['is']('element','tableCell')){const _0x4057ab=function(_0x6c3cc,_0x512d15){for(const _0x2c6e1a of _0x6c3cc['getPositions']())if(_0x512d15['schema']['checkChild'](_0x2c6e1a,'$text'))return _0x2c6e1a;}(_0xc386b0,_0x24a876);_0x4057ab&&(_0x3f956d=_0x4057ab,_0xc386b0=_0x27f45f['createRange'](_0x3f956d));}const _0x50b81a=_0x27f45f['createRange'](_0x3f956d);_0x24a876['markers']['has'](_0x3e1597)?(_0x27f45f['updateMarker'](_0x3e1597,{'range':_0xc386b0}),_0x27f45f['updateMarker'](_0x24c6ec,{'range':_0x50b81a})):(_0x27f45f['addMarker'](_0x3e1597,{'range':_0xc386b0,'usingOperation':!0x0}),_0x27f45f['addMarker'](_0x24c6ec,{'range':_0x50b81a,'usingOperation':!0x0}));}function $(_0x5ee0f1,_0x5305d9,_0x197ece){const _0x448475=_0x5ee0f1['t'],t=_0x5ee0f1['t'];switch(_0x5305d9){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 _0x448475({'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'},_0x197ece);default:return'';}}let Q=0x1;class l extends _0x48a9f0{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x16b68c)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,G,_0x8eb42e,_0x38b10c,_0x244ae8];}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 _0x2eac87=this['serverHistory']['getOperations']();for(let _0x3450e7=_0x2eac87['length']-0x1;_0x3450e7>=0x0;_0x3450e7--){const _0x116d6b=_0x2eac87[_0x3450e7];if(!this['_disconnectionOperations']['has'](_0x116d6b))return _0x116d6b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5dd1b5){if(super(_0x5dd1b5),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2aefa6(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x271f8a('collaboration-missing-channelid',this);const _0x572e33=_0x5dd1b5['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x572e33,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3d66fb(),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 Z(this['_disconnectionOperations']);}['init'](){const _0x4f7150=this['editor'],_0x36adb3=_0x4f7150['plugins']['get'](_0x38b10c),_0x1582a2=_0x4f7150['plugins']['get'](n);this['listenTo'](_0x36adb3,'getOperationAuthor',(_0x370fb2,_0x5f2af9)=>{const _0x58498a=_0x5f2af9[0x0];_0x58498a['_authorId']&&(_0x370fb2['return']=_0x36adb3['getUser'](_0x58498a['_authorId']),_0x370fb2['stop']()),null===_0x58498a['_authorId']&&(_0x370fb2['return']=null,_0x370fb2['stop']());},{'priority':'high'}),this['listenTo'](_0x4f7150['model']['document']['selection'],'change:range',(_0x4ece5a,_0x382819)=>{_0x382819['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4f7150['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4f7150['model']['on']('applyOperation',(_0x5d90b0,_0x6edcca)=>{const _0x285ca4=_0x6edcca[0x0];_0x285ca4['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x285ca4),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1582a2,'state',this,'_hasSynchronizationProblem',(_0x37c307,_0x4ed4d7)=>'connected'===_0x37c307&&!_0x4ed4d7),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4f7150['disableReadOnlyMode']('rtc-offline'):_0x4f7150['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4f7150['disableReadOnlyMode']('rtc-offline'):_0x4f7150['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4e5060=this['editor']['plugins']['get'](i),_0x4ecbe6=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x4e5060['unregister'](this['_channelId']);const _0x13cdd3=await this['_service']['reconnect'](_0x4ecbe6['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x13cdd3)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3b4e5b=await this['_service']['getConnectedSessions']();_0x4e5060['register'](this['_channelId'],_0x3b4e5b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x348858){if(function(_0x5013f8){return'404'===_0x5013f8['code'];}(_0x348858)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x27ceec){return'409'===_0x27ceec['code'];}(_0x348858)){const _0xfab3e0=$(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'](_0xfab3e0);}else{if(!(_0x348858 instanceof X))throw _0x348858;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3bba0d=this['editor']['plugins']['get'](n),_0x5bc739=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5bc739['channelSessions']['has'](this['_channelId'])&&_0x5bc739['unregister'](this['_channelId']),_0x3bba0d['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5f0f54){if(this['sessionId']!==_0x5f0f54['sessionId']&&this['_lastSyncedOperationId']!==_0x5f0f54['lastOperationId'])throw new X();return this['sessionId']=_0x5f0f54['sessionId'],this['_handleServerResponse']([],{..._0x5f0f54,'wereChangesApplied':!0x1,'data':_0x5f0f54['data']},'reconnect');}async['_connectService'](_0x507633,_0x1e9d54=!0x1){const {connection:_0x37702a}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x37702a,this['_channelId'])['then'](_0x2879c1=>this['_initSessionsHandling'](_0x2879c1))['catch'](_0x240e72=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x240e72);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x314163,_0x1c7e29)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1c7e29);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x397cc1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x507633);this['_isPendingUpdate']=!0x0;const _0x1b841b=await this['_service']['connect'](_0x37702a,this['_compressOperations'](_0x507633),_0x397cc1);if(this['sessionId']=_0x1b841b['sessionId'],_0x1e9d54){if(!_0x1b841b['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1b841b['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x507633,_0x1b841b,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1b841b,_0x507633);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2aef33=this['editor']['plugins']['get'](i),_0x5adddc=this['editor']['plugins']['get'](G),_0x242af7=_0x2aef33['channelSessions']['get'](this['_channelId']);_0x242af7&&_0x242af7['length']>0x1?_0x5adddc['createUserMarkerOperations']():this['listenTo'](_0x2aef33,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2aef33['channelSessions']['get'](this['_channelId'])['length']&&_0x5adddc['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x372d61,_0xa4d7c9,_0x3a3a1d,_0x48578d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0xa4d7c9){const _0x18ae36=this['_decompressOperations'](_0x3a3a1d,_0x48578d);await this['_fetchMissingUsers'](_0x18ae36),this['_handleExternalOperations'](_0x18ae36,_0xa4d7c9,_0x3a3a1d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x22327b}=this['editor'];let _0x205a8a;try{_0x205a8a=await this['_service']['getDocumentDetails']();}catch{const _0x29704d=$(_0x22327b,'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'](_0x29704d);}const _0x19caad=_0x205a8a['currentDocumentSession']||_0x205a8a['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x19caad['lastOperationId']){const _0x44d4ff=$(_0x22327b,'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'](_0x44d4ff);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x1ac453){const _0x89c11e=this['editor']['plugins']['get'](i);this['listenTo'](_0x89c11e,'sessionAdd:'+this['_channelId'],(_0x35b17b,{session:_0x359a76})=>{if(_0x359a76['id']===_0x89c11e['mySessionId']){_0x35b17b['off']();const _0x5b1242=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x46e47c=_0x359a76['permissions'];_0x5b1242&&_0x5b1242['isEnabled']&&(_0x46e47c=_0x46e47c['filter'](_0x4c394c=>'document:write'!==_0x4c394c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x46e47c,this['_channelId']);}}),_0x89c11e['register'](this['_channelId'],_0x1ac453);}['_initThrowingOnDataSet'](){const _0x1383a7=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x32a019)=>{if(!_0x32a019[_0x32a019['length']-0x1]['suppressErrorInCollaboration'])throw new _0x271f8a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1383a7['apply'](this['editor']['data'],_0x32a019);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xfb9767,[_0x4c0417])=>{if(this['_document']['version'])throw new _0x271f8a('realtimecollaborationclient-init-document-already-initialized',this);_0xfb9767['stop'](),this['_setPendingAction']();const _0x1483d3=this['editor']['config']['get']('rootsAttributes'),_0x2f7f63=this['_getOperationsFromInitData'](_0x4c0417,_0x1483d3);0x0==_0x2f7f63['length']&&_0x2f7f63['push'](new _0x3aa4db(0x0)),_0xfb9767['return']=this['_connectService'](_0x2f7f63)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5b23c6=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5b23c6))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x312c15,[_0x4980d6,_0x4b7347])=>{_0x312c15['stop']();const _0x1fd29d=this['editor']['model']['document']['getRoot'](_0x4980d6);if(!this['_knownRootNames']['has'](_0x4980d6)){const _0x1b8fb4=_0x4b7347&&_0x4b7347['data']?_0x4b7347['data']:'',_0x46b20f=_0x4b7347&&_0x4b7347['attributes']?_0x4b7347['attributes']:{};await this['_loadRoot'](_0x4980d6,_0x1b8fb4,_0x46b20f);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1fd29d['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1fd29d);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x581866){const _0x1e3945=this['editor']['plugins']['get'](_0x38b10c),{connection:_0x13a60a}=this['editor']['plugins']['get'](n),_0xe9c029=new Set();for(const _0x5b77d7 of _0x581866){const _0x13bebc=_0x5b77d7['_authorId'];_0x13bebc&&!_0x1e3945['getUser'](_0x13bebc)&&_0xe9c029['add'](_0x13bebc);}if(0x0===_0xe9c029['size'])return;const _0x25a1bc=await ct['getMany'](_0x13a60a,Array['from'](_0xe9c029));for(const _0xf66ce2 of _0x25a1bc)_0x1e3945['getUser'](_0xf66ce2['id'])||_0x1e3945['addUser'](_0xf66ce2);}['_getOperationsFromInitData'](_0x31eaf1,_0x172e80={}){const _0x183713=this['editor']['model'],_0xf75039=[];let _0x471e56=0x0;const _0x1d35b4='string'==typeof _0x31eaf1?{'main':_0x31eaf1}:_0x31eaf1;for(const _0xc3ad82 of Object['keys'](_0x1d35b4)){if(!this['_document']['roots']['has'](_0xc3ad82))throw new _0x271f8a('realtimecollaborationclient-init-non-existent-root',this);const _0x5a57ab=this['editor']['data']['parse'](_0x1d35b4[_0xc3ad82]),_0xb3b9ec=this['_document']['getRoot'](_0xc3ad82),_0x42734a=new _0x4e0cfb(_0x183713['createPositionAt'](_0xb3b9ec,0x0),_0x5a57ab,_0x471e56++);_0xf75039['push'](_0x42734a);for(const [_0x1f7f3a,_0x1590b2]of _0x5a57ab['markers']){const _0x321eea=_0x183713['createRange'](_0x183713['createPositionFromPath'](_0xb3b9ec,_0x1590b2['start']['path']['slice']()),_0x183713['createPositionFromPath'](_0xb3b9ec,_0x1590b2['end']['path']['slice']())),_0x29ccad=new _0x69b322(_0x1f7f3a,null,_0x321eea,_0x183713['markers'],!0x0,_0x471e56++);_0xf75039['push'](_0x29ccad);}}if(_0x172e80)for(const [_0xb35a6d,_0x24f425]of Object['entries'](_0x172e80)){const _0x5e1e97=_0x183713['document']['getRoot'](_0xb35a6d);if(!_0x5e1e97)throw new _0x271f8a('multi-root-editor-root-attributes-no-root',null);for(const [_0x124aa6,_0x50b48c]of Object['entries'](_0x24f425))if(null!==_0x50b48c){const _0x39c923=new _0x4626e7(_0x5e1e97,_0x124aa6,null,_0x50b48c,_0x471e56++);_0xf75039['push'](_0x39c923);}}return _0xf75039;}async['_loadRoot'](_0x1def8d,_0x210e99,_0x28baf1){this['_getOperationsFromInitData']({[_0x1def8d]:_0x210e99},{[_0x1def8d]:_0x28baf1})['forEach']((_0x85c1c6,_0x185d76)=>{_0x85c1c6['baseVersion']=this['_document']['version']+_0x185d76,_0x85c1c6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x85c1c6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x188863,_0x3ab92b){let _0x384c4c;this['_offset']=_0x188863['offset'];const _0x278983=_0x188863['wereChangesApplied']&&!_0x188863['initData'],_0x2e2ab4=_0x278983?0x0:_0x188863['data']['baseVersion'];if(_0x3ab92b['forEach'](_0x14054c=>{_0x14054c['_isInit']=!0x0,_0x14054c['createdAt']=_0x188863['sessionCreatedAt'],_0x14054c['_authorId']=null;}),_0x278983)_0x384c4c=_0x3ab92b,this['_applyOperationsSet'](_0x384c4c,_0x278983);else{if(_0x188863['initData']){const _0x26fc85=this['_getOperationsFromInitData'](_0x188863['initData']);this['_document']['history']['version']=-_0x26fc85['length'],_0x26fc85['forEach'](_0x4e48da=>{_0x4e48da['baseVersion']-=_0x26fc85['length'],_0x4e48da['createdAt']=_0x188863['sessionCreatedAt'],_0x4e48da['_isInit']=!0x0,_0x4e48da['_authorId']=null;}),this['_applyOperationsSet'](_0x26fc85,!0x0),this['serverHistory']['version']=-_0x26fc85['length']+this['_offset'],this['_updateServerHistory'](_0x26fc85);}this['_document']['history']['version']=_0x2e2ab4,_0x384c4c=this['_decompressOperations'](_0x188863['data'],_0x188863['metadata']),await this['_fetchMissingUsers'](_0x384c4c),this['_applyOperationsSet'](_0x384c4c,_0x278983);}_0x188863['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x384c4c,_0x188863['lastOperationId']),this['_lastSyncedOperationId']=_0x188863['lastOperationId']),this['serverHistory']['version']=_0x2e2ab4+this['_offset'],this['_updateServerHistory'](_0x384c4c),_0x3ab92b['filter'](_0xb8ee90=>{const _0x1aa082=this['_getAffectedRoot'](_0xb8ee90);return _0x1aa082&&!this['_knownRootNames']['has'](_0x1aa082);})['forEach']((_0x56bf3c,_0x4c9b83)=>{_0x56bf3c['baseVersion']=this['_document']['version']+_0x4c9b83,this['_saveOperationInBuffer'](_0x56bf3c);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x541882,_0x2f2d7c){const _0x478861=_0x2f2d7c&&_0x2f2d7c['message'];if(_0x478861&&_0x478861['startsWith']('realtimecollaborationclient'))throw _0x2f2d7c;const _0x6f75b0=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x6f75b0['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x271f8a(_0x541882,this['editor'],_0x478861?{'originalError':_0x478861}:void 0x0);}['_saveOperationInBuffer'](_0x248d8d){this['_knownOperations']['has'](_0x248d8d)||(this['_knownOperations']['add'](_0x248d8d),this['_bufferedOperations']['push'](_0x248d8d),this['_pendingAction']||'marker'==_0x248d8d['type']&&!_0x248d8d['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xdcab96=!0x1){!_0xdcab96&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x773045=>{_0x773045&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5dccd7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2ef2f5){return _0x2ef2f5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2ef2f5['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2ef2f5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5dccd7)||this['_crash'](_0x5dccd7['message'],_0x5dccd7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xf05f90=>{this['on']('change:_isPendingUpdate',()=>{_0xf05f90();});});}async['_sendBufferedOperations'](){const _0x5afa37=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0x5afa37['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x91f1e6=[...this['_bufferedOperations']];for(const _0x547192 of _0x91f1e6)_0x547192['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x547192);const _0x4fa67f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x91f1e6),_0x4bd0c4=Q++,_0xb3f3b8=this['_compressOperations'](_0x91f1e6),_0x15dfb3=await this['_service']['sendOperations'](_0xb3f3b8,_0xb3f3b8['baseVersion'],_0x4fa67f);try{return await this['_handleServerResponse'](_0x91f1e6,_0x15dfb3,_0x4bd0c4);}catch(_0x42d646){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x42d646);}}async['_handleServerResponse'](_0x4615a3,_0x353e43,_0x39d012){if('error'in _0x353e43)throw _0x353e43['error'];let _0x5e58d0=!0x1;if(_0x353e43['wereChangesApplied']){_0x353e43['lastOperationId']&&(this['_lastSyncedOperationId']=_0x353e43['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x461293=>!_0x4615a3['includes'](_0x461293));for(const _0x1eea6c of _0x4615a3)_0x1eea6c['createdAt']='lastOperationAcceptedAt'in _0x353e43&&_0x353e43['lastOperationAcceptedAt']||void 0x0;Y(_0x4615a3,_0x353e43['version']-_0x4615a3['length']),this['_updateServerHistory'](_0x4615a3);const _0x4120c0=_0x4615a3['filter'](_0x31a3bc=>{if(!_0x31a3bc['_isInit'])return!0x1;const _0xc5941f=this['_getAffectedRoot'](_0x31a3bc);return _0xc5941f&&!this['_knownRootNames']['has'](_0xc5941f);});Y(_0x4120c0,this['_document']['version']),this['_applyOperationsSet'](_0x4120c0),_0x5e58d0=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1de84a=this['_decompressOperations'](_0x353e43['data'],_0x353e43['metadata'])['filter'](_0x389864=>_0x389864['baseVersion']>=this['_lastServerVersion']);_0x1de84a['forEach'](_0x36df3a=>this['_addKnownRoot'](_0x36df3a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x12427b=>!_0x12427b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x12427b))),this['_bufferedOperations']['length']&&Y(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1de84a),_0x5e58d0=this['_handleExternalOperations'](_0x1de84a,_0x353e43['version'],_0x353e43['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5e58d0?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x40e1a6,_0x310bb6,_0xf34992){try{const _0x3767d1={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xa4800d,operationsB:_0x6bd696,originalOperations:_0x2c23e6}=_0x56ce2c(_0x40e1a6,this['_bufferedOperations'],_0x3767d1);Y(_0xa4800d,this['_document']['version']),Y(_0x6bd696,_0x310bb6);for(const _0x38b57e of _0xa4800d){const _0x24e31d=_0x2c23e6['get'](_0x38b57e);_0x38b57e['_authorId']=_0x24e31d?_0x24e31d['_authorId']:null;}_0xf34992&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x40e1a6,_0xf34992),this['_lastSyncedOperationId']=_0xf34992),this['_bufferedOperations']=[..._0x6bd696],this['_applyOperationsSet'](_0xa4800d),this['_updateServerHistory'](_0x40e1a6);}catch(_0x427786){return console['error'](_0x427786),!0x1;}return!0x0;}['_applyOperationsSet'](_0x467118,_0x3b8dd6=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x340255=>{for(const _0x47c8c7 of _0x467118)this['_knownOperations']['add'](_0x47c8c7),this['_addKnownRoot'](_0x47c8c7),_0x340255['batch']['addOperation'](_0x47c8c7),this['editor']['model']['applyOperation'](_0x47c8c7);});}['_addKnownRoot'](_0x4924f7){const _0x7187b4=this['_getAffectedRoot'](_0x4924f7);_0x7187b4&&this['_knownRootNames']['add'](_0x7187b4);}['_getAffectedRoot'](_0x22d03c){let _0x3f5557,_0x53ff05;switch(_0x22d03c['type']){case'insert':_0x3f5557=_0x22d03c['position']['root'];break;case'marker':if(_0x53ff05=_0x22d03c['newRange'],!_0x53ff05)return null;_0x3f5557=_0x53ff05['root'];break;case'addRootAttribute':_0x3f5557=_0x22d03c['root'];break;case'addRoot':_0x3f5557=_0x22d03c['affectedSelectable'];break;case'move':_0x3f5557=_0x22d03c['targetPosition']['root'];break;default:return null;}return _0x3f5557['rootName'];}['_updateServerHistory'](_0x374e5c){_0x374e5c['forEach'](_0x4ea0c3=>{const _0x24adb4=_0x4ea0c3['clone']();_0x24adb4['_authorId']=_0x4ea0c3['_authorId'],_0x24adb4['_isInit']=!!_0x4ea0c3['_isInit'],_0x24adb4['createdAt']=_0x4ea0c3['createdAt'],_0x24adb4['baseVersion']+=this['_offset'],_0x4ea0c3['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x24adb4),this['serverHistory']['addOperation'](_0x24adb4);});}['_handleReconnectionError'](_0x5e26f9){const _0x3311be=this['editor']['plugins']['get']('Notification'),_0xa183b6=this['editor']['locale'];_0x5e26f9||(_0x5e26f9=$(_0xa183b6,'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.')),_0x3311be['showWarning'](_0x5e26f9,{'title':$(_0xa183b6,'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'](_0x8eb42e)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x8eb42e)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x156388){const _0x55d202=_0x156388['map'](_0x3685b7=>_0x3685b7['toJSON']());return this['_compressor']['compress'](_0x55d202);}['_decompressOperations'](_0x3f3bca,_0x77a5ef){return this['_compressor']['decompress'](_0x3f3bca)['map']((_0x443a41,_0x3c7c67)=>{const _0x35e5bb='init'==_0x77a5ef[_0x3c7c67]['type'];if('InsertOperation'==_0x443a41['__className']){const _0x4eb022=_0x443a41['position']['root'];!this['_document']['getRoot'](_0x4eb022)&&(this['_document']['createRoot']('$root',_0x4eb022)['_isAttached']=!0x1);}const _0x483230=_0x2380ed['fromJSON'](_0x443a41,this['_document']);return _0x483230['wasUndone']=_0x443a41['wasUndone'],_0x483230['_isInit']=_0x35e5bb,_0x483230['_authorId']=_0x35e5bb?null:_0x77a5ef[_0x3c7c67]['userId'],_0x483230['_isDisconnection']='cs:removeUser'===_0x77a5ef[_0x3c7c67]['type'],_0x483230['createdAt']=_0x77a5ef[_0x3c7c67]['createdAt'],_0x483230;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x49a069=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x49a069&&_0x49a069['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class X extends Error{}function Y(_0x30ed60,_0x493944){for(const _0x194b67 of _0x30ed60)_0x194b67['baseVersion']=_0x493944++;}class Z{['_ignoredOperations'];['_operationToId'];constructor(_0x1e375c){this['_ignoredOperations']=_0x1e375c,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3c3ca9){let _0x22e6e7=_0x3c3ca9['length'];for(;_0x22e6e7--;){const _0xcbcfbf=_0x3c3ca9[_0x22e6e7];if(!this['_ignoredOperations']['has'](_0xcbcfbf)){if(!this['_operationToId']['has'](_0xcbcfbf)){const _0x2d4f48=_0x369498()['slice'](0x1,0x12);this['_operationToId']['set'](_0xcbcfbf,_0x2d4f48);}return this['_operationToId']['get'](_0xcbcfbf);}}}['setIdForTheLastOperation'](_0x1c9cd2,_0x2f751a){if(!_0x2f751a)return;let _0x1f4ddd=_0x1c9cd2['length'];for(;_0x1f4ddd--;){const _0x5b6c6d=_0x1c9cd2[_0x1f4ddd];this['_ignoredOperations']['has'](_0x5b6c6d)||this['_operationToId']['set'](_0x5b6c6d,_0x2f751a);}}}class a extends _0x48a9f0{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x20381d{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x3e7f1e)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x38b10c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2e14b1){super(_0x2e14b1),this['_services']=new Map();}async['init'](){const _0x54c7f5=this['context'],_0x30f94f=_0x54c7f5['plugins']['get']('CommentsRepository');if(_0x54c7f5['plugins']['get'](n)['addToReconnectionStack'](this),_0x30f94f['adapter']={'addCommentThread':async({channelId:_0x1801ce,threadId:_0x534be8,comments:_0x1e9237,resolvedAt:_0x5d5bf8,resolvedBy:_0x269b93,context:_0x15101b,attributes:_0x353a92})=>{const _0xb8dcca=await this['_getService'](_0x1801ce)['addCommentThread']({'commentThreadId':_0x534be8,'comments':_0x1e9237['map'](_0xb4bb4c=>function(_0x5194c4,_0x1c2d70,_0x56bcf4){return{'commentThreadId':_0x56bcf4,'commentId':_0x5194c4['commentId'],'userId':_0x5194c4['authorId'],'content':_0x5194c4['content'],'documentId':_0x1c2d70,'createdAt':_0x5194c4['createdAt'],'attributes':_0x5194c4['attributes']||{}};}(_0xb4bb4c,_0x1801ce,_0x534be8)),'resolvedAt':_0x5d5bf8,'resolvedBy':_0x269b93,'context':_0x15101b,'attributes':_0x353a92})['catch'](at);return{'threadId':_0xb8dcca['commentThreadId'],'comments':_0xb8dcca['comments']};},'getCommentThread':async({channelId:_0x1f208b,threadId:_0x4edb0a})=>{const _0x399043=await this['_getService'](_0x1f208b)['getCommentThread'](_0x4edb0a)['catch'](f)['catch'](at);return _0x399043?_0x399043['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x399043]),{'threadId':_0x399043['commentThreadId'],'comments':_0x399043['comments']['map'](p),'context':_0x399043['context'],'resolvedAt':_0x399043['resolvedAt'],'resolvedBy':_0x399043['resolvedBy'],'attributes':_0x399043['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x9fee96,threadId:_0x7956ec,context:_0x43288a,unlinkedAt:_0x381056,attributes:_0x4dd355})=>this['_getService'](_0x9fee96)['updateCommentThread']({'commentThreadId':_0x7956ec,'context':_0x43288a,'attributes':_0x4dd355,'unlinkedAt':_0x381056})['catch'](f)['catch'](at),'resolveCommentThread':async({channelId:_0x12e0e0,threadId:_0x32e277})=>{const _0x1e19b7=await this['_getService'](_0x12e0e0)['resolveCommentThread'](_0x32e277)['catch'](f)['catch'](at);return{'threadId':_0x1e19b7['commentThreadId'],'resolvedAt':_0x1e19b7['resolvedAt'],'resolvedBy':_0x1e19b7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2d0c7b,threadId:_0x3f8092})=>this['_getService'](_0x2d0c7b)['reopenCommentThread'](_0x3f8092)['catch'](f)['catch'](at),'removeCommentThread':({channelId:_0x483c18,threadId:_0x43b5b4})=>this['_getService'](_0x483c18)['removeCommentThread'](_0x43b5b4)['catch'](f)['catch'](at),'addComment':({channelId:_0x162584,threadId:_0x5e4357,commentId:_0xb62aa9,content:_0xe2176d,attributes:_0x1488c0})=>this['_getService'](_0x162584)['addComment'](_0x5e4357,_0xb62aa9,_0xe2176d,_0x1488c0)['catch'](at),'updateComment':({channelId:_0x5c3e3d,threadId:_0x4cb8c0,commentId:_0x239331,content:_0xdf6787,attributes:_0x22dcac})=>this['_getService'](_0x5c3e3d)['updateComment'](_0x4cb8c0,_0x239331,_0xdf6787,_0x22dcac)['catch'](f)['catch'](at),'removeComment':({channelId:_0x3fe9c7,threadId:_0x126057,commentId:_0x36d2a5})=>this['_getService'](_0x3fe9c7)['removeComment'](_0x126057,_0x36d2a5)['catch'](f)['catch'](at)},_0x54c7f5 instanceof _0x4ebab9){const _0x2a2c5b=_0x54c7f5['config']['get']('collaboration.channelId'),_0x51b53f=_0x54c7f5['plugins']['get'](i);await this['_setUpService'](_0x2a2c5b);const _0x1521fc=await this['_services']['get'](_0x2a2c5b)['getConnectedSessions']();this['listenTo'](_0x51b53f,'sessionAdd:'+_0x2a2c5b,(_0x106461,{session:_0x8b99a7})=>{_0x8b99a7['id']===_0x51b53f['mySessionId']&&(_0x106461['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x8b99a7['permissions'],_0x2a2c5b));}),_0x51b53f['register'](_0x2a2c5b,_0x1521fc);}}async['_setUpService'](_0x1c5c4a){if(this['_services']['has'](_0x1c5c4a))throw new _0x271f8a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1c5c4a});const _0x422445=this['context']['plugins']['get']('CommentsRepository'),_0x2cd1de=new s['CommentsService'](_0x1c5c4a);this['_services']['set'](_0x1c5c4a,_0x2cd1de),this['listenTo'](_0x2cd1de,'commentThreadAdded',(_0x38a3f9,_0x1ad17f)=>{const {commentThreadId:_0x10ebd2,documentId:_0xc4f46a,context:_0x5524d7,attributes:_0x3c930f,resolvedAt:_0x58ff49,resolvedBy:_0x351fd8,comments:_0x422618}=_0x1ad17f;_0x422445['getCommentThread'](_0x10ebd2)||_0x422445['addCommentThread']({'threadId':_0x10ebd2,'channelId':_0xc4f46a,'comments':_0x422618?_0x422618['map'](p):[],'context':_0x5524d7,'attributes':_0x3c930f,'resolvedAt':_0x58ff49,'resolvedBy':_0x351fd8,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentThreadUpdated',(_0x4bc09b,{commentThreadId:_0x1aa54c,documentId:_0x449feb,context:_0x226e0f,unlinkedAt:_0x529663,attributes:_0x4160cb})=>{_0x422445['getCommentThread'](_0x1aa54c)&&_0x422445['updateCommentThread']({'threadId':_0x1aa54c,'channelId':_0x449feb,'context':_0x226e0f,'unlinkedAt':_0x529663,'attributes':_0x4160cb,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentThreadResolved',(_0x44e89d,{commentThreadId:_0x256230,resolvedBy:_0xa5eb9a,resolvedAt:_0x1ce77e})=>{const _0x4a395a=_0x422445['getCommentThread'](_0x256230);_0x4a395a&&_0x4a395a['resolve']({'resolvedBy':_0xa5eb9a,'resolvedAt':_0x1ce77e,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentThreadReopened',(_0x520a9b,{commentThreadId:_0x5c6be3})=>{const _0x1fb760=_0x422445['getCommentThread'](_0x5c6be3);_0x1fb760&&_0x1fb760['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentThreadRemoved',(_0x4285cd,{commentThreadId:_0x1b22ba})=>{const _0x8c873e=_0x422445['getCommentThread'](_0x1b22ba);_0x8c873e&&_0x8c873e['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentAdded',(_0x2664cf,_0x393cfc)=>{const _0x458908=_0x393cfc['commentThreadId'],_0x4c35d4=_0x422445['getCommentThread'](_0x458908);_0x4c35d4&&_0x4c35d4['addComment']({...p(_0x393cfc),'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentUpdated',(_0x1c9894,{commentThreadId:_0xd46858,commentId:_0x106f84,content:_0xb092f9,attributes:_0x2d751c})=>{const _0x3821aa=_0x422445['getCommentThread'](_0xd46858);if(_0x3821aa){const _0x13382f=_0x3821aa['getComment'](_0x106f84);_0x13382f&&_0x13382f['update']({'content':_0xb092f9,'attributes':_0x2d751c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2cd1de,'commentRemoved',(_0x1af2e8,{commentThreadId:_0x3dbcf9,commentId:_0x4852b8})=>{const _0xd817a7=_0x422445['getCommentThread'](_0x3dbcf9);if(_0xd817a7){const _0x48ec60=_0xd817a7['getComment'](_0x4852b8);_0x48ec60&&_0x48ec60['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x1c5c4a);}['destroy'](){if(this['context']instanceof _0x4ebab9){const _0x4c673a=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4c673a);}}['_terminateService'](_0x893deb){if(!this['_services']['has'](_0x893deb))throw new _0x271f8a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x893deb});this['_getService'](_0x893deb)['disconnect'](),this['_services']['delete'](_0x893deb);}async['reconnect'](){for(const _0x47a5c7 of this['_services']['keys']())await this['_connectService'](_0x47a5c7);if(this['context']instanceof _0x4ebab9){const _0x416469=this['context']['config']['get']('collaboration.channelId'),_0x56d578=this['context']['plugins']['get'](i);_0x56d578['unregister'](_0x416469);const _0x291910=await this['_services']['get'](_0x416469)['getConnectedSessions']();_0x56d578['register'](_0x416469,_0x291910);}}async['_connectService'](_0x5bf2f6){const {connection:_0x1f7edf}=this['context']['plugins']['get'](n),_0x4c563e=this['context']['plugins']['get']('CommentsRepository'),_0x511705=this['_services']['get'](_0x5bf2f6),_0x172ec7=await _0x511705['connect'](_0x1f7edf);await this['_fetchMissingUsersForThreads'](_0x172ec7);const _0x2a7de6=new Set(Array['from'](_0x4c563e['getCommentThreads']({'channelId':_0x5bf2f6}),_0xfa9eb7=>_0xfa9eb7['id']));for(const _0x26a644 of _0x172ec7)_0x26a644['deletedAt']||_0x2a7de6['delete'](_0x26a644['commentThreadId']);for(const _0x5c5cc9 of _0x2a7de6)_0x4c563e['getCommentThread'](_0x5c5cc9)['remove']({'isFromAdapter':!0x0});for(const _0x35994f of _0x172ec7){let _0x57ca50=_0x4c563e['getCommentThread'](_0x35994f['commentThreadId']);const {commentThreadId:_0x470fd5,context:_0x2a588f,attributes:_0x247f06,resolvedBy:_0x75b790,resolvedAt:_0x1452cf,unlinkedAt:_0x18a627,deletedAt:_0xd46552}=_0x35994f;if(_0xd46552)continue;_0x57ca50||(_0x57ca50=_0x4c563e['addCommentThread']({'channelId':_0x5bf2f6,'threadId':_0x470fd5,'context':_0x2a588f,'attributes':_0x247f06||{},'resolvedBy':_0x75b790,'resolvedAt':_0x1452cf,'unlinkedAt':_0x18a627,'isFromAdapter':!0x0}));const _0xf672ce=new Set(Array['from'](_0x57ca50['comments'],_0x587acf=>_0x587acf['id']));for(const _0x16b8fc of _0x35994f['comments'])_0xf672ce['delete'](_0x16b8fc['commentId']);for(const _0x40fcc2 of _0xf672ce)_0x57ca50['getComment'](_0x40fcc2)['remove']({'isFromAdapter':!0x0});for(const _0x1954a4 of _0x35994f['comments']){const _0x9ebdf9=_0x57ca50['getComment'](_0x1954a4['commentId']);_0x9ebdf9?_0x9ebdf9['content']!==_0x1954a4['content']&&_0x9ebdf9['update']({'content':_0x1954a4['content'],'isFromAdapter':!0x0}):_0x57ca50['addComment'](Object['assign'](p(_0x1954a4),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1d37e0){if(!this['_services']['has'](_0x1d37e0))throw new _0x271f8a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1d37e0});return this['_services']['get'](_0x1d37e0);}async['_fetchMissingUsersForThreads'](_0x38dfc6){const _0x9d898=this['context']['plugins']['get'](_0x38b10c),{connection:_0x52b001}=this['context']['plugins']['get'](n),_0x4997e8=new Set();for(const {resolvedBy:_0xba392f,comments:_0x46f75f}of _0x38dfc6){_0xba392f&&!_0x9d898['getUser'](_0xba392f)&&_0x4997e8['add'](_0xba392f);for(const {userId:_0x5bfa26}of _0x46f75f)_0x9d898['getUser'](_0x5bfa26)||_0x4997e8['add'](_0x5bfa26);}if(0x0===_0x4997e8['size'])return;const _0x167893=await ct['getMany'](_0x52b001,Array['from'](_0x4997e8));for(const _0x5acc9b of _0x167893)_0x9d898['getUser'](_0x5acc9b['id'])||_0x9d898['addUser'](_0x5acc9b);}}async function f(_0x4bc467){if('404'!==_0x4bc467['code'])throw _0x4bc467;}function at(_0x582a71){if((_0x363460=_0x582a71)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x363460['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x363460['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x363460;throw _0x582a71;}function p(_0x19817d){return{'threadId':_0x19817d['commentThreadId'],'commentId':_0x19817d['commentId'],'content':_0x19817d['content'],'createdAt':_0x19817d['createdAt'],'authorId':_0x19817d['userId'],'attributes':_0x19817d['attributes']||{}};}class m extends _0x48a9f0{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(_0xc0fb2e){super(_0xc0fb2e);const _0x5c0b77=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5c0b77);}['init'](){const _0x3ae1b3=this['editor']['plugins']['get'](n),_0x39d165=this['editor']['plugins']['get']('TrackChangesEditing');return _0x39d165['adapter']={'getSuggestion':async _0x2bcb05=>{await this['_waitForServiceReady']();const _0x22473d=await this['_trackChangesService']['get'](_0x2bcb05)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x22473d]),_0x22473d;},'addSuggestion':async({id:_0x421246,type:_0xb4e7e3,data:_0x574424,originalSuggestionId:_0x5e48de,attributes:_0x14c962})=>{await this['_waitForServiceReady']();const _0x290a41={'id':_0x421246,'type':_0xb4e7e3,'data':_0x574424,'originalSuggestionId':_0x5e48de,'attributes':_0x14c962},_0x44d70f=await this['_trackChangesService']['add'](_0x421246,_0xb4e7e3,_0x574424,_0x5e48de,_0x14c962)['catch'](_0x4cab6e=>{if(ht(_0x4cab6e))return new Promise(_0x13f3cf=>{this['_bufferedRequests']['set'](_0x421246,{'resolve':_0x13f3cf,'suggestionData':_0x290a41});});throw _0x4cab6e;});return this['_bufferedRequests']['delete'](_0x421246),_0x44d70f;},'updateSuggestion':async(_0x5a87f3,_0x5ad502)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5ad502['state'])return this['_trackChangesService']['update'](_0x5a87f3,_0x5ad502)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x33dd3a,_0x26d309)=>{_0x39d165['hasSuggestion'](_0x26d309['id'])&&(_0x39d165['getSuggestion'](_0x26d309['id'])['attributes']=_0x26d309['attributes']);}),this['_trackChangesService']['connect'](_0x3ae1b3['connection'])['then'](_0x14fe43=>(_0x3ae1b3['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x14fe43)['then'](()=>{for(const _0x39278b of _0x14fe43){_0x39d165['addSuggestionData'](_0x39278b)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2f5854=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x122ccb}=this['editor']['plugins']['get'](n),_0x6a9bd7=await this['_trackChangesService']['connect'](_0x122ccb);await this['_fetchMissingUsersForThreads'](_0x6a9bd7);for(const {suggestionData:_0x5b53da,resolve:_0x212fe5}of this['_bufferedRequests']['values']()){let _0x4ea752=_0x6a9bd7['find'](_0x3df5aa=>_0x3df5aa['id']===_0x5b53da['id']);_0x4ea752||(_0x4ea752=await this['_trackChangesService']['add'](_0x5b53da['id'],_0x5b53da['type'],_0x5b53da['data'],_0x5b53da['originalSuggestionId'])),_0x212fe5(_0x4ea752);}for(const _0x235262 of _0x6a9bd7)_0x2f5854['hasSuggestion'](_0x235262['id'])||_0x2f5854['addSuggestionData'](_0x235262);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4dfb97=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1b9cfd=>{_0x1b9cfd['off'](),_0x4dfb97();});});}async['_fetchMissingUsersForThreads'](_0x3aeb8e){const _0x4c7837=this['editor']['plugins']['get'](_0x38b10c),{connection:_0x4bf6f0}=this['editor']['plugins']['get'](n),_0x5c6506=new Set();for(const {authorId:_0x3dc749}of _0x3aeb8e)_0x4c7837['getUser'](_0x3dc749)||_0x5c6506['add'](_0x3dc749);if(0x0===_0x5c6506['size'])return;const _0x5b8a30=await ct['getMany'](_0x4bf6f0,Array['from'](_0x5c6506));for(const _0x5b7b1f of _0x5b8a30)_0x4c7837['getUser'](_0x5b7b1f['id'])||_0x4c7837['addUser'](_0x5b7b1f);}}function A(_0x1ab370){if(ht(_0x1ab370))return new Promise(()=>{});throw _0x1ab370;}function ht(_0x2dbe8b){return _0x2dbe8b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dbe8b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x48a9f0{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 _0x5965f6=this['editor']['plugins']['get'](n),_0x42e06c=this['editor']['plugins']['get']('CommentsEditing'),_0x57c37b=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5965f6,'change:state',(_0x52cef9,_0x324b31,_0x2fc777)=>{_0x42e06c['isThreadsLoadingPaused']='connected'!==_0x2fc777;});}),this['listenTo'](_0x5965f6,'change:state',(_0x205b56,_0x5bfcf9,_0x47aed0)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x47aed0);}),_0x57c37b['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x48a9f0{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 _0x48a9f0{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x41030c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x38b10c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5eebec){super(_0x5eebec);const _0xf68b4b=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xf68b4b);}async['init'](){const _0x9537aa=this['editor']['plugins']['get'](l),_0x3e6643=_0x9537aa['serverHistory'],_0xb3c1f6=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3e6643,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x9537aa['sessionId']});const _0x18a4f5=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x5f5207=await _0x1f6c76['isBundleUploaded'](_0xb3c1f6['connection'],_0x18a4f5);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x31b3e7})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x31b3e7)),'updateRevisions':async _0x150f33=>{await this['_waitForServiceReady']();const _0x5b8724=this['_revisionTracker']['currentRevision'];if(_0x5f5207&&0x1===_0x150f33['length']&&_0x150f33[0x0]['id']===_0x5b8724['id'])return _0x150f33;for(const _0x67d29c of _0x150f33)_0x67d29c['id']===_0x5b8724['id']&&(_0x67d29c['isEmptyCurrent']=_0x67d29c['fromVersion']===_0x67d29c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x150f33,this['_lastRequestId'])['then'](_0x5b3425=>(this['_lastRequestId']=_0x5b3425,_0x150f33))['catch'](_0x4b0ff9=>{if(M(_0x4b0ff9)||'400'===_0x4b0ff9['code']&&void 0x0!==_0x4b0ff9['data']['wrongRequestId']){for(const _0x2b2cf0 of _0x150f33){!this['_revisionTracker']['repository']['getRevision'](_0x2b2cf0['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2b2cf0['id'],_0x2b2cf0,!0x1);}if(M(_0x4b0ff9))throw _0x4b0ff9;return _0x150f33;}throw _0x4b0ff9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3e5ca6,{revisionsData:_0x3e530b,requestId:_0x8e1634})=>{Math['max'](..._0x3e530b['map'](_0xa11164=>_0xa11164['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3e530b,_0x8e1634);}):this['_handleRevisionsUpdate'](_0x3e530b,_0x8e1634);});const {revisions:_0x29b1a3,requestId:_0x18e774}=await this['_revisionHistoryService']['connect'](_0xb3c1f6['connection']);_0xb3c1f6['addToReconnectionStack'](this),this['_lastRequestId']=_0x18e774,await this['_fetchMissingUsers'](_0x29b1a3);for(const _0x4a556b of _0x29b1a3)this['_revisionTracker']['addRevisionData'](_0x4a556b);this['listenTo'](_0x9537aa,'change:_isConnected',(_0x420a79,_0x3ab5ab,_0x316ca9)=>{_0x316ca9&&(this['_oldOffset']=_0x9537aa['_offset'],_0x420a79['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0xb3c1f6,'state',_0x117cf6=>_0x117cf6===_0x16a505['CONNECTED']);}async['reconnect'](){const _0x4c2cbe=this['editor']['plugins']['get'](n),_0x17599b=this['editor']['plugins']['get'](l),_0x542909=async()=>{const _0x1b603b=this['_revisionTracker']['currentRevision'],_0x1a1ef5=_0x1b603b['id'],_0x388cdd=_0x1a1ef5!==_0x17599b['sessionId'];if(_0x388cdd){const _0x4ede7f=_0x17599b['_offset']-this['_oldOffset'],_0x598da7=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1b603b['toVersion']+_0x4ede7f!==_0x598da7){const _0x143749=_0x1b603b['fromVersion']+_0x4ede7f,_0x34fd83=this['editor']['plugins']['get'](_0x38b10c),_0x13d8ce=this['_revisionTracker']['buildRevisionData']({'revision':_0x1b603b,'from':_0x143749,'to':_0x598da7});_0x13d8ce['id']=_0x1b603b['id'];const _0x5a4bcf=_0x13d8ce['authorsIds']['map'](_0x46d930=>_0x34fd83['getUser'](_0x46d930));_0x1b603b['_update']({..._0x13d8ce,'authors':_0x5a4bcf},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1b603b['id'],_0x13d8ce,!0x0);}this['_revisionTracker']['_startingVersion']=_0x598da7,(_0x1b603b['toVersion']===_0x1b603b['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1a1ef5)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1a1ef5),this['_revisionTracker']['_createCurrentRevision'](_0x598da7));}const {revisions:_0x39fbfa,requestId:_0x1c350d}=await this['_revisionHistoryService']['reconnect'](_0x4c2cbe['connection'],this['_lastRequestId']);_0x388cdd&&_0x39fbfa['length']>0x0?_0x17599b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x39fbfa),this['_handleRevisionsUpdate'](_0x39fbfa,_0x1c350d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x17599b['_isConnected']?_0x542909():new Promise((_0x4b7391,_0x56ba70)=>{_0x17599b['once']('change:_isConnected',()=>{_0x542909()['then'](_0x4b7391)['catch'](_0x56ba70);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x263ae7=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2b9de9=>{_0x2b9de9['off'](),_0x263ae7();});});}['_getLatestVersionFromServerOperations'](){const _0x465c15=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4d1be8 of _0x465c15)if('marker'!==_0x4d1be8['type']||_0x4d1be8['affectsData'])return _0x4d1be8['baseVersion']+0x1;}['_getLatestVersion'](){const _0x53167b=this['editor']['plugins']['get'](l);return new Promise(_0x403b3c=>{_0x53167b['_isPendingUpdate']?_0x53167b['once']('change:_isPendingUpdate',()=>{_0x403b3c(this['_getLatestVersionFromServerOperations']());}):_0x403b3c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3fdfd3,_0x3d4ba3){const _0x1f090d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3d4ba3;for(const _0x549557 of _0x3fdfd3){const _0x19aacd=_0x1f090d['getRevision'](_0x549557['id']);if(_0x19aacd){if((_0x549557['fromVersion']||_0x549557['toVersion'])&&(_0x549557['diffData']=null),_0x19aacd===this['_revisionTracker']['currentRevision']){const _0x410b68=Math['max'](_0x19aacd['toVersion'],_0x549557['toVersion']),_0x252303=Math['max'](_0x19aacd['fromVersion'],_0x549557['fromVersion']);let _0x48d1ea;_0x19aacd['toVersion']===_0x549557['toVersion']&&_0x19aacd['fromVersion']===_0x549557['fromVersion']?(_0x48d1ea=!0x0,this['_preventResendingRevisionData'](_0x549557)):_0x549557['toVersion']===_0x410b68&&_0x549557['fromVersion']===_0x252303?_0x48d1ea=!0x1:(_0x19aacd['toVersion']===_0x410b68&&_0x19aacd['fromVersion']===_0x252303||this['_fixRevision']({'revision':_0x19aacd,'from':_0x252303,'to':_0x410b68}),_0x48d1ea=!0x0),_0x48d1ea&&(delete _0x549557['fromVersion'],delete _0x549557['toVersion'],delete _0x549557['diffData'],delete _0x549557['createdAt'],delete _0x549557['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x549557),this['_preventResendingRevisionData'](_0x549557);}else this['_revisionTracker']['addRevisionData'](_0x549557);}const _0x2e41d0=_0x1f090d['getRevisions']();_0x2e41d0['reverse']();for(let _0x43de58=0x0;_0x43de58<_0x2e41d0['length']-0x1;_0x43de58++){const _0x320f20=_0x2e41d0[_0x43de58],_0x9377e7=_0x2e41d0[_0x43de58+0x1];if(_0x320f20['fromVersion']<_0x9377e7['toVersion']){const _0xf55578=_0x9377e7['toVersion'],_0x1bf700=Math['max'](_0xf55578,_0x320f20['toVersion']);this['_fixRevision']({'revision':_0x320f20,'from':_0xf55578,'to':_0x1bf700});}}}['_fixRevision']({revision:_0x118a89,from:_0x41e892,to:_0x185cba}={}){const _0x408ca4=this['editor']['plugins']['get'](_0x38b10c),_0x4b66f0=this['_revisionTracker']['buildRevisionData']({'revision':_0x118a89,'from':_0x41e892,'to':_0x185cba});_0x4b66f0['authors']=_0x4b66f0['authorsIds']['map'](_0x56ff9c=>_0x408ca4['getUser'](_0x56ff9c)),_0x118a89['_update'](_0x4b66f0);}['_preventResendingRevisionData'](_0x4350bb){const _0x1d8621={};_0x1d8621['id']=_0x4350bb['id'];for(const _0x4b98a3 of Object['keys'](_0x4350bb))'id'!==_0x4b98a3&&(_0x1d8621[_0x4b98a3]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x1d8621['id'],_0x1d8621,!0x0);}async['_fetchMissingUsers'](_0x29ca9e){const _0x1b7001=this['editor']['plugins']['get'](_0x38b10c),{connection:_0x2108b8}=this['editor']['plugins']['get'](n),_0x42753c=new Set();for(const _0x8a045b of _0x29ca9e){for(const _0x4d12df of _0x8a045b['authorsIds'])_0x2df1eb(_0x4d12df);_0x8a045b['creatorId']&&_0x2df1eb(_0x8a045b['creatorId']);}if(0x0===_0x42753c['size'])return;const _0x30b981=await ct['getMany'](_0x2108b8,Array['from'](_0x42753c));for(const _0x5a24d6 of _0x30b981)_0x1b7001['getUser'](_0x5a24d6['id'])||_0x1b7001['addUser'](_0x5a24d6);function _0x2df1eb(_0x2100f9){_0x1b7001['getUser'](_0x2100f9)||_0x42753c['add'](_0x2100f9);}}}function M(_0x5a087c){return _0x5a087c['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5a087c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5a087c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x48a9f0{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 _0x3d3dbb{['_collapseAt'];constructor(_0x3c655d,_0x3d7185=0x6){super(_0x3c655d);const _0x477ef9=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3d7185,this['bind']('isHidden')['to'](this,'usersCount',_0x3f6327=>_0x3f6327<_0x3d7185),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x477ef9['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':_0x477ef9['to']('usersCount',_0x541f1b=>'+'+(_0x541f1b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x3d3dbb{['items'];['keystrokes'];constructor(_0x92458f){super(_0x92458f);const _0x4aaa9a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x13bac5(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4aaa9a['if']('hasPopup'),'aria-expanded':_0x4aaa9a['to']('isExpanded',_0x2c7a54=>this['hasPopup']&&String(_0x2c7a54)),'aria-label':_0x4aaa9a['to']('hasPopup',_0x1f9b8c=>$(_0x92458f,_0x1f9b8c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4aaa9a['to']('hasPopup',_0x474d6d=>!!_0x474d6d&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4aaa9a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4aaa9a['to'](_0x56d04a=>{const _0xc2d74c=_0x56d04a,_0x5178e6=document['querySelector']('.ck-presence-list__dropdown-list'),_0x119024=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5178e6?.['contains'](_0xc2d74c['relatedTarget'])||_0x119024?.['contains'](_0xc2d74c['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x5ccc7e,_0x4d3c20,_0x4dc9d6)=>{this['element']&&(_0x4dc9d6?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 _0x3d3dbb{['counterView'];['inlineListView'];constructor(_0x42e002,_0x12e0c2=0x6){super(_0x42e002);const _0x5a6b40=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x12e0c2),this['inlineListView']=new is(_0x42e002),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3ebd67 of this['inlineListView']['items'])_0x3ebd67['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',_0x5a6b40['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x3d3dbb{['listWrapperView'];constructor(_0x180956,_0x5f0f80){super(_0x180956);const _0x45ae85=this['bindTemplate'];this['listWrapperView']=new ut(_0x180956,_0x5f0f80),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x180956,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x45ae85['to'](_0xb3f8c2=>{const _0x4eb5f6=_0xb3f8c2,_0x3d9740=document['querySelector']('.ck-presence-list__list'),_0x5ce57f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3d9740?.['contains'](_0x4eb5f6['relatedTarget'])||_0x5ce57f?.['contains'](_0x4eb5f6['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x3dbb32{constructor(_0x48c3cc,_0xfef3d6){super(_0x48c3cc);const _0x4646e9=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0xfef3d6?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4646e9['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4646e9['to']('role'),'aria-label':_0x4646e9['to']('ariaLabel'),'aria-labelledby':_0x4646e9['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x459bae['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x7e2cf=this['element'];_0x7e2cf&&(this['_isScrollable']=Math['max'](_0x7e2cf['scrollHeight'],_0x7e2cf['clientHeight'])>0.8*window['innerHeight']);}}class P extends et{['userView'];constructor(_0x3859c5,_0x1f85e0,_0xb2eb46){super(_0x3859c5);const _0xc7c611=this['bindTemplate'];this['userView']=new st(_0x3859c5,_0x1f85e0);const _0x3f3011={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1f85e0['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1f85e0['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1f85e0['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0xb2eb46&&(_0x3f3011['tag']='button',_0x3f3011['on']={'click':_0xc7c611['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3f3011);}['focus'](){this['element']['focus']();}}class _ extends _0x3d3dbb{['userView'];['markerView'];constructor(_0xd9bd15,_0x501aef,_0x288959){super(_0xd9bd15);const _0x1f47b3=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0xd9bd15,_0x501aef),this['markerView']=new ot(_0xd9bd15,_0x501aef);const _0x1f5649=new it(_0xd9bd15);_0x1f5649['template']['tag']='span',_0x1f5649['text']=_0x501aef['name'];const _0x580ee8={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1f47b3['to']('isFocusable',_0x39dbae=>!!_0x39dbae&&0x0),'aria-labelledby':_0x1f5649['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1f47b3['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1f47b3['to']('hasTooltip',_0x34f084=>!_0x34f084),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1f5649]};_0x288959&&(_0x580ee8['tag']='button',_0x580ee8['on']={'click':_0x1f47b3['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x580ee8);}}class ot extends _0x3d3dbb{constructor(_0x8e42a,_0x23f922){super(_0x8e42a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x23f922['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x20381d{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x29188f){super(_0x29188f),this['context']['config']['define']('presenceList',U);const _0x3d37ac=_0x29188f['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3d37ac)throw new _0x271f8a('presencelist-collapseat-invalid-format',this);if(_0x3d37ac<0x1)throw new _0x271f8a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x42ff4a(),this['balloonPanelView']=new _0x103ccd(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x8bf249 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x8bf249);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3dc6df,_0x475915)=>{this['_handleUserAdd'](_0x475915);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x16b5fc,_0x19563f)=>{this['_handleUserRemove'](_0x19563f);});}['_createView'](){const _0x347c3f=this['context'],_0x539181=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3d9f9a=this['balloonPanelView'];if(!_0x51facf(_0x347c3f['config']['get']('presenceList.container')))throw new _0x271f8a('presencelist-missing-container',this);return _0x539181['counterView']['bind']('usersCount')['to'](this),_0x539181['bind']('isCollapsed')['to'](this,'usersCount',_0x3f1742=>{const {collapseAt:_0x4d774e}=_0x347c3f['config']['get']('presenceList'),_0x57afaa=_0x3f1742>=_0x4d774e;if(_0x57afaa&&!_0x539181['inlineListView']['items']['find'](_0x2d7395=>_0x2d7395 instanceof y)){const _0xaa3cfd=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0xaa3cfd&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x539181['inlineListView']['items']['add'](_0x539181['counterView']);}return _0x57afaa||this['hideDropdown'](),_0x57afaa;}),_0x539181['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xf7526e=>{const _0x43bd14=_0x347c3f['config']['get']('presenceList'),_0xc2b6ab=new _(_0x347c3f['locale'],_0xf7526e,!!_0x43bd14['onClick']);return _0xc2b6ab['bind']('hasTooltip')['to'](_0x539181,'isCollapsed',_0x24c274=>!_0x24c274),_0xc2b6ab['bind']('isFocusable')['to'](_0x539181,'isCollapsed',_0x2bc907=>!_0x2bc907),_0x43bd14['onClick']&&this['listenTo'](_0xc2b6ab,'execute',()=>{this['view']['isCollapsed']||_0x43bd14['onClick'](_0xf7526e,_0xc2b6ab['element']);}),_0xc2b6ab;}),this['listenTo'](_0x539181['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x539181['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x539181['inlineListView']['keystrokes']['set']('Enter',(_0x546496,_0x23994a)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x23994a());}),_0x539181['render'](),_0x3d9f9a['render'](),_0x1a73ab({'emitter':_0x539181,'activator':()=>_0x3d9f9a['isVisible'],'contextElements':[_0x3d9f9a['element'],_0x539181['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x347c3f['config']['get']('presenceList.container')['appendChild'](_0x539181['element']),this['_bodyCollection']=new _0x1f72d8(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x539181;}['_handleUserAdd'](_0x1c7ba8){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1c7ba8['isMe'])return;const _0x3346ce=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3346ce-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xc130f9=_0x1c7ba8['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1c7ba8,_0xc130f9);}['_handleUserRemove'](_0x321416){this['usersCount']--;const {collapseAt:_0x31b686}=this['context']['config']['get']('presenceList'),_0x4a530c=this['usersCount']>=_0x31b686;if(this['currentDisplayedUsers']['get'](_0x321416['id']))this['currentDisplayedUsers']['remove'](_0x321416['id']);else{if(_0x4a530c&&this['currentDisplayedUsers']['length']+0x1===_0x31b686-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4a530c?0x1:0x0)<this['usersCount']){for(const _0x468820 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x468820['id'])&&(this['currentDisplayedUsers']['add'](_0x468820,Math['min'](this['currentDisplayedUsers']['length']-(_0x4a530c?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4a530c?0x1:0x0)===_0x31b686-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1ec345=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x1ec345['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1f9f32}=this['presenceDropdownView'];_0x1f9f32['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x14b614=>{if(!_0x1ec345['displayMe']&&_0x14b614['isMe'])return null;const _0x119773=new P(this['context']['locale'],_0x14b614,!!_0x1ec345['onClick']);return _0x1ec345['onClick']&&this['listenTo'](_0x119773,'execute',()=>{_0x1ec345['onClick'](_0x14b614,_0x119773['element']);}),_0x119773;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1f9f32['focus'](),_0x1f9f32['checkIfScrollable']();const _0x217231=(_0x101542,_0x442294)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x442294();};_0x1f9f32['keystrokes']['set']('Esc',_0x217231),_0x1f9f32['keystrokes']['set']('Shift+Tab',_0x217231),_0x1f9f32['keystrokes']['set']('Tab',(_0x2db3c1,_0x4de211)=>{!function(_0x37c62d){const _0x3b70c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3a7610=>_0x3a7610+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x52407a=[...document['body']['querySelectorAll'](_0x3b70c)]['filter'](_0x52b326=>_0x52b326===document['activeElement']||_0x52b326['offsetWidth']+_0x52b326['offsetHeight']>0x0)['sort']((_0x2c50ae,_0x454a90)=>(_0x2c50ae['tabIndex']||0x0)-(_0x454a90['tabIndex']||0x0)),_0x5b2233=_0x52407a['indexOf'](_0x37c62d),_0x4d38bf=_0x52407a[(_0x5b2233+0x1)%_0x52407a['length']];_0x4d38bf&&_0x4d38bf['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4de211();}),_0x1f9f32['focusTracker']['add'](this['view']['element']),_0x1f9f32['focusTracker']['on']('change:isFocused',(_0x3640fe,_0x16f41d,_0x5ce251)=>{_0x5ce251||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 ft extends _0x20381d{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,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};