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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x19f79c,Plugin as _0x4f4ec3,PendingActions as _0x3de8f1,Context as _0x39273d}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x27e3ec,CKEditorError as _0x2493d0,Collection as _0x3ddc9f,global as _0x2e0fae,version as nt,uid as _0x13399e,KeystrokeHandler as _0x11de96}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4fd7cf,View as _0x3fe695,ListView as _0x102a21,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x123570,clickOutsideHandler as _0x5e7d43,BodyCollection as _0x476504}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x3363f9,NoOperation as _0x172d8c,InsertOperation as _0xa4b6d8,MarkerOperation as _0x4de982,RootAttributeOperation as _0x5bc6a7,transformSets as _0x230d27,OperationFactory as _0x18dbd4}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x4bea31,CollaborativeEditingService as _0x21ac0b,User as dt,CommentsService as _0x1f0922,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x3a4ee8,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x319d7c}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x261598}from'es-toolkit/compat';class c extends _0x19f79c{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x4fd7cf];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ce15d){super(_0x5ce15d),this['set']('state',_0x4bea31['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x27e3ec);}['init'](){const _0x3439fc=this['context'],_0x3175c6=_0x3439fc['plugins']['get']('CloudServices'),_0x2e1fdb=_0x3439fc['plugins']['get'](_0x4fd7cf);if(!_0x3175c6['token'])throw new _0x2493d0('websocketgateway-missing-token',this);if(!_0x3175c6['webSocketUrl'])throw new _0x2493d0('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x3175c6['token'],_0x3175c6['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x17c930=>{if(this['connection']=_0x17c930,this['bind']('state')['to'](_0x17c930,'state',this,'_isBrowserOffline',(_0x572efc,_0x1e7165)=>('connected'!==_0x572efc&&(this['_shouldPluginsReconnect']=!0x0),_0x1e7165||_0x572efc!==_0x4bea31['CONNECTED']?_0x4bea31['DISCONNECTED']:this['state']==_0x4bea31['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4bea31['CONNECTING']):_0x4bea31['CONNECTED'])),this['connection']['on']('error',(_0x31e6d9,_0xd0dbee)=>{if('limitExceeded'!==_0xd0dbee['code'])throw console['error'](_0xd0dbee),new _0x2493d0('cloudservices-init',null,{'originalError':_0xd0dbee});_0x2e1fdb['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'});}),!_0x17c930['me'])return new Promise(_0x438d8b=>_0x17c930['on']('change:me',_0x438d8b));})['catch'](_0x31e42a=>{throw console['error'](_0x31e42a),new _0x2493d0('cloudservices-init',null,{'originalError':_0x31e42a});});}['addToReconnectionStack'](_0x545249){if('function'!=typeof _0x545249['reconnect'])throw new _0x2493d0('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x545249))throw new _0x2493d0('websocketgateway-plugin-already-registered',this,{'name':_0x545249['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x545249);}['removeFromReconnectionStack'](_0x3b6135){this['_reconnectionStack']['delete'](_0x3b6135);}['isInReconnectionStack'](_0x2bb44a){return this['_reconnectionStack']['has'](_0x2bb44a);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x292f58=>_0x292f58['reconnect']())))['then'](()=>this['state']=_0x4bea31['CONNECTED'])['catch'](_0x4116a5=>{throw console['error'](_0x4116a5),new _0x2493d0('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4bea31['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x19f79c{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x3a4ee8];}constructor(_0x4b27af){super(_0x4b27af),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3ddc9f(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3a4ee8);}['init'](){const _0x1337df=this['context']['plugins']['get'](c);this['listenTo'](_0x1337df,'change:state',(_0x5f23f7,_0x4d99ae,_0x1ca3e1)=>{if('connected'!==_0x1ca3e1)this['channelSessions']['forEach'](_0x25bd4b=>_0x25bd4b['clear']()),this['channelConnectedUsers']['forEach'](_0x117e81=>_0x117e81['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4fb267,_0x1ad930]of this['_registeredSessions'])for(const _0x5d40c7 of _0x1ad930)this['_handleSessionAdd'](_0x4fb267,_0x5d40c7);}}),this['_createUser'](_0x1337df['connection']['me'],!0x0);}['register'](_0x513391,_0x2dbbd2){if(this['_registeredSessions']['has'](_0x513391))throw new _0x2493d0('sessions-register-already-registered',null,{'channelId':_0x513391});this['_registeredSessions']['set'](_0x513391,_0x2dbbd2),this['channelSessions']['set'](_0x513391,new _0x3ddc9f()),this['channelConnectedUsers']['set'](_0x513391,new _0x3ddc9f()),this['listenTo'](_0x2dbbd2,'add',(_0x5afaef,_0x2440c1)=>this['_handleSessionAdd'](_0x513391,_0x2440c1)),this['listenTo'](_0x2dbbd2,'remove',(_0x404e19,_0x50b3b2)=>this['_handleSessionRemove'](_0x513391,_0x50b3b2));for(const _0x590253 of _0x2dbbd2)this['_handleSessionAdd'](_0x513391,_0x590253);}['unregister'](_0x8e53c8){if(!this['_registeredSessions']['has'](_0x8e53c8))throw new _0x2493d0('sessions-unregister-not-exist',null,{'channelId':_0x8e53c8});const _0x147856=this['_registeredSessions']['get'](_0x8e53c8);this['stopListening'](_0x147856);for(const _0x598dd0 of _0x147856)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x8e53c8,_0x598dd0);this['_registeredSessions']['delete'](_0x8e53c8),this['channelSessions']['delete'](_0x8e53c8),this['channelConnectedUsers']['delete'](_0x8e53c8);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x4b45be){for(const _0x28bcf3 of this['channelSessions']['values']())for(const _0x7ecd19 of _0x28bcf3)if(_0x7ecd19['id']===_0x4b45be)return _0x7ecd19['user'];}['getUserSessions'](_0x5248e5,_0x89ab88){const _0x5b7c98=_0x89ab88?[this['channelSessions']['get'](_0x89ab88)]:this['channelSessions']['values'](),_0xcd4169=new Set();for(const _0x442787 of _0x5b7c98)for(const _0x6217b6 of _0x442787)_0x6217b6['user']['id']===_0x5248e5['id']&&_0xcd4169['add'](_0x6217b6['id']);return _0xcd4169;}['getUserRole'](_0x1c8f26){for(const _0x47ef3f of this['channelSessions']['values']())for(const _0x550f4f of _0x47ef3f)if(_0x550f4f['user']===_0x1c8f26)return _0x550f4f['role'];}['_handleSessionAdd'](_0x5930ee,_0x1e4913){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x232721=_0x1e4913['user'],_0x6c4049=this['_users']['getUser'](_0x232721['id'])||this['_createUser'](_0x232721),_0x351a63=Object['assign']({},_0x1e4913,{'user':_0x6c4049});this['channelSessions']['get'](_0x5930ee)['add'](_0x351a63);const _0x16b62c=this['channelConnectedUsers']['get'](_0x5930ee);_0x16b62c['has'](_0x6c4049['id'])||_0x16b62c['add'](_0x6c4049),this['allConnectedUsers']['has'](_0x6c4049['id'])||this['allConnectedUsers']['add'](_0x6c4049,_0x6c4049['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x5930ee,{'channelId':_0x5930ee,'session':_0x351a63});}['_handleSessionRemove'](_0x2c2cc0,_0x2fd4f8){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x395904=this['channelConnectedUsers']['get'](_0x2c2cc0),_0x4bf368=_0x2fd4f8['user'];_0x4bf368['id']&&(this['channelSessions']['get'](_0x2c2cc0)['remove'](_0x2fd4f8['id']),_0x395904['has'](_0x4bf368['id'])&&!this['getUserSessions'](_0x4bf368,_0x2c2cc0)['size']&&_0x395904['remove'](_0x4bf368['id']),this['allConnectedUsers']['get'](_0x4bf368['id'])&&!this['getUserSessions'](_0x4bf368)['size']&&this['allConnectedUsers']['remove'](_0x4bf368['id']));}['_createUser'](_0x35a33b,_0x5f3ae8){const _0x41d458=this['_users']['addUser'](_0x35a33b);return _0x5f3ae8&&this['_users']['defineMe'](_0x35a33b['id']),_0x41d458['orderNumber']=this['_uniqueUsersCount']++,_0x41d458;}}class q extends _0x4f4ec3{['_domEmitter']=new(_0x27e3ec())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4137f3=this['editor'],_0x2b16ce=_0x4137f3['plugins']['get'](i);_0x4137f3['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x540e76,{writer:_0x212140})=>function(_0x3e1ffe,_0x6e25c4,_0x36d6e7,_0x105c7a){const _0x103d11=_0x3e1ffe['markerName']['split'](':')[0x2],_0x3968a6=_0x36d6e7['getUserBySessionId'](_0x103d11);if(!_0x3968a6||_0x103d11===_0x36d6e7['mySessionId'])return;if(!_0x105c7a['model']['schema']['checkChild'](_0x3e1ffe['markerRange']['start'],'$text'))return;const _0x3ff9ab={'class':'ck-user__marker\x20'+_0x3968a6['color']['getMarkerClass'](),'data-name':_0x3968a6['name'],'data-session-id':_0x103d11},_0x442c53=_0x105c7a['model']['markers']['get'](_0x3e1ffe['markerName']),_0x32ee1a=_0x442c53['getStart'](),_0x5138f8=_0x32ee1a['nodeAfter'],_0x5dad4e=_0x105c7a['model']['schema'];if(_0x5138f8&&_0x5dad4e['isObject'](_0x5138f8)&&_0x5dad4e['isInline'](_0x5138f8)&&!_0x105c7a['model']['markers']['get']('user:range:'+_0x103d11)['getRange']()['isCollapsed'])return;const _0x46977c=_0x32ee1a['parent'];return _0x105c7a['model']['schema']['isLimit'](_0x46977c)&&!_0x105c7a['model']['hasContent'](_0x46977c)&&(_0x3ff9ab['contenteditable']=!0x1),function(_0x219333,_0x56c631,_0x134494){const _0x3e709b=_0x219333['createUIElement']('span',_0x56c631);return _0x219333['setCustomProperty']('userPositionMarker',!0x0,_0x3e709b),_0x3e709b['render']=function(_0x38ab7c){const _0xab959=this['toDomElement'](_0x38ab7c),_0x3d2a9a=document['createElement']('span');return _0x3d2a9a['classList']['add']('ck-user__marker-tooltip'),_0x3d2a9a['setAttribute']('contenteditable','false'),_0x3d2a9a['setAttribute']('spellcheck','false'),_0x3d2a9a['textContent']=_0x134494['name'],_0xab959['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3d2a9a['outerHTML']+'⁠',_0xab959['addEventListener']('mouseenter',()=>{_0xab959['classList']['add']('ck-user__marker_hovered');}),_0xab959['addEventListener']('mouseleave',()=>{_0xab959['classList']['remove']('ck-user__marker_hovered');}),_0xab959;},_0x3e709b['isSimilar']=function(_0x39076c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x39076c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x39076c['getAttribute']('data-session-id'));},_0x3e709b;}(_0x6e25c4,_0x3ff9ab,_0x3968a6);}(_0x540e76,_0x212140,_0x2b16ce,_0x4137f3)}),_0x4137f3['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x40cb29=>function(_0x2d3047,_0x40f846){const _0x47a3c5=_0x2d3047['markerName']['split'](':')[0x2];if(_0x47a3c5===_0x40f846['mySessionId'])return null;const _0x517881=_0x40f846['getUserBySessionId'](_0x47a3c5);if(!_0x517881)return{'id':_0x47a3c5,'classes':[]};return{'id':_0x47a3c5,'classes':['ck-user__selection',_0x517881['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x47a3c5},'priority':0x7d0+_0x517881['orderNumber']};}(_0x40cb29,_0x2b16ce)}),function(_0x2aac80){const _0x15a9c1=_0x2aac80['model'],_0x457667=new Map(),_0x16a886=_0x2aac80['plugins']['get'](i);_0x15a9c1['markers']['on']('update:user:range',(_0x3697cf,_0x3fa29e,_0x3ceca1,_0x3130f2)=>{if(!_0x3130f2&&_0x457667['get'](_0x3fa29e['name']))return _0x457667['get'](_0x3fa29e['name'])['detach'](),void _0x457667['delete'](_0x3fa29e['name']);const _0x393fd3=_0x3fa29e['name']['split'](':')[0x2];if(_0x393fd3===_0x16a886['mySessionId'])return;const _0x296c56='user:position:'+_0x393fd3;_0x15a9c1['markers']['has'](_0x296c56)&&_0x2aac80['editing']['reconvertMarker'](_0x296c56),_0x3fa29e['on']('change:range',(_0xad397e,_0x401cb7,_0x281a9f)=>{if('$graveyard'!=_0x401cb7['root']['rootName']&&'$graveyard'==_0x3fa29e['getRange']()['root']['rootName']&&!_0x457667['has'](_0x3fa29e['name'])){const _0x495bf9=_0x15a9c1['schema']['getNearestSelectionRange'](_0x281a9f['deletionPosition']);if(_0x495bf9){const _0x33c442=ht['fromRange'](_0x495bf9);_0x457667['set'](_0x3fa29e['name'],_0x33c442),_0x33c442['on']('change:range',(_0x1ad0b7,_0x3e1ced,_0x4d0ca5)=>{if('$graveyard'==_0x33c442['root']['rootName']){const _0x2c7dd2=_0x15a9c1['schema']['getNearestSelectionRange'](_0x4d0ca5['deletionPosition']);_0x2c7dd2?(_0x33c442['start']=_0x2c7dd2['start'],_0x33c442['end']=_0x2c7dd2['end']):(_0x457667['delete'](_0x3fa29e['name']),_0x33c442['detach']());}});}}});}),_0x15a9c1['document']['on']('change',()=>{_0x457667['size']>0x0&&_0x15a9c1['enqueueChange']({'isUndoable':!0x1},_0x517629=>{for(const [_0x593b4b,_0x16b590]of _0x457667)'$graveyard'==_0x15a9c1['markers']['get'](_0x593b4b)['getRange']()['root']['rootName']&&(te(_0x593b4b['split'](':')[0x2],_0x16b590['toRange'](),_0x15a9c1,_0x517629),_0x16b590['detach']());_0x457667['clear']();});});}(_0x4137f3),this['_domEmitter']['listenTo'](_0x2e0fae['document'],'keydown',(_0x4ac7ff,{key:_0x1bb66c})=>{'Escape'===_0x1bb66c&&function(_0x3f1db1){_0x3f1db1['editing']['view']['change'](_0x5735be=>{for(const _0x53f49f of _0x3f1db1['model']['markers']){if(!_0x53f49f['name']['startsWith']('user:position'))continue;const _0x3581ba=_0x3f1db1['editing']['mapper']['markerNameToElements'](_0x53f49f['name']);if(_0x3581ba){for(const _0x2ea941 of _0x3581ba)_0x5735be['removeClass']('ck-user__marker_hovered',_0x2ea941);}}});}(_0x4137f3);},{'useCapture':!0x0});}['afterInit'](){const _0x1d7985=this['editor'],_0x5777c5=_0x1d7985['commands']['get']('undo');_0x5777c5&&_0x1d7985['model']['on']('applyOperation',(_0x458304,_0x47edbb)=>{const _0x3a7fc3=_0x47edbb[0x0];if(!_0x3a7fc3['isDocumentOperation'])return;if('marker'!=_0x3a7fc3['type']||!_0x3a7fc3['name']['startsWith']('user:'))return;const _0x49fbb9=_0x3a7fc3['batch'];_0x5777c5['_createdBatches']['has'](_0x49fbb9)&&(_0x3a7fc3['newRange']=_0x3a7fc3['oldRange']?_0x1d7985['model']['createRange'](_0x3a7fc3['oldRange']['start'],_0x3a7fc3['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x33208d=this['editor'],_0x2db56d=_0x33208d['model']['document'],_0xd9cdd=_0x33208d['plugins']['get'](i);_0x33208d['model']['enqueueChange']({'isUndoable':!0x1},_0x1ea791=>{const _0x1e913e='user:range:'+_0xd9cdd['mySessionId'],_0x431462='user:position:'+_0xd9cdd['mySessionId'],_0x117813=_0x33208d['model']['markers']['has'](_0x1e913e);_0x33208d['editing']['view']['hasDomSelection']?te(_0xd9cdd['mySessionId'],_0x2db56d['selection']['getFirstRange'](),_0x33208d['model'],_0x1ea791):_0x117813&&(_0x1ea791['removeMarker'](_0x1e913e),_0x1ea791['removeMarker'](_0x431462));});}}function te(_0xc92973,_0x3d8cea,_0x5010dd,_0x502ceb){const _0x580da4='user:range:'+_0xc92973,_0x4aa6f5='user:position:'+_0xc92973,_0x4cbbd9=_0x3d8cea['getContainedElement']();let _0x6bf933=_0x3d8cea['start'];if(_0x4cbbd9&&_0x4cbbd9['is']('element','tableCell')){const _0x44f4b1=function(_0xf659b,_0x35c22b){for(const _0x2a86b6 of _0xf659b['getPositions']())if(_0x35c22b['schema']['checkChild'](_0x2a86b6,'$text'))return _0x2a86b6;}(_0x3d8cea,_0x5010dd);_0x44f4b1&&(_0x6bf933=_0x44f4b1,_0x3d8cea=_0x502ceb['createRange'](_0x6bf933));}const _0x3302fb=_0x502ceb['createRange'](_0x6bf933);_0x5010dd['markers']['has'](_0x580da4)?(_0x502ceb['updateMarker'](_0x580da4,{'range':_0x3d8cea}),_0x502ceb['updateMarker'](_0x4aa6f5,{'range':_0x3302fb})):(_0x502ceb['addMarker'](_0x580da4,{'range':_0x3d8cea,'usingOperation':!0x0}),_0x502ceb['addMarker'](_0x4aa6f5,{'range':_0x3302fb,'usingOperation':!0x0}));}function G(_0x14d581,_0x349d69,_0x5dba66){const _0x57627a=_0x14d581['t'],t=_0x14d581['t'];switch(_0x349d69){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 _0x57627a({'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'},_0x5dba66);default:return'';}}let J=0x1;class l extends _0x4f4ec3{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x21ac0b)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x3de8f1,_0x3a4ee8,_0x4fd7cf];}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 _0x199874=this['serverHistory']['getOperations']();for(let _0x555086=_0x199874['length']-0x1;_0x555086>=0x0;_0x555086--){const _0x38a0ff=_0x199874[_0x555086];if(!this['_disconnectionOperations']['has'](_0x38a0ff))return _0x38a0ff['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x17db78){if(super(_0x17db78),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3363f9(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2493d0('collaboration-missing-channelid',this);const _0x3180a3=_0x17db78['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3180a3,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x319d7c(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new Y(this['_disconnectionOperations']);}['init'](){const _0x1e958e=this['editor'],_0x37fefe=_0x1e958e['plugins']['get'](_0x3a4ee8),_0x22477a=_0x1e958e['plugins']['get'](c);this['listenTo'](_0x37fefe,'getOperationAuthor',(_0x2d05cb,_0x169742)=>{const _0x6cd868=_0x169742[0x0];_0x6cd868['_authorId']&&(_0x2d05cb['return']=_0x37fefe['getUser'](_0x6cd868['_authorId']),_0x2d05cb['stop']()),null===_0x6cd868['_authorId']&&(_0x2d05cb['return']=null,_0x2d05cb['stop']());},{'priority':'high'}),this['listenTo'](_0x1e958e['model']['document']['selection'],'change:range',(_0x5dc9cf,_0x2e5b0f)=>{_0x2e5b0f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1e958e['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1e958e['model']['on']('applyOperation',(_0x49cfec,_0x4f08a8)=>{const _0xc7baaa=_0x4f08a8[0x0];_0xc7baaa['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xc7baaa),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x22477a,'state',this,'_hasSynchronizationProblem',(_0x17a5d6,_0x4db316)=>'connected'===_0x17a5d6&&!_0x4db316),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1e958e['disableReadOnlyMode']('rtc-offline'):_0x1e958e['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1e958e['disableReadOnlyMode']('rtc-offline'):_0x1e958e['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4f35ab=this['editor']['plugins']['get'](i),_0x1b1d25=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x4f35ab['unregister'](this['_channelId']);const _0x71e9c5=await this['_service']['reconnect'](_0x1b1d25['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x71e9c5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1cc250=await this['_service']['getConnectedSessions']();_0x4f35ab['register'](this['_channelId'],_0x1cc250),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4c7f21){if(function(_0x6b4228){return'404'===_0x6b4228['code'];}(_0x4c7f21)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1a1ff1){return'409'===_0x1a1ff1['code'];}(_0x4c7f21)){const _0x32044f=G(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x32044f);}else{if(!(_0x4c7f21 instanceof Q))throw _0x4c7f21;this['_handleReconnectionError']();}}}}['destroy'](){const _0x576c76=this['editor']['plugins']['get'](c),_0x4d78ad=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4d78ad['channelSessions']['has'](this['_channelId'])&&_0x4d78ad['unregister'](this['_channelId']),_0x576c76['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2e667c){if(this['sessionId']!==_0x2e667c['sessionId']&&this['_lastSyncedOperationId']!==_0x2e667c['lastOperationId'])throw new Q();return this['sessionId']=_0x2e667c['sessionId'],this['_handleServerResponse']([],{..._0x2e667c,'wereChangesApplied':!0x1,'data':_0x2e667c['data']},'reconnect');}async['_connectService'](_0x598763,_0x370789=!0x1){const {connection:_0x4eee55}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x4eee55,this['_channelId'])['then'](_0x1fa384=>this['_initSessionsHandling'](_0x1fa384))['catch'](_0x9260b2=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x9260b2);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4e756a,_0xc384da)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xc384da);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x17069a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x598763);this['_isPendingUpdate']=!0x0;const _0x4a9158=await this['_service']['connect'](_0x4eee55,this['_compressOperations'](_0x598763),_0x17069a);if(this['sessionId']=_0x4a9158['sessionId'],_0x370789){if(!_0x4a9158['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4a9158['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x598763,_0x4a9158,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4a9158,_0x598763);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x25f0ee=this['editor']['plugins']['get'](i),_0x227852=this['editor']['plugins']['get'](q),_0x3072ca=_0x25f0ee['channelSessions']['get'](this['_channelId']);_0x3072ca&&_0x3072ca['length']>0x1?_0x227852['createUserMarkerOperations']():this['listenTo'](_0x25f0ee,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x25f0ee['channelSessions']['get'](this['_channelId'])['length']&&_0x227852['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x527e76,_0x162fea,_0x3b41fe,_0x4869b9){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x162fea){const _0x2928a2=this['_decompressOperations'](_0x3b41fe,_0x4869b9);await this['_fetchMissingUsers'](_0x2928a2),this['_handleExternalOperations'](_0x2928a2,_0x162fea,_0x3b41fe['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x47aa00}=this['editor'];let _0x4a16ba;try{_0x4a16ba=await this['_service']['getDocumentDetails']();}catch{const _0x13e425=G(_0x47aa00,'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'](_0x13e425);}const _0x401730=_0x4a16ba['currentDocumentSession']||_0x4a16ba['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x401730['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x1e7cb1=G(_0x47aa00,'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.');this['_handleReconnectionError'](_0x1e7cb1);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x16658a){const _0xe63da=this['editor']['plugins']['get'](i);this['listenTo'](_0xe63da,'sessionAdd:'+this['_channelId'],(_0x29ae32,{session:_0x47cb46})=>{if(_0x47cb46['id']===_0xe63da['mySessionId']){_0x29ae32['off']();const _0x28aee8=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x42652e=_0x47cb46['permissions'];_0x28aee8&&_0x28aee8['isEnabled']&&(_0x42652e=_0x42652e['filter'](_0x1d8a45=>'document:write'!==_0x1d8a45)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x42652e,this['_channelId']);}}),_0xe63da['register'](this['_channelId'],_0x16658a);}['_initThrowingOnDataSet'](){const _0x48c79d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x6dc40f)=>{if(!_0x6dc40f[_0x6dc40f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2493d0('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x48c79d['apply'](this['editor']['data'],_0x6dc40f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x477ac5,[_0x5b9d36])=>{if(this['_document']['version'])throw new _0x2493d0('realtimecollaborationclient-init-document-already-initialized',this);_0x477ac5['stop'](),this['_setPendingAction']();const _0x167283=this['editor']['config']['get']('rootsAttributes'),_0x209d7b=this['_getOperationsFromInitData'](_0x5b9d36,_0x167283);0x0==_0x209d7b['length']&&_0x209d7b['push'](new _0x172d8c(0x0)),_0x477ac5['return']=this['_connectService'](_0x209d7b)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2d95fc=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2d95fc))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2e25d2,[_0x52ac65,_0x35f995])=>{_0x2e25d2['stop']();const _0x373be5=this['editor']['model']['document']['getRoot'](_0x52ac65);if(!this['_knownRootNames']['has'](_0x52ac65)){const _0x287197=_0x35f995&&_0x35f995['data']?_0x35f995['data']:'',_0xd39fdc=_0x35f995&&_0x35f995['attributes']?_0x35f995['attributes']:{};await this['_loadRoot'](_0x52ac65,_0x287197,_0xd39fdc);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x373be5['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x373be5);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x29e252){const _0x282ff8=this['editor']['plugins']['get'](_0x3a4ee8),{connection:_0x54f281}=this['editor']['plugins']['get'](c),_0x18e904=new Set();for(const _0x1e7f18 of _0x29e252){const _0x800bc5=_0x1e7f18['_authorId'];_0x800bc5&&!_0x282ff8['getUser'](_0x800bc5)&&_0x18e904['add'](_0x800bc5);}if(0x0===_0x18e904['size'])return;const _0x54bf53=await dt['getMany'](_0x54f281,Array['from'](_0x18e904));for(const _0xa71867 of _0x54bf53)_0x282ff8['getUser'](_0xa71867['id'])||_0x282ff8['addUser'](_0xa71867);}['_getOperationsFromInitData'](_0x2c263b,_0x54fd5a={}){const _0x3124da=this['editor']['model'],_0x4b28ba=[];let _0x38f6c5=0x0;const _0x48921b='string'==typeof _0x2c263b?{'main':_0x2c263b}:_0x2c263b;for(const _0x54173d of Object['keys'](_0x48921b)){if(!this['_document']['roots']['has'](_0x54173d))throw new _0x2493d0('realtimecollaborationclient-init-non-existent-root',this);const _0x39ca5b=this['editor']['data']['parse'](_0x48921b[_0x54173d]),_0x345c14=this['_document']['getRoot'](_0x54173d),_0x5f3292=new _0xa4b6d8(_0x3124da['createPositionAt'](_0x345c14,0x0),_0x39ca5b,_0x38f6c5++);_0x4b28ba['push'](_0x5f3292);for(const [_0x20ce2c,_0x51d670]of _0x39ca5b['markers']){const _0x5008ca=_0x3124da['createRange'](_0x3124da['createPositionFromPath'](_0x345c14,_0x51d670['start']['path']['slice']()),_0x3124da['createPositionFromPath'](_0x345c14,_0x51d670['end']['path']['slice']())),_0x4725e5=new _0x4de982(_0x20ce2c,null,_0x5008ca,_0x3124da['markers'],!0x0,_0x38f6c5++);_0x4b28ba['push'](_0x4725e5);}}if(_0x54fd5a)for(const [_0xa9e521,_0x152642]of Object['entries'](_0x54fd5a)){const _0x3da9cb=_0x3124da['document']['getRoot'](_0xa9e521);if(!_0x3da9cb)throw new _0x2493d0('multi-root-editor-root-attributes-no-root',null);for(const [_0x16d520,_0xa36270]of Object['entries'](_0x152642))if(null!==_0xa36270){const _0x206d90=new _0x5bc6a7(_0x3da9cb,_0x16d520,null,_0xa36270,_0x38f6c5++);_0x4b28ba['push'](_0x206d90);}}return _0x4b28ba;}async['_loadRoot'](_0x216663,_0x18b245,_0x44ff11){this['_getOperationsFromInitData']({[_0x216663]:_0x18b245},{[_0x216663]:_0x44ff11})['forEach']((_0x508614,_0x1b21d1)=>{_0x508614['baseVersion']=this['_document']['version']+_0x1b21d1,_0x508614['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x508614);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4e080e,_0x36b5ed){let _0x17b200;this['_offset']=_0x4e080e['offset'];const _0x582dae=_0x4e080e['wereChangesApplied']&&!_0x4e080e['initData'],_0x38369f=_0x582dae?0x0:_0x4e080e['data']['baseVersion'];if(_0x36b5ed['forEach'](_0x36dc47=>{_0x36dc47['_isInit']=!0x0,_0x36dc47['createdAt']=_0x4e080e['sessionCreatedAt'],_0x36dc47['_authorId']=null;}),_0x582dae)_0x17b200=_0x36b5ed,this['_applyOperationsSet'](_0x17b200,_0x582dae);else{if(_0x4e080e['initData']){const _0x2922d8=this['_getOperationsFromInitData'](_0x4e080e['initData']);this['_document']['history']['version']=-_0x2922d8['length'],_0x2922d8['forEach'](_0x338438=>{_0x338438['baseVersion']-=_0x2922d8['length'],_0x338438['createdAt']=_0x4e080e['sessionCreatedAt'],_0x338438['_isInit']=!0x0,_0x338438['_authorId']=null;}),this['_applyOperationsSet'](_0x2922d8,!0x0),this['serverHistory']['version']=-_0x2922d8['length']+this['_offset'],this['_updateServerHistory'](_0x2922d8);}this['_document']['history']['version']=_0x38369f,_0x17b200=this['_decompressOperations'](_0x4e080e['data'],_0x4e080e['metadata']),await this['_fetchMissingUsers'](_0x17b200),this['_applyOperationsSet'](_0x17b200,_0x582dae);}_0x4e080e['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x17b200,_0x4e080e['lastOperationId']),this['_lastSyncedOperationId']=_0x4e080e['lastOperationId']),this['serverHistory']['version']=_0x38369f+this['_offset'],this['_updateServerHistory'](_0x17b200),_0x36b5ed['filter'](_0xf0a3ff=>{const _0x1b353d=this['_getAffectedRoot'](_0xf0a3ff);return _0x1b353d&&!this['_knownRootNames']['has'](_0x1b353d);})['forEach']((_0x20628d,_0x50fc0b)=>{_0x20628d['baseVersion']=this['_document']['version']+_0x50fc0b,this['_saveOperationInBuffer'](_0x20628d);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x433967,_0x30ff10){const _0xc6be1d=_0x30ff10&&_0x30ff10['message'];if(_0xc6be1d&&_0xc6be1d['startsWith']('realtimecollaborationclient'))throw _0x30ff10;const _0x26b32f=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x26b32f['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2493d0(_0x433967,this['editor'],_0xc6be1d?{'originalError':_0xc6be1d}:void 0x0);}['_saveOperationInBuffer'](_0x44d592){this['_knownOperations']['has'](_0x44d592)||(this['_knownOperations']['add'](_0x44d592),this['_bufferedOperations']['push'](_0x44d592),this['_pendingAction']||'marker'==_0x44d592['type']&&!_0x44d592['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x507d52=!0x1){!_0x507d52&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3571f2=>{_0x3571f2&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3f55e4=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5552c5){return _0x5552c5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5552c5['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5552c5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3f55e4)||this['_crash'](_0x3f55e4['message'],_0x3f55e4);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x135ef9=>{this['on']('change:_isPendingUpdate',()=>{_0x135ef9();});});}async['_sendBufferedOperations'](){const _0x347614=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0x347614['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xcf8c8a=[...this['_bufferedOperations']];for(const _0x517d08 of _0xcf8c8a)_0x517d08['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x517d08);const _0x3efa02=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcf8c8a),_0x4a2b47=J++,_0xceb8a0=this['_compressOperations'](_0xcf8c8a),_0x1c7c5b=await this['_service']['sendOperations'](_0xceb8a0,_0xceb8a0['baseVersion'],_0x3efa02);try{return await this['_handleServerResponse'](_0xcf8c8a,_0x1c7c5b,_0x4a2b47);}catch(_0x461806){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x461806);}}async['_handleServerResponse'](_0x1f377c,_0x53795e,_0x3a10b6){if('error'in _0x53795e)throw _0x53795e['error'];let _0x2c3549=!0x1;if(_0x53795e['wereChangesApplied']){_0x53795e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x53795e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x518cfa=>!_0x1f377c['includes'](_0x518cfa));for(const _0x17b22e of _0x1f377c)_0x17b22e['createdAt']='lastOperationAcceptedAt'in _0x53795e&&_0x53795e['lastOperationAcceptedAt']||void 0x0;X(_0x1f377c,_0x53795e['version']-_0x1f377c['length']),this['_updateServerHistory'](_0x1f377c);const _0x53e5f1=_0x1f377c['filter'](_0x37bec4=>{if(!_0x37bec4['_isInit'])return!0x1;const _0xf72b17=this['_getAffectedRoot'](_0x37bec4);return _0xf72b17&&!this['_knownRootNames']['has'](_0xf72b17);});X(_0x53e5f1,this['_document']['version']),this['_applyOperationsSet'](_0x53e5f1),_0x2c3549=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1b0425=this['_decompressOperations'](_0x53795e['data'],_0x53795e['metadata'])['filter'](_0x42b8d3=>_0x42b8d3['baseVersion']>=this['_lastServerVersion']);_0x1b0425['forEach'](_0x591323=>this['_addKnownRoot'](_0x591323)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x131b36=>!_0x131b36['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x131b36))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1b0425),_0x2c3549=this['_handleExternalOperations'](_0x1b0425,_0x53795e['version'],_0x53795e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2c3549?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x219672,_0x106868,_0x56e62f){try{const _0x1a24bd={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x235270,operationsB:_0x1c9c8b,originalOperations:_0x54e320}=_0x230d27(_0x219672,this['_bufferedOperations'],_0x1a24bd);X(_0x235270,this['_document']['version']),X(_0x1c9c8b,_0x106868);for(const _0x51c01e of _0x235270){const _0x23b25c=_0x54e320['get'](_0x51c01e);_0x51c01e['_authorId']=_0x23b25c?_0x23b25c['_authorId']:null;}_0x56e62f&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x219672,_0x56e62f),this['_lastSyncedOperationId']=_0x56e62f),this['_bufferedOperations']=[..._0x1c9c8b],this['_applyOperationsSet'](_0x235270),this['_updateServerHistory'](_0x219672);}catch(_0x3ad35c){return console['error'](_0x3ad35c),!0x1;}return!0x0;}['_applyOperationsSet'](_0x9bd15e,_0x1c773c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3caa23=>{for(const _0x121928 of _0x9bd15e)this['_knownOperations']['add'](_0x121928),this['_addKnownRoot'](_0x121928),_0x3caa23['batch']['addOperation'](_0x121928),this['editor']['model']['applyOperation'](_0x121928);});}['_addKnownRoot'](_0x5d897c){const _0x16c5b4=this['_getAffectedRoot'](_0x5d897c);_0x16c5b4&&this['_knownRootNames']['add'](_0x16c5b4);}['_getAffectedRoot'](_0x43449c){let _0x13a18c,_0x55d051;switch(_0x43449c['type']){case'insert':_0x13a18c=_0x43449c['position']['root'];break;case'marker':if(_0x55d051=_0x43449c['newRange'],!_0x55d051)return null;_0x13a18c=_0x55d051['root'];break;case'addRootAttribute':_0x13a18c=_0x43449c['root'];break;case'addRoot':_0x13a18c=_0x43449c['affectedSelectable'];break;case'move':_0x13a18c=_0x43449c['targetPosition']['root'];break;default:return null;}return _0x13a18c['rootName'];}['_updateServerHistory'](_0x10d6fd){_0x10d6fd['forEach'](_0x30c340=>{const _0x1462ff=_0x30c340['clone']();_0x1462ff['_authorId']=_0x30c340['_authorId'],_0x1462ff['_isInit']=!!_0x30c340['_isInit'],_0x1462ff['createdAt']=_0x30c340['createdAt'],_0x1462ff['baseVersion']+=this['_offset'],_0x30c340['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1462ff),this['serverHistory']['addOperation'](_0x1462ff);});}['_handleReconnectionError'](_0x2ed0d7){const _0xe23c94=this['editor']['plugins']['get']('Notification'),_0xfbbaa=this['editor']['locale'];_0x2ed0d7||(_0x2ed0d7=G(_0xfbbaa,'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.')),_0xe23c94['showWarning'](_0x2ed0d7,{'title':G(_0xfbbaa,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3de8f1)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3de8f1)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5df48b){const _0x791aad=_0x5df48b['map'](_0x1e38ef=>_0x1e38ef['toJSON']());return this['_compressor']['compress'](_0x791aad);}['_decompressOperations'](_0xb8192b,_0x12bf31){return this['_compressor']['decompress'](_0xb8192b)['map']((_0x410ae0,_0x558529)=>{const _0x5c61de='init'==_0x12bf31[_0x558529]['type'];if('InsertOperation'==_0x410ae0['__className']){const _0x483150=_0x410ae0['position']['root'];!this['_document']['getRoot'](_0x483150)&&(this['_document']['createRoot']('$root',_0x483150)['_isAttached']=!0x1);}const _0x559355=_0x18dbd4['fromJSON'](_0x410ae0,this['_document']);return _0x559355['wasUndone']=_0x410ae0['wasUndone'],_0x559355['_isInit']=_0x5c61de,_0x559355['_authorId']=_0x5c61de?null:_0x12bf31[_0x558529]['userId'],_0x559355['_isDisconnection']='cs:removeUser'===_0x12bf31[_0x558529]['type'],_0x559355['createdAt']=_0x12bf31[_0x558529]['createdAt'],_0x559355;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x346af4=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x346af4&&_0x346af4['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x2f8ff2,_0x57e258){for(const _0x1a945e of _0x2f8ff2)_0x1a945e['baseVersion']=_0x57e258++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x1573c6){this['_ignoredOperations']=_0x1573c6,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5bd432){let _0x519cf7=_0x5bd432['length'];for(;_0x519cf7--;){const _0x1c2414=_0x5bd432[_0x519cf7];if(!this['_ignoredOperations']['has'](_0x1c2414)){if(!this['_operationToId']['has'](_0x1c2414)){const _0x357a9f=_0x13399e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1c2414,_0x357a9f);}return this['_operationToId']['get'](_0x1c2414);}}}['setIdForTheLastOperation'](_0xdc4459,_0xf1bec4){if(!_0xf1bec4)return;let _0x290a77=_0xdc4459['length'];for(;_0x290a77--;){const _0x349539=_0xdc4459[_0x290a77];this['_ignoredOperations']['has'](_0x349539)||this['_operationToId']['set'](_0x349539,_0xf1bec4);}}}class n extends _0x4f4ec3{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x19f79c{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x1f0922)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x3a4ee8];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ab57c){super(_0x5ab57c),this['_services']=new Map();}async['init'](){const _0x389f37=this['context'],_0x36f8c7=_0x389f37['plugins']['get']('CommentsRepository');if(_0x389f37['plugins']['get'](c)['addToReconnectionStack'](this),_0x36f8c7['adapter']={'addCommentThread':async({channelId:_0x26780c,threadId:_0x3a7448,comments:_0x40c129,resolvedAt:_0x3c2d9c,resolvedBy:_0x1429ad,context:_0xa52226,attributes:_0x38ceae})=>{const _0x3dd3ad=await this['_getService'](_0x26780c)['addCommentThread']({'commentThreadId':_0x3a7448,'comments':_0x40c129['map'](_0x2e7a2=>function(_0x575362,_0x4cb39,_0x3cbc5e){return{'commentThreadId':_0x3cbc5e,'commentId':_0x575362['commentId'],'userId':_0x575362['authorId'],'content':_0x575362['content'],'documentId':_0x4cb39,'createdAt':_0x575362['createdAt'],'attributes':_0x575362['attributes']||{}};}(_0x2e7a2,_0x26780c,_0x3a7448)),'resolvedAt':_0x3c2d9c,'resolvedBy':_0x1429ad,'context':_0xa52226,'attributes':_0x38ceae})['catch'](ut);return{'threadId':_0x3dd3ad['commentThreadId'],'comments':_0x3dd3ad['comments']};},'getCommentThread':async({channelId:_0xf0d086,threadId:_0x3951a9})=>{const _0x2ea3bc=await this['_getService'](_0xf0d086)['getCommentThread'](_0x3951a9)['catch'](ut);return _0x2ea3bc['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2ea3bc]),{'threadId':_0x2ea3bc['commentThreadId'],'comments':_0x2ea3bc['comments']['map'](_),'context':_0x2ea3bc['context'],'resolvedAt':_0x2ea3bc['resolvedAt'],'resolvedBy':_0x2ea3bc['resolvedBy'],'attributes':_0x2ea3bc['attributes']||{}});},'updateCommentThread':async({channelId:_0x35c43e,threadId:_0x26284c,context:_0x400d92,unlinkedAt:_0x512ff1,attributes:_0x3069f4})=>this['_getService'](_0x35c43e)['updateCommentThread']({'commentThreadId':_0x26284c,'context':_0x400d92,'attributes':_0x3069f4,'unlinkedAt':_0x512ff1})['catch'](S)['catch'](ut),'resolveCommentThread':async({channelId:_0x22a056,threadId:_0x42d952})=>{const _0x1e7af5=await this['_getService'](_0x22a056)['resolveCommentThread'](_0x42d952)['catch'](S)['catch'](ut);return{'threadId':_0x1e7af5['commentThreadId'],'resolvedAt':_0x1e7af5['resolvedAt'],'resolvedBy':_0x1e7af5['resolvedBy']};},'reopenCommentThread':async({channelId:_0x7cf6d1,threadId:_0x431115})=>this['_getService'](_0x7cf6d1)['reopenCommentThread'](_0x431115)['catch'](S)['catch'](ut),'removeCommentThread':({channelId:_0x2d471f,threadId:_0x5e6298})=>this['_getService'](_0x2d471f)['removeCommentThread'](_0x5e6298)['catch'](S)['catch'](ut),'addComment':({channelId:_0x33b21a,threadId:_0x15dc04,commentId:_0x26cee1,content:_0x41eb74,attributes:_0x5ccb7b})=>this['_getService'](_0x33b21a)['addComment'](_0x15dc04,_0x26cee1,_0x41eb74,_0x5ccb7b)['catch'](ut),'updateComment':({channelId:_0x4159c0,threadId:_0x3b5804,commentId:_0x36bbd7,content:_0x3d90e5,attributes:_0x31384b})=>this['_getService'](_0x4159c0)['updateComment'](_0x3b5804,_0x36bbd7,_0x3d90e5,_0x31384b)['catch'](S)['catch'](ut),'removeComment':({channelId:_0x2023fe,threadId:_0x118754,commentId:_0x24d32d})=>this['_getService'](_0x2023fe)['removeComment'](_0x118754,_0x24d32d)['catch'](S)['catch'](ut)},_0x389f37 instanceof _0x39273d){const _0x8c2d17=_0x389f37['config']['get']('collaboration.channelId'),_0x57af6f=_0x389f37['plugins']['get'](i);await this['_setUpService'](_0x8c2d17);const _0x1ef943=await this['_services']['get'](_0x8c2d17)['getConnectedSessions']();this['listenTo'](_0x57af6f,'sessionAdd:'+_0x8c2d17,(_0x5c4c49,{session:_0x223682})=>{_0x223682['id']===_0x57af6f['mySessionId']&&(_0x5c4c49['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x223682['permissions'],_0x8c2d17));}),_0x57af6f['register'](_0x8c2d17,_0x1ef943);}}async['_setUpService'](_0x7dd25e){if(this['_services']['has'](_0x7dd25e))throw new _0x2493d0('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x7dd25e});const _0x37e1b7=this['context']['plugins']['get']('CommentsRepository'),_0x1a8a36=new a['CommentsService'](_0x7dd25e);this['_services']['set'](_0x7dd25e,_0x1a8a36),this['listenTo'](_0x1a8a36,'commentThreadAdded',(_0x4dc30f,_0x101b54)=>{const {commentThreadId:_0x547924,documentId:_0x55400d,context:_0x341806,attributes:_0x6090d,resolvedAt:_0x682e30,resolvedBy:_0x2edcf1,comments:_0x3290e5}=_0x101b54;_0x37e1b7['getCommentThread'](_0x547924)||_0x37e1b7['addCommentThread']({'threadId':_0x547924,'channelId':_0x55400d,'comments':_0x3290e5?_0x3290e5['map'](_):[],'context':_0x341806,'attributes':_0x6090d,'resolvedAt':_0x682e30,'resolvedBy':_0x2edcf1,'isFromAdapter':!0x0});}),this['listenTo'](_0x1a8a36,'commentThreadUpdated',(_0x1c75d3,{commentThreadId:_0x32f686,documentId:_0x64a6e9,context:_0x11a4ed,unlinkedAt:_0x333182,attributes:_0x1ab74a})=>{_0x37e1b7['getCommentThread'](_0x32f686)&&_0x37e1b7['updateCommentThread']({'threadId':_0x32f686,'channelId':_0x64a6e9,'context':_0x11a4ed,'unlinkedAt':_0x333182,'attributes':_0x1ab74a,'isFromAdapter':!0x0});}),this['listenTo'](_0x1a8a36,'commentThreadResolved',(_0x5d61a2,{commentThreadId:_0x387b95,resolvedBy:_0x3dc015,resolvedAt:_0x4e6730})=>{const _0x56f0ac=_0x37e1b7['getCommentThread'](_0x387b95);_0x56f0ac&&_0x56f0ac['resolve']({'resolvedBy':_0x3dc015,'resolvedAt':_0x4e6730,'isFromAdapter':!0x0});}),this['listenTo'](_0x1a8a36,'commentThreadReopened',(_0x21861e,{commentThreadId:_0x41417e})=>{const _0x6042f0=_0x37e1b7['getCommentThread'](_0x41417e);_0x6042f0&&_0x6042f0['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1a8a36,'commentThreadRemoved',(_0x367ef9,{commentThreadId:_0x23c378})=>{const _0x37d724=_0x37e1b7['getCommentThread'](_0x23c378);_0x37d724&&_0x37d724['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1a8a36,'commentAdded',(_0x384a12,_0x4884f0)=>{const _0x2c47a6=_0x4884f0['commentThreadId'],_0x4feca8=_0x37e1b7['getCommentThread'](_0x2c47a6);_0x4feca8&&_0x4feca8['addComment']({..._(_0x4884f0),'isFromAdapter':!0x0});}),this['listenTo'](_0x1a8a36,'commentUpdated',(_0x27d28e,{commentThreadId:_0x40cc22,commentId:_0x2c1b36,content:_0x1f2653,attributes:_0x55155f})=>{const _0x23edd8=_0x37e1b7['getCommentThread'](_0x40cc22);if(_0x23edd8){const _0x17d383=_0x23edd8['getComment'](_0x2c1b36);_0x17d383&&_0x17d383['update']({'content':_0x1f2653,'attributes':_0x55155f,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1a8a36,'commentRemoved',(_0x865fbd,{commentThreadId:_0x2870a1,commentId:_0x287486})=>{const _0x2cd262=_0x37e1b7['getCommentThread'](_0x2870a1);if(_0x2cd262){const _0x181db6=_0x2cd262['getComment'](_0x287486);_0x181db6&&_0x181db6['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x7dd25e);}['destroy'](){if(this['context']instanceof _0x39273d){const _0x342b5f=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x342b5f);}}['_terminateService'](_0x41556f){if(!this['_services']['has'](_0x41556f))throw new _0x2493d0('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x41556f});this['_getService'](_0x41556f)['disconnect'](),this['_services']['delete'](_0x41556f);}async['reconnect'](){for(const _0x5e068c of this['_services']['keys']())await this['_connectService'](_0x5e068c);if(this['context']instanceof _0x39273d){const _0x38d163=this['context']['config']['get']('collaboration.channelId'),_0x29c09f=this['context']['plugins']['get'](i);_0x29c09f['unregister'](_0x38d163);const _0x486dd6=await this['_services']['get'](_0x38d163)['getConnectedSessions']();_0x29c09f['register'](_0x38d163,_0x486dd6);}}async['_connectService'](_0x4199d0){const {connection:_0x4d1ce1}=this['context']['plugins']['get'](c),_0x33aee8=this['context']['plugins']['get']('CommentsRepository'),_0x47d273=this['_services']['get'](_0x4199d0),_0x4668d2=await _0x47d273['connect'](_0x4d1ce1);await this['_fetchMissingUsersForThreads'](_0x4668d2);const _0x1e22c6=new Set(Array['from'](_0x33aee8['getCommentThreads']({'channelId':_0x4199d0}),_0x380638=>_0x380638['id']));for(const _0x202c52 of _0x4668d2)_0x202c52['deletedAt']||_0x1e22c6['delete'](_0x202c52['commentThreadId']);for(const _0x5dd589 of _0x1e22c6)_0x33aee8['getCommentThread'](_0x5dd589)['remove']({'isFromAdapter':!0x0});for(const _0x58d103 of _0x4668d2){let _0x640d3b=_0x33aee8['getCommentThread'](_0x58d103['commentThreadId']);const {commentThreadId:_0x4e1eb3,context:_0x5b8623,attributes:_0x4099ce,resolvedBy:_0x5988bc,resolvedAt:_0x3e794e,unlinkedAt:_0x4faf55,deletedAt:_0x673dba}=_0x58d103;if(_0x673dba)continue;_0x640d3b||(_0x640d3b=_0x33aee8['addCommentThread']({'channelId':_0x4199d0,'threadId':_0x4e1eb3,'context':_0x5b8623,'attributes':_0x4099ce||{},'resolvedBy':_0x5988bc,'resolvedAt':_0x3e794e,'unlinkedAt':_0x4faf55,'isFromAdapter':!0x0}));const _0x433067=new Set(Array['from'](_0x640d3b['comments'],_0x308b9a=>_0x308b9a['id']));for(const _0x5b8799 of _0x58d103['comments'])_0x433067['delete'](_0x5b8799['commentId']);for(const _0x4fb7b8 of _0x433067)_0x640d3b['getComment'](_0x4fb7b8)['remove']({'isFromAdapter':!0x0});for(const _0x49aa11 of _0x58d103['comments']){const _0xa17864=_0x640d3b['getComment'](_0x49aa11['commentId']);_0xa17864?_0xa17864['content']!==_0x49aa11['content']&&_0xa17864['update']({'content':_0x49aa11['content'],'isFromAdapter':!0x0}):_0x640d3b['addComment'](Object['assign'](_(_0x49aa11),{'isFromAdapter':!0x0}));}}}['_getService'](_0x55f5ec){if(!this['_services']['has'](_0x55f5ec))throw new _0x2493d0('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x55f5ec});return this['_services']['get'](_0x55f5ec);}async['_fetchMissingUsersForThreads'](_0x2b4d51){const _0x2310d5=this['context']['plugins']['get'](_0x3a4ee8),{connection:_0x3a4de3}=this['context']['plugins']['get'](c),_0x5b4186=new Set();for(const {resolvedBy:_0x2d869d,comments:_0x74f8a5}of _0x2b4d51){_0x2d869d&&!_0x2310d5['getUser'](_0x2d869d)&&_0x5b4186['add'](_0x2d869d);for(const {userId:_0x4647c0}of _0x74f8a5)_0x2310d5['getUser'](_0x4647c0)||_0x5b4186['add'](_0x4647c0);}if(0x0===_0x5b4186['size'])return;const _0x3099f7=await dt['getMany'](_0x3a4de3,Array['from'](_0x5b4186));for(const _0x5ab225 of _0x3099f7)_0x2310d5['getUser'](_0x5ab225['id'])||_0x2310d5['addUser'](_0x5ab225);}}async function S(_0x23e97c){if('404'!==_0x23e97c['code'])throw _0x23e97c;}function ut(_0x2d74d8){if((_0xed864f=_0x2d74d8)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xed864f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xed864f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xed864f;throw _0x2d74d8;}function _(_0x28052b){return{'threadId':_0x28052b['commentThreadId'],'commentId':_0x28052b['commentId'],'content':_0x28052b['content'],'createdAt':_0x28052b['createdAt'],'authorId':_0x28052b['userId'],'attributes':_0x28052b['attributes']||{}};}class f extends _0x4f4ec3{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2354a4){super(_0x2354a4);const _0x526e3b=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x526e3b);}['init'](){const _0x2d67c0=this['editor']['plugins']['get'](c),_0x1224bd=this['editor']['plugins']['get']('TrackChangesEditing');return _0x1224bd['adapter']={'getSuggestion':async _0x8562a6=>{await this['_waitForServiceReady']();const _0x5b86aa=await this['_trackChangesService']['get'](_0x8562a6)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x5b86aa]),_0x5b86aa;},'addSuggestion':async({id:_0x20df58,type:_0x562e20,data:_0x314a2e,originalSuggestionId:_0x21b43a,attributes:_0x3e9cde})=>{await this['_waitForServiceReady']();const _0x30d8a5={'id':_0x20df58,'type':_0x562e20,'data':_0x314a2e,'originalSuggestionId':_0x21b43a,'attributes':_0x3e9cde},_0x52fcc7=await this['_trackChangesService']['add'](_0x20df58,_0x562e20,_0x314a2e,_0x21b43a,_0x3e9cde)['catch'](_0x13885f=>{if(ft(_0x13885f))return new Promise(_0x3437c1=>{this['_bufferedRequests']['set'](_0x20df58,{'resolve':_0x3437c1,'suggestionData':_0x30d8a5});});throw _0x13885f;});return this['_bufferedRequests']['delete'](_0x20df58),_0x52fcc7;},'updateSuggestion':async(_0x335d8c,_0x363e8a)=>{if(await this['_waitForServiceReady'](),'open'!==_0x363e8a['state'])return this['_trackChangesService']['update'](_0x335d8c,_0x363e8a)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5f5427,_0x211bea)=>{_0x1224bd['hasSuggestion'](_0x211bea['id'])&&(_0x1224bd['getSuggestion'](_0x211bea['id'])['attributes']=_0x211bea['attributes']);}),this['_trackChangesService']['connect'](_0x2d67c0['connection'])['then'](_0x56a646=>(_0x2d67c0['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x56a646)['then'](()=>{for(const _0x4f11c2 of _0x56a646){_0x1224bd['addSuggestionData'](_0x4f11c2)['_saved']=!0x0;}})));}async['reconnect'](){const _0x401161=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x20c4de}=this['editor']['plugins']['get'](c),_0x1a27e6=await this['_trackChangesService']['connect'](_0x20c4de);await this['_fetchMissingUsersForThreads'](_0x1a27e6);for(const {suggestionData:_0x34db8e,resolve:_0x23cbaa}of this['_bufferedRequests']['values']()){let _0x56200d=_0x1a27e6['find'](_0x5261d5=>_0x5261d5['id']===_0x34db8e['id']);_0x56200d||(_0x56200d=await this['_trackChangesService']['add'](_0x34db8e['id'],_0x34db8e['type'],_0x34db8e['data'],_0x34db8e['originalSuggestionId'])),_0x23cbaa(_0x56200d);}for(const _0x5cb65f of _0x1a27e6)_0x401161['hasSuggestion'](_0x5cb65f['id'])||_0x401161['addSuggestionData'](_0x5cb65f);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x23b88b=>{this['listenTo'](this['_trackChangesService'],'connected',_0x391595=>{_0x391595['off'](),_0x23b88b();});});}async['_fetchMissingUsersForThreads'](_0x239123){const _0xf0a486=this['editor']['plugins']['get'](_0x3a4ee8),{connection:_0x9431d2}=this['editor']['plugins']['get'](c),_0x12186b=new Set();for(const {authorId:_0x43e658}of _0x239123)_0xf0a486['getUser'](_0x43e658)||_0x12186b['add'](_0x43e658);if(0x0===_0x12186b['size'])return;const _0x5c34ef=await dt['getMany'](_0x9431d2,Array['from'](_0x12186b));for(const _0x3f17c3 of _0x5c34ef)_0xf0a486['getUser'](_0x3f17c3['id'])||_0xf0a486['addUser'](_0x3f17c3);}}function R(_0x50c77c){if(ft(_0x50c77c))return new Promise(()=>{});throw _0x50c77c;}function ft(_0x3efb55){return _0x3efb55['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3efb55['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x4f4ec3{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3c5f9f=this['editor']['plugins']['get'](c),_0x46f72f=this['editor']['plugins']['get']('CommentsEditing'),_0x5451aa=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3c5f9f,'change:state',(_0x11cf53,_0x181e40,_0x580ffc)=>{_0x46f72f['isThreadsLoadingPaused']='connected'!==_0x580ffc;});}),this['listenTo'](_0x3c5f9f,'change:state',(_0xd3d1c1,_0x246ff7,_0x5d53f5)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x5d53f5);}),_0x5451aa['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x4f4ec3{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x4f4ec3{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x3a4ee8];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4a26d7){super(_0x4a26d7);const _0x420589=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x420589);}async['init'](){const _0x250c84=this['editor']['plugins']['get'](l),_0x35f72a=_0x250c84['serverHistory'],_0x1a1c9c=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x35f72a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x250c84['sessionId']});const _0x533600=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x2b2eef=await tt['isBundleUploaded'](_0x1a1c9c['connection'],_0x533600);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x2b7446})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2b7446)),'updateRevisions':async _0x1ef458=>{await this['_waitForServiceReady']();const _0x3272b6=this['_revisionTracker']['currentRevision'];if(_0x2b2eef&&0x1===_0x1ef458['length']&&_0x1ef458[0x0]['id']===_0x3272b6['id'])return _0x1ef458;for(const _0x8e4c7a of _0x1ef458)_0x8e4c7a['id']===_0x3272b6['id']&&(_0x8e4c7a['isEmptyCurrent']=_0x8e4c7a['fromVersion']===_0x8e4c7a['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1ef458,this['_lastRequestId'])['then'](_0x2cc1f9=>(this['_lastRequestId']=_0x2cc1f9,_0x1ef458))['catch'](_0x49257d=>{if(st(_0x49257d)||'400'===_0x49257d['code']&&void 0x0!==_0x49257d['data']['wrongRequestId']){for(const _0x4b0dff of _0x1ef458){!this['_revisionTracker']['repository']['getRevision'](_0x4b0dff['id'])||this['_revisionTracker']['_bufferUpdate'](_0x4b0dff['id'],_0x4b0dff,!0x1);}if(st(_0x49257d))throw _0x49257d;return _0x1ef458;}throw _0x49257d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x18e9aa,{revisionsData:_0x13363a,requestId:_0x1a29ec})=>{Math['max'](..._0x13363a['map'](_0x248b22=>_0x248b22['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x13363a,_0x1a29ec);}):this['_handleRevisionsUpdate'](_0x13363a,_0x1a29ec);});const {revisions:_0x878007,requestId:_0x45ab22}=await this['_revisionHistoryService']['connect'](_0x1a1c9c['connection']);_0x1a1c9c['addToReconnectionStack'](this),this['_lastRequestId']=_0x45ab22,await this['_fetchMissingUsers'](_0x878007);for(const _0x9ae2dd of _0x878007)this['_revisionTracker']['addRevisionData'](_0x9ae2dd);this['listenTo'](_0x250c84,'change:_isConnected',(_0x5d27ab,_0x353940,_0x42a2f2)=>{_0x42a2f2&&(this['_oldOffset']=_0x250c84['_offset'],_0x5d27ab['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1a1c9c,'state',_0x65d73=>_0x65d73===_0x4bea31['CONNECTED']);}async['reconnect'](){const _0x48b537=this['editor']['plugins']['get'](c),_0x5a06c2=this['editor']['plugins']['get'](l),_0x381acb=async()=>{const _0x59f6ed=this['_revisionTracker']['currentRevision'],_0x4dde51=_0x59f6ed['id'],_0x3902a7=_0x4dde51!==_0x5a06c2['sessionId'];if(_0x3902a7){const _0x1a07f8=_0x5a06c2['_offset']-this['_oldOffset'],_0x228088=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x59f6ed['toVersion']+_0x1a07f8!==_0x228088){const _0x599ac2=_0x59f6ed['fromVersion']+_0x1a07f8,_0x43bf2f=this['editor']['plugins']['get'](_0x3a4ee8),_0x5c4f0e=this['_revisionTracker']['buildRevisionData']({'revision':_0x59f6ed,'from':_0x599ac2,'to':_0x228088});_0x5c4f0e['id']=_0x59f6ed['id'];const _0x27c9fc=_0x5c4f0e['authorsIds']['map'](_0x504761=>_0x43bf2f['getUser'](_0x504761));_0x59f6ed['_update']({..._0x5c4f0e,'authors':_0x27c9fc},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x59f6ed['id'],_0x5c4f0e,!0x0);}this['_revisionTracker']['_startingVersion']=_0x228088,(_0x59f6ed['toVersion']===_0x59f6ed['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4dde51)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4dde51),this['_revisionTracker']['_createCurrentRevision'](_0x228088));}const {revisions:_0x3caf1e,requestId:_0x172c4f}=await this['_revisionHistoryService']['reconnect'](_0x48b537['connection'],this['_lastRequestId']);_0x3902a7&&_0x3caf1e['length']>0x0?_0x5a06c2['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3caf1e),this['_handleRevisionsUpdate'](_0x3caf1e,_0x172c4f),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5a06c2['_isConnected']?_0x381acb():new Promise((_0x33a20d,_0x2ec2eb)=>{_0x5a06c2['once']('change:_isConnected',()=>{_0x381acb()['then'](_0x33a20d)['catch'](_0x2ec2eb);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5b6e4a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4c410c=>{_0x4c410c['off'](),_0x5b6e4a();});});}['_getLatestVersionFromServerOperations'](){const _0x339553=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x504216 of _0x339553)if('marker'!==_0x504216['type']||_0x504216['affectsData'])return _0x504216['baseVersion']+0x1;}['_getLatestVersion'](){const _0x35d6f6=this['editor']['plugins']['get'](l);return new Promise(_0x162638=>{_0x35d6f6['_isPendingUpdate']?_0x35d6f6['once']('change:_isPendingUpdate',()=>{_0x162638(this['_getLatestVersionFromServerOperations']());}):_0x162638(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x20a216,_0x49eabe){const _0x124625=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x49eabe;for(const _0xa393f1 of _0x20a216){const _0x419e2d=_0x124625['getRevision'](_0xa393f1['id']);if(_0x419e2d){if((_0xa393f1['fromVersion']||_0xa393f1['toVersion'])&&(_0xa393f1['diffData']=null),_0x419e2d===this['_revisionTracker']['currentRevision']){const _0x2aaa84=Math['max'](_0x419e2d['toVersion'],_0xa393f1['toVersion']),_0x2da53c=Math['max'](_0x419e2d['fromVersion'],_0xa393f1['fromVersion']);let _0x4dd08e;_0x419e2d['toVersion']===_0xa393f1['toVersion']&&_0x419e2d['fromVersion']===_0xa393f1['fromVersion']?(_0x4dd08e=!0x0,this['_preventResendingRevisionData'](_0xa393f1)):_0xa393f1['toVersion']===_0x2aaa84&&_0xa393f1['fromVersion']===_0x2da53c?_0x4dd08e=!0x1:(_0x419e2d['toVersion']===_0x2aaa84&&_0x419e2d['fromVersion']===_0x2da53c||this['_fixRevision']({'revision':_0x419e2d,'from':_0x2da53c,'to':_0x2aaa84}),_0x4dd08e=!0x0),_0x4dd08e&&(delete _0xa393f1['fromVersion'],delete _0xa393f1['toVersion'],delete _0xa393f1['diffData'],delete _0xa393f1['createdAt'],delete _0xa393f1['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xa393f1),this['_preventResendingRevisionData'](_0xa393f1);}else this['_revisionTracker']['addRevisionData'](_0xa393f1);}const _0x227781=_0x124625['getRevisions']();_0x227781['reverse']();for(let _0x196896=0x0;_0x196896<_0x227781['length']-0x1;_0x196896++){const _0x2d2fb3=_0x227781[_0x196896],_0x3e850b=_0x227781[_0x196896+0x1];if(_0x2d2fb3['fromVersion']<_0x3e850b['toVersion']){const _0x41bef1=_0x3e850b['toVersion'],_0xa8ee6d=Math['max'](_0x41bef1,_0x2d2fb3['toVersion']);this['_fixRevision']({'revision':_0x2d2fb3,'from':_0x41bef1,'to':_0xa8ee6d});}}}['_fixRevision']({revision:_0x34fcac,from:_0x2443b9,to:_0x17d0d7}={}){const _0x47fca6=this['editor']['plugins']['get'](_0x3a4ee8),_0x1c2ca1=this['_revisionTracker']['buildRevisionData']({'revision':_0x34fcac,'from':_0x2443b9,'to':_0x17d0d7});_0x1c2ca1['authors']=_0x1c2ca1['authorsIds']['map'](_0x170c5a=>_0x47fca6['getUser'](_0x170c5a)),_0x34fcac['_update'](_0x1c2ca1);}['_preventResendingRevisionData'](_0xef0e47){const _0x3b8644={};_0x3b8644['id']=_0xef0e47['id'];for(const _0x13e588 of Object['keys'](_0xef0e47))'id'!==_0x13e588&&(_0x3b8644[_0x13e588]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3b8644['id'],_0x3b8644,!0x0);}async['_fetchMissingUsers'](_0x97d7ec){const _0x432a49=this['editor']['plugins']['get'](_0x3a4ee8),{connection:_0x2b412f}=this['editor']['plugins']['get'](c),_0x1b093b=new Set();for(const _0x3fd470 of _0x97d7ec){for(const _0x59fba1 of _0x3fd470['authorsIds'])_0xd6884e(_0x59fba1);_0x3fd470['creatorId']&&_0xd6884e(_0x3fd470['creatorId']);}if(0x0===_0x1b093b['size'])return;const _0x5864a6=await dt['getMany'](_0x2b412f,Array['from'](_0x1b093b));for(const _0x14fad7 of _0x5864a6)_0x432a49['getUser'](_0x14fad7['id'])||_0x432a49['addUser'](_0x14fad7);function _0xd6884e(_0x468e2a){_0x432a49['getUser'](_0x468e2a)||_0x1b093b['add'](_0x468e2a);}}}function st(_0x5584e0){return _0x5584e0['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5584e0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5584e0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4f4ec3{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x3fe695{['_collapseAt'];constructor(_0x8c8a62,_0x1f834f=0x6){super(_0x8c8a62);const _0x1e282c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1f834f,this['bind']('isHidden')['to'](this,'usersCount',_0x1f5b9e=>_0x1f5b9e<_0x1f834f),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1e282c['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':_0x1e282c['to']('usersCount',_0x3c7a44=>'+'+(_0x3c7a44-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x3fe695{['items'];['keystrokes'];constructor(_0x5ea184){super(_0x5ea184);const _0x2d8f4d=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x11de96(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2d8f4d['if']('hasPopup'),'aria-expanded':_0x2d8f4d['to']('isExpanded',_0x4939b6=>this['hasPopup']&&String(_0x4939b6)),'aria-label':_0x2d8f4d['to']('hasPopup',_0x27f526=>G(_0x5ea184,_0x27f526?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2d8f4d['to']('hasPopup',_0x4ee6bd=>!!_0x4ee6bd&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2d8f4d['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2d8f4d['to'](_0x319228=>{const _0x4a1354=_0x319228,_0x1cc71c=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1e6497=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1cc71c?.['contains'](_0x4a1354['relatedTarget'])||_0x1e6497?.['contains'](_0x4a1354['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x1b5e84,_0x36dff4,_0x5bc012)=>{this['element']&&(_0x5bc012?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class j extends _0x3fe695{['counterView'];['inlineListView'];constructor(_0x1fdd25,_0x29fae2=0x6){super(_0x1fdd25);const _0x417c99=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x29fae2),this['inlineListView']=new ts(_0x1fdd25),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x344d36 of this['inlineListView']['items'])_0x344d36['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',_0x417c99['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x3fe695{['listWrapperView'];constructor(_0x450523,_0x2958ab){super(_0x450523);const _0x595ab3=this['bindTemplate'];this['listWrapperView']=new mt(_0x450523,_0x2958ab),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0x450523,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x595ab3['to'](_0xae3d82=>{const _0x3acfc4=_0xae3d82,_0xb99509=document['querySelector']('.ck-presence-list__list'),_0x58401a=document['querySelector']('.ck-balloon-panel_with-arrow');_0xb99509?.['contains'](_0x3acfc4['relatedTarget'])||_0x58401a?.['contains'](_0x3acfc4['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x102a21{constructor(_0x4d2fd6,_0x4a531c){super(_0x4d2fd6);const _0x142e15=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4a531c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x142e15['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x142e15['to']('role'),'aria-label':_0x142e15['to']('ariaLabel'),'aria-labelledby':_0x142e15['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2e0fae['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x59c32e=this['element'];_0x59c32e&&(this['_isScrollable']=Math['max'](_0x59c32e['scrollHeight'],_0x59c32e['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x53497f,_0x16530c,_0x478571){super(_0x53497f);const _0x5df1a0=this['bindTemplate'];this['userView']=new ct(_0x53497f,_0x16530c);const _0x4666f2={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x16530c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x16530c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16530c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x478571&&(_0x4666f2['tag']='button',_0x4666f2['on']={'click':_0x5df1a0['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4666f2);}['focus'](){this['element']['focus']();}}class y extends _0x3fe695{['userView'];['markerView'];constructor(_0x2bde02,_0x396dec,_0x3c4db3){super(_0x2bde02);const _0x964786=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x2bde02,_0x396dec),this['markerView']=new at(_0x2bde02,_0x396dec);const _0x5db868=new ot(_0x2bde02);_0x5db868['template']['tag']='span',_0x5db868['text']=_0x396dec['name'];const _0x5caf76={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x964786['to']('isFocusable',_0x18b507=>!!_0x18b507&&0x0),'aria-labelledby':_0x5db868['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x964786['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x964786['to']('hasTooltip',_0x26e38d=>!_0x26e38d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5db868]};_0x3c4db3&&(_0x5caf76['tag']='button',_0x5caf76['on']={'click':_0x964786['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5caf76);}}class at extends _0x3fe695{constructor(_0xbf0d19,_0x5b288e){super(_0xbf0d19),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5b288e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x19f79c{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2db9be){super(_0x2db9be),this['context']['config']['define']('presenceList',C);const _0x184d10=_0x2db9be['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x184d10)throw new _0x2493d0('presencelist-collapseat-invalid-format',this);if(_0x184d10<0x1)throw new _0x2493d0('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3ddc9f(),this['balloonPanelView']=new _0x123570(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x317124 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x317124);this['listenTo'](this['_allConnectedUsers'],'add',(_0x37230e,_0x284437)=>{this['_handleUserAdd'](_0x284437);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xae45e2,_0x2550cd)=>{this['_handleUserRemove'](_0x2550cd);});}['_createView'](){const _0x5b1fd9=this['context'],_0x42614b=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x321ae1=this['balloonPanelView'];if(!_0x261598(_0x5b1fd9['config']['get']('presenceList.container')))throw new _0x2493d0('presencelist-missing-container',this);return _0x42614b['counterView']['bind']('usersCount')['to'](this),_0x42614b['bind']('isCollapsed')['to'](this,'usersCount',_0x4ae979=>{const {collapseAt:_0x591a4c}=_0x5b1fd9['config']['get']('presenceList'),_0x3c1b95=_0x4ae979>=_0x591a4c;if(_0x3c1b95&&!_0x42614b['inlineListView']['items']['find'](_0x24926d=>_0x24926d instanceof A)){const _0x11c838=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x11c838&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x42614b['inlineListView']['items']['add'](_0x42614b['counterView']);}return _0x3c1b95||this['hideDropdown'](),_0x3c1b95;}),_0x42614b['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x6b571e=>{const _0x1b52bd=_0x5b1fd9['config']['get']('presenceList'),_0x5ae00d=new y(_0x5b1fd9['locale'],_0x6b571e,!!_0x1b52bd['onClick']);return _0x5ae00d['bind']('hasTooltip')['to'](_0x42614b,'isCollapsed',_0x3f1560=>!_0x3f1560),_0x5ae00d['bind']('isFocusable')['to'](_0x42614b,'isCollapsed',_0xb4b2ea=>!_0xb4b2ea),_0x1b52bd['onClick']&&this['listenTo'](_0x5ae00d,'execute',()=>{this['view']['isCollapsed']||_0x1b52bd['onClick'](_0x6b571e,_0x5ae00d['element']);}),_0x5ae00d;}),this['listenTo'](_0x42614b['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x42614b['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x42614b['inlineListView']['keystrokes']['set']('Enter',(_0x78d570,_0x32f57d)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x32f57d());}),_0x42614b['render'](),_0x321ae1['render'](),_0x5e7d43({'emitter':_0x42614b,'activator':()=>_0x321ae1['isVisible'],'contextElements':[_0x321ae1['element'],_0x42614b['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5b1fd9['config']['get']('presenceList.container')['appendChild'](_0x42614b['element']),this['_bodyCollection']=new _0x476504(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x42614b;}['_handleUserAdd'](_0x2d3673){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2d3673['isMe'])return;const _0x5a4275=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x5a4275-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x36ac6d=_0x2d3673['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2d3673,_0x36ac6d);}['_handleUserRemove'](_0x31ece0){this['usersCount']--;const {collapseAt:_0x67a5e4}=this['context']['config']['get']('presenceList'),_0x1b6d43=this['usersCount']>=_0x67a5e4;if(this['currentDisplayedUsers']['get'](_0x31ece0['id']))this['currentDisplayedUsers']['remove'](_0x31ece0['id']);else{if(_0x1b6d43&&this['currentDisplayedUsers']['length']+0x1===_0x67a5e4-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1b6d43?0x1:0x0)<this['usersCount']){for(const _0x14978c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x14978c['id'])&&(this['currentDisplayedUsers']['add'](_0x14978c,Math['min'](this['currentDisplayedUsers']['length']-(_0x1b6d43?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1b6d43?0x1:0x0)===_0x67a5e4-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x408061=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0x408061['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5d6457}=this['presenceDropdownView'];_0x5d6457['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3b9449=>{if(!_0x408061['displayMe']&&_0x3b9449['isMe'])return null;const _0x2c7ed7=new k(this['context']['locale'],_0x3b9449,!!_0x408061['onClick']);return _0x408061['onClick']&&this['listenTo'](_0x2c7ed7,'execute',()=>{_0x408061['onClick'](_0x3b9449,_0x2c7ed7['element']);}),_0x2c7ed7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5d6457['focus'](),_0x5d6457['checkIfScrollable']();const _0x273f47=(_0x420505,_0x4af217)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4af217();};_0x5d6457['keystrokes']['set']('Esc',_0x273f47),_0x5d6457['keystrokes']['set']('Shift+Tab',_0x273f47),_0x5d6457['keystrokes']['set']('Tab',(_0x33b57e,_0x1fe5ff)=>{!function(_0x43a0c8){const _0x5da5ab=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x46be2e=>_0x46be2e+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x105c98=[...document['body']['querySelectorAll'](_0x5da5ab)]['filter'](_0x9f2049=>_0x9f2049===document['activeElement']||_0x9f2049['offsetWidth']+_0x9f2049['offsetHeight']>0x0)['sort']((_0x5a412e,_0x5589fe)=>(_0x5a412e['tabIndex']||0x0)-(_0x5589fe['tabIndex']||0x0)),_0x1d9646=_0x105c98['indexOf'](_0x43a0c8),_0x3be0c7=_0x105c98[(_0x1d9646+0x1)%_0x105c98['length']];_0x3be0c7&&_0x3be0c7['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1fe5ff();}),_0x5d6457['focusTracker']['add'](this['view']['element']),_0x5d6457['focusTracker']['on']('change:isFocused',(_0x21ca1b,_0x2b05d9,_0xcef033)=>{_0xcef033||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x19f79c{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
23
+ import{ContextPlugin as _0x3f68a4,Plugin as _0xdcbc50,PendingActions as _0x352a17,Context as _0x51b985}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x58e02a,CKEditorError as _0x19d29c,Collection as _0x52ca00,global as _0x4366f0,version as nt,uid as _0x53029c,KeystrokeHandler as _0x404036}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xc034f2,View as _0x2e989d,ListView as _0x54e28b,ListItemView as rt,LabelView as ot,BalloonPanelView as _0xcc0d89,clickOutsideHandler as _0x57da6e,BodyCollection as _0x202965}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x241be6,NoOperation as _0x27ade8,InsertOperation as _0x4955f3,MarkerOperation as _0x455320,RootAttributeOperation as _0x15eb0d,transformSets as _0x401905,OperationFactory as _0xdb4121}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x312285,CollaborativeEditingService as _0x4f847e,User as dt,CommentsService as _0x360da2,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x2aaab9,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x2e6a41}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2a9041}from'es-toolkit/compat';class c extends _0x3f68a4{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xc034f2];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1aea76){super(_0x1aea76),this['set']('state',_0x312285['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x58e02a);}['init'](){const _0x13110f=this['context'],_0xaa1bcc=_0x13110f['plugins']['get']('CloudServices'),_0x55ae5b=_0x13110f['plugins']['get'](_0xc034f2);if(!_0xaa1bcc['token'])throw new _0x19d29c('websocketgateway-missing-token',this);if(!_0xaa1bcc['webSocketUrl'])throw new _0x19d29c('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0xaa1bcc['token'],_0xaa1bcc['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x271802=>{if(this['connection']=_0x271802,this['bind']('state')['to'](_0x271802,'state',this,'_isBrowserOffline',(_0x3a8f85,_0x585d0a)=>('connected'!==_0x3a8f85&&(this['_shouldPluginsReconnect']=!0x0),_0x585d0a||_0x3a8f85!==_0x312285['CONNECTED']?_0x312285['DISCONNECTED']:this['state']==_0x312285['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x312285['CONNECTING']):_0x312285['CONNECTED'])),this['connection']['on']('error',(_0x27420b,_0x31038b)=>{if('limitExceeded'!==_0x31038b['code'])throw console['error'](_0x31038b),new _0x19d29c('cloudservices-init',null,{'originalError':_0x31038b});_0x55ae5b['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x271802['me'])return new Promise(_0x31328b=>_0x271802['on']('change:me',_0x31328b));})['catch'](_0x4524e7=>{throw console['error'](_0x4524e7),new _0x19d29c('cloudservices-init',null,{'originalError':_0x4524e7});});}['addToReconnectionStack'](_0x517438){if('function'!=typeof _0x517438['reconnect'])throw new _0x19d29c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x517438))throw new _0x19d29c('websocketgateway-plugin-already-registered',this,{'name':_0x517438['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x517438);}['removeFromReconnectionStack'](_0x78d6f7){this['_reconnectionStack']['delete'](_0x78d6f7);}['isInReconnectionStack'](_0x38338d){return this['_reconnectionStack']['has'](_0x38338d);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5a66cb=>_0x5a66cb['reconnect']())))['then'](()=>this['state']=_0x312285['CONNECTED'])['catch'](_0x4292d0=>{throw console['error'](_0x4292d0),new _0x19d29c('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x312285['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3f68a4{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x2aaab9];}constructor(_0x4961d5){super(_0x4961d5),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x52ca00(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2aaab9);}['init'](){const _0x3f6174=this['context']['plugins']['get'](c);this['listenTo'](_0x3f6174,'change:state',(_0x3354fa,_0x708e0b,_0x49ad29)=>{if('connected'!==_0x49ad29)this['channelSessions']['forEach'](_0x518567=>_0x518567['clear']()),this['channelConnectedUsers']['forEach'](_0x5d92f4=>_0x5d92f4['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x49db1e,_0x123188]of this['_registeredSessions'])for(const _0x1f6224 of _0x123188)this['_handleSessionAdd'](_0x49db1e,_0x1f6224);}}),this['_createUser'](_0x3f6174['connection']['me'],!0x0);}['register'](_0x35da19,_0x20fae4){if(this['_registeredSessions']['has'](_0x35da19))throw new _0x19d29c('sessions-register-already-registered',null,{'channelId':_0x35da19});this['_registeredSessions']['set'](_0x35da19,_0x20fae4),this['channelSessions']['set'](_0x35da19,new _0x52ca00()),this['channelConnectedUsers']['set'](_0x35da19,new _0x52ca00()),this['listenTo'](_0x20fae4,'add',(_0x21c582,_0x501b46)=>this['_handleSessionAdd'](_0x35da19,_0x501b46)),this['listenTo'](_0x20fae4,'remove',(_0x9e9307,_0x1b13b9)=>this['_handleSessionRemove'](_0x35da19,_0x1b13b9));for(const _0x9f73f2 of _0x20fae4)this['_handleSessionAdd'](_0x35da19,_0x9f73f2);}['unregister'](_0x532bd1){if(!this['_registeredSessions']['has'](_0x532bd1))throw new _0x19d29c('sessions-unregister-not-exist',null,{'channelId':_0x532bd1});const _0x44b55c=this['_registeredSessions']['get'](_0x532bd1);this['stopListening'](_0x44b55c);for(const _0xf2a99 of _0x44b55c)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x532bd1,_0xf2a99);this['_registeredSessions']['delete'](_0x532bd1),this['channelSessions']['delete'](_0x532bd1),this['channelConnectedUsers']['delete'](_0x532bd1);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x25d736){for(const _0x9440a6 of this['channelSessions']['values']())for(const _0x14bc25 of _0x9440a6)if(_0x14bc25['id']===_0x25d736)return _0x14bc25['user'];}['getUserSessions'](_0x4c281a,_0x129e6a){const _0xeb0fd9=_0x129e6a?[this['channelSessions']['get'](_0x129e6a)]:this['channelSessions']['values'](),_0x25b90e=new Set();for(const _0x4da448 of _0xeb0fd9)for(const _0x289f41 of _0x4da448)_0x289f41['user']['id']===_0x4c281a['id']&&_0x25b90e['add'](_0x289f41['id']);return _0x25b90e;}['getUserRole'](_0x54ccd6){for(const _0x110f4d of this['channelSessions']['values']())for(const _0x535500 of _0x110f4d)if(_0x535500['user']===_0x54ccd6)return _0x535500['role'];}['_handleSessionAdd'](_0x27f8b6,_0x1fb42c){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x2367c5=_0x1fb42c['user'],_0x4e538f=this['_users']['getUser'](_0x2367c5['id'])||this['_createUser'](_0x2367c5),_0x10648c=Object['assign']({},_0x1fb42c,{'user':_0x4e538f});this['channelSessions']['get'](_0x27f8b6)['add'](_0x10648c);const _0x58f766=this['channelConnectedUsers']['get'](_0x27f8b6);_0x58f766['has'](_0x4e538f['id'])||_0x58f766['add'](_0x4e538f),this['allConnectedUsers']['has'](_0x4e538f['id'])||this['allConnectedUsers']['add'](_0x4e538f,_0x4e538f['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x27f8b6,{'channelId':_0x27f8b6,'session':_0x10648c});}['_handleSessionRemove'](_0x4d1fbc,_0x4b3038){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x445242=this['channelConnectedUsers']['get'](_0x4d1fbc),_0x5ca821=_0x4b3038['user'];_0x5ca821['id']&&(this['channelSessions']['get'](_0x4d1fbc)['remove'](_0x4b3038['id']),_0x445242['has'](_0x5ca821['id'])&&!this['getUserSessions'](_0x5ca821,_0x4d1fbc)['size']&&_0x445242['remove'](_0x5ca821['id']),this['allConnectedUsers']['get'](_0x5ca821['id'])&&!this['getUserSessions'](_0x5ca821)['size']&&this['allConnectedUsers']['remove'](_0x5ca821['id']));}['_createUser'](_0x1d93e2,_0x2ed4f8){const _0xea685=this['_users']['addUser'](_0x1d93e2);return _0x2ed4f8&&this['_users']['defineMe'](_0x1d93e2['id']),_0xea685['orderNumber']=this['_uniqueUsersCount']++,_0xea685;}}class q extends _0xdcbc50{['_domEmitter']=new(_0x58e02a())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4d0d7e=this['editor'],_0xff3e91=_0x4d0d7e['plugins']['get'](i);_0x4d0d7e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x38ccc2,{writer:_0x1af9ea})=>function(_0x51edb6,_0x3b7869,_0x52193b,_0x4a5507){const _0x33ce22=_0x51edb6['markerName']['split'](':')[0x2],_0xd3c0f9=_0x52193b['getUserBySessionId'](_0x33ce22);if(!_0xd3c0f9||_0x33ce22===_0x52193b['mySessionId'])return;if(!_0x4a5507['model']['schema']['checkChild'](_0x51edb6['markerRange']['start'],'$text'))return;const _0xc38011={'class':'ck-user__marker\x20'+_0xd3c0f9['color']['getMarkerClass'](),'data-name':_0xd3c0f9['name'],'data-session-id':_0x33ce22},_0x59c2d6=_0x4a5507['model']['markers']['get'](_0x51edb6['markerName']),_0x59a72d=_0x59c2d6['getStart'](),_0x576ae8=_0x59a72d['nodeAfter'],_0x38c123=_0x4a5507['model']['schema'];if(_0x576ae8&&_0x38c123['isObject'](_0x576ae8)&&_0x38c123['isInline'](_0x576ae8)&&!_0x4a5507['model']['markers']['get']('user:range:'+_0x33ce22)['getRange']()['isCollapsed'])return;const _0x5efff8=_0x59a72d['parent'];return _0x4a5507['model']['schema']['isLimit'](_0x5efff8)&&!_0x4a5507['model']['hasContent'](_0x5efff8)&&(_0xc38011['contenteditable']=!0x1),function(_0x150bf9,_0x4396d7,_0x63fe4e){const _0x1cd20e=_0x150bf9['createUIElement']('span',_0x4396d7);return _0x150bf9['setCustomProperty']('userPositionMarker',!0x0,_0x1cd20e),_0x1cd20e['render']=function(_0x4f25a8){const _0x18e49c=this['toDomElement'](_0x4f25a8),_0x3d3303=document['createElement']('span');return _0x3d3303['classList']['add']('ck-user__marker-tooltip'),_0x3d3303['setAttribute']('contenteditable','false'),_0x3d3303['setAttribute']('spellcheck','false'),_0x3d3303['textContent']=_0x63fe4e['name'],_0x18e49c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3d3303['outerHTML']+'⁠',_0x18e49c['addEventListener']('mouseenter',()=>{_0x18e49c['classList']['add']('ck-user__marker_hovered');}),_0x18e49c['addEventListener']('mouseleave',()=>{_0x18e49c['classList']['remove']('ck-user__marker_hovered');}),_0x18e49c;},_0x1cd20e['isSimilar']=function(_0x18d014){return!(!this['getCustomProperty']('userPositionMarker')||!_0x18d014['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x18d014['getAttribute']('data-session-id'));},_0x1cd20e;}(_0x3b7869,_0xc38011,_0xd3c0f9);}(_0x38ccc2,_0x1af9ea,_0xff3e91,_0x4d0d7e)}),_0x4d0d7e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5f5b1b=>function(_0x56c5e0,_0x177fef){const _0x2859fe=_0x56c5e0['markerName']['split'](':')[0x2];if(_0x2859fe===_0x177fef['mySessionId'])return null;const _0x33c0f1=_0x177fef['getUserBySessionId'](_0x2859fe);if(!_0x33c0f1)return{'id':_0x2859fe,'classes':[]};return{'id':_0x2859fe,'classes':['ck-user__selection',_0x33c0f1['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2859fe},'priority':0x7d0+_0x33c0f1['orderNumber']};}(_0x5f5b1b,_0xff3e91)}),function(_0x1c5e43){const _0x582f7c=_0x1c5e43['model'],_0x5a5388=new Map(),_0x307b98=_0x1c5e43['plugins']['get'](i);_0x582f7c['markers']['on']('update:user:range',(_0x382aca,_0x156b12,_0x3767db,_0x36be2f)=>{if(!_0x36be2f&&_0x5a5388['get'](_0x156b12['name']))return _0x5a5388['get'](_0x156b12['name'])['detach'](),void _0x5a5388['delete'](_0x156b12['name']);const _0x18afe7=_0x156b12['name']['split'](':')[0x2];if(_0x18afe7===_0x307b98['mySessionId'])return;const _0x2ff4d9='user:position:'+_0x18afe7;_0x582f7c['markers']['has'](_0x2ff4d9)&&_0x1c5e43['editing']['reconvertMarker'](_0x2ff4d9),_0x156b12['on']('change:range',(_0x20e157,_0x223cca,_0x15ae12)=>{if('$graveyard'!=_0x223cca['root']['rootName']&&'$graveyard'==_0x156b12['getRange']()['root']['rootName']&&!_0x5a5388['has'](_0x156b12['name'])){const _0x14bd92=_0x582f7c['schema']['getNearestSelectionRange'](_0x15ae12['deletionPosition']);if(_0x14bd92){const _0x1a501f=ht['fromRange'](_0x14bd92);_0x5a5388['set'](_0x156b12['name'],_0x1a501f),_0x1a501f['on']('change:range',(_0x28acd6,_0x5a7209,_0x3ef412)=>{if('$graveyard'==_0x1a501f['root']['rootName']){const _0x183233=_0x582f7c['schema']['getNearestSelectionRange'](_0x3ef412['deletionPosition']);_0x183233?(_0x1a501f['start']=_0x183233['start'],_0x1a501f['end']=_0x183233['end']):(_0x5a5388['delete'](_0x156b12['name']),_0x1a501f['detach']());}});}}});}),_0x582f7c['document']['on']('change',()=>{_0x5a5388['size']>0x0&&_0x582f7c['enqueueChange']({'isUndoable':!0x1},_0x37e516=>{for(const [_0x19d3b8,_0x42678c]of _0x5a5388)'$graveyard'==_0x582f7c['markers']['get'](_0x19d3b8)['getRange']()['root']['rootName']&&(te(_0x19d3b8['split'](':')[0x2],_0x42678c['toRange'](),_0x582f7c,_0x37e516),_0x42678c['detach']());_0x5a5388['clear']();});});}(_0x4d0d7e),this['_domEmitter']['listenTo'](_0x4366f0['document'],'keydown',(_0x58484d,{key:_0x5e116c})=>{'Escape'===_0x5e116c&&function(_0x3db62a){_0x3db62a['editing']['view']['change'](_0x161cb6=>{for(const _0x5c3b1f of _0x3db62a['model']['markers']){if(!_0x5c3b1f['name']['startsWith']('user:position'))continue;const _0xaedbbf=_0x3db62a['editing']['mapper']['markerNameToElements'](_0x5c3b1f['name']);if(_0xaedbbf){for(const _0x43dda8 of _0xaedbbf)_0x161cb6['removeClass']('ck-user__marker_hovered',_0x43dda8);}}});}(_0x4d0d7e);},{'useCapture':!0x0});}['afterInit'](){const _0x36e65f=this['editor'],_0x365bd8=_0x36e65f['commands']['get']('undo');_0x365bd8&&_0x36e65f['model']['on']('applyOperation',(_0x258eaa,_0x4b8315)=>{const _0x5114dd=_0x4b8315[0x0];if(!_0x5114dd['isDocumentOperation'])return;if('marker'!=_0x5114dd['type']||!_0x5114dd['name']['startsWith']('user:'))return;const _0x430401=_0x5114dd['batch'];_0x365bd8['_createdBatches']['has'](_0x430401)&&(_0x5114dd['newRange']=_0x5114dd['oldRange']?_0x36e65f['model']['createRange'](_0x5114dd['oldRange']['start'],_0x5114dd['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x8e831c=this['editor'],_0x4107d7=_0x8e831c['model']['document'],_0x115e6e=_0x8e831c['plugins']['get'](i);_0x8e831c['model']['enqueueChange']({'isUndoable':!0x1},_0x2505b2=>{const _0x4a00e9='user:range:'+_0x115e6e['mySessionId'],_0xebf53c='user:position:'+_0x115e6e['mySessionId'],_0x506f94=_0x8e831c['model']['markers']['has'](_0x4a00e9);_0x8e831c['editing']['view']['hasDomSelection']?te(_0x115e6e['mySessionId'],_0x4107d7['selection']['getFirstRange'](),_0x8e831c['model'],_0x2505b2):_0x506f94&&(_0x2505b2['removeMarker'](_0x4a00e9),_0x2505b2['removeMarker'](_0xebf53c));});}}function te(_0x4f15c6,_0x50fbe9,_0x211c28,_0x11f045){const _0x5edd7e='user:range:'+_0x4f15c6,_0x5aed46='user:position:'+_0x4f15c6,_0x536d45=_0x50fbe9['getContainedElement']();let _0xd0b1d=_0x50fbe9['start'];if(_0x536d45&&_0x536d45['is']('element','tableCell')){const _0x13d82b=function(_0x5bcebf,_0x4bc03f){for(const _0x937850 of _0x5bcebf['getPositions']())if(_0x4bc03f['schema']['checkChild'](_0x937850,'$text'))return _0x937850;}(_0x50fbe9,_0x211c28);_0x13d82b&&(_0xd0b1d=_0x13d82b,_0x50fbe9=_0x11f045['createRange'](_0xd0b1d));}const _0x16cffd=_0x11f045['createRange'](_0xd0b1d);_0x211c28['markers']['has'](_0x5edd7e)?(_0x11f045['updateMarker'](_0x5edd7e,{'range':_0x50fbe9}),_0x11f045['updateMarker'](_0x5aed46,{'range':_0x16cffd})):(_0x11f045['addMarker'](_0x5edd7e,{'range':_0x50fbe9,'usingOperation':!0x0}),_0x11f045['addMarker'](_0x5aed46,{'range':_0x16cffd,'usingOperation':!0x0}));}function G(_0x8411e5,_0x282679,_0xf183f3){const _0x4b8929=_0x8411e5['t'],t=_0x8411e5['t'];switch(_0x282679){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x4b8929({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0xf183f3);default:return'';}}let J=0x1;class l extends _0xdcbc50{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x4f847e)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x352a17,_0x2aaab9,_0xc034f2];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x315b37=this['serverHistory']['getOperations']();for(let _0xba6ebe=_0x315b37['length']-0x1;_0xba6ebe>=0x0;_0xba6ebe--){const _0x4bb05b=_0x315b37[_0xba6ebe];if(!this['_disconnectionOperations']['has'](_0x4bb05b))return _0x4bb05b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5c7834){if(super(_0x5c7834),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x241be6(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x19d29c('collaboration-missing-channelid',this);const _0x54e674=_0x5c7834['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x54e674,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2e6a41(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new Y(this['_disconnectionOperations']);}['init'](){const _0x4d3f45=this['editor'],_0x4194b1=_0x4d3f45['plugins']['get'](_0x2aaab9),_0x4b0779=_0x4d3f45['plugins']['get'](c);this['listenTo'](_0x4194b1,'getOperationAuthor',(_0x3f2a60,_0x5e3ab2)=>{const _0x5ee973=_0x5e3ab2[0x0];_0x5ee973['_authorId']&&(_0x3f2a60['return']=_0x4194b1['getUser'](_0x5ee973['_authorId']),_0x3f2a60['stop']()),null===_0x5ee973['_authorId']&&(_0x3f2a60['return']=null,_0x3f2a60['stop']());},{'priority':'high'}),this['listenTo'](_0x4d3f45['model']['document']['selection'],'change:range',(_0x2beb2f,_0x3417d0)=>{_0x3417d0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4d3f45['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4d3f45['model']['on']('applyOperation',(_0x3347e4,_0x2989fb)=>{const _0x12b350=_0x2989fb[0x0];_0x12b350['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x12b350),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4b0779,'state',this,'_hasSynchronizationProblem',(_0x21747d,_0x1f21f3)=>'connected'===_0x21747d&&!_0x1f21f3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4d3f45['disableReadOnlyMode']('rtc-offline'):_0x4d3f45['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4d3f45['disableReadOnlyMode']('rtc-offline'):_0x4d3f45['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3f243e=this['editor']['plugins']['get'](i),_0x528cb4=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x3f243e['unregister'](this['_channelId']);const _0x4704ad=await this['_service']['reconnect'](_0x528cb4['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4704ad)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x554546=await this['_service']['getConnectedSessions']();_0x3f243e['register'](this['_channelId'],_0x554546),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5b8d22){if(function(_0x18618b){return'404'===_0x18618b['code'];}(_0x5b8d22)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x34d2fa){return'409'===_0x34d2fa['code'];}(_0x5b8d22)){const _0x39a5fd=G(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x39a5fd);}else{if(!(_0x5b8d22 instanceof Q))throw _0x5b8d22;this['_handleReconnectionError']();}}}}['destroy'](){const _0x33eb60=this['editor']['plugins']['get'](c),_0x387f81=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x387f81['channelSessions']['has'](this['_channelId'])&&_0x387f81['unregister'](this['_channelId']),_0x33eb60['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5df39e){if(this['sessionId']!==_0x5df39e['sessionId']&&this['_lastSyncedOperationId']!==_0x5df39e['lastOperationId'])throw new Q();return this['sessionId']=_0x5df39e['sessionId'],this['_handleServerResponse']([],{..._0x5df39e,'wereChangesApplied':!0x1,'data':_0x5df39e['data']},'reconnect');}async['_connectService'](_0x30feaa,_0x4dea60=!0x1){const {connection:_0x275bb8}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x275bb8,this['_channelId'])['then'](_0x16b045=>this['_initSessionsHandling'](_0x16b045))['catch'](_0x5aee6c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5aee6c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x572b90,_0x408165)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x408165);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x2e9dbb=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x30feaa);this['_isPendingUpdate']=!0x0;const _0x31d791=await this['_service']['connect'](_0x275bb8,this['_compressOperations'](_0x30feaa),_0x2e9dbb);if(this['sessionId']=_0x31d791['sessionId'],_0x4dea60){if(!_0x31d791['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x31d791['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x30feaa,_0x31d791,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x31d791,_0x30feaa);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x177a19=this['editor']['plugins']['get'](i),_0x3fee87=this['editor']['plugins']['get'](q),_0x19ad16=_0x177a19['channelSessions']['get'](this['_channelId']);_0x19ad16&&_0x19ad16['length']>0x1?_0x3fee87['createUserMarkerOperations']():this['listenTo'](_0x177a19,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x177a19['channelSessions']['get'](this['_channelId'])['length']&&_0x3fee87['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x242fb6,_0x37e39b,_0x2be766,_0x4c397b){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x37e39b){const _0x3ecd26=this['_decompressOperations'](_0x2be766,_0x4c397b);await this['_fetchMissingUsers'](_0x3ecd26),this['_handleExternalOperations'](_0x3ecd26,_0x37e39b,_0x2be766['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x97eb67}=this['editor'];let _0x1e0a1d;try{_0x1e0a1d=await this['_service']['getDocumentDetails']();}catch{const _0xb18869=G(_0x97eb67,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0xb18869);}const _0x502736=_0x1e0a1d['currentDocumentSession']||_0x1e0a1d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x502736['lastOperationId']){const _0x2f6287=G(_0x97eb67,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x2f6287);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x452e66){const _0x432a64=this['editor']['plugins']['get'](i);this['listenTo'](_0x432a64,'sessionAdd:'+this['_channelId'],(_0x39d590,{session:_0x15db25})=>{if(_0x15db25['id']===_0x432a64['mySessionId']){_0x39d590['off']();const _0x41a0bf=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x33f39e=_0x15db25['permissions'];_0x41a0bf&&_0x41a0bf['isEnabled']&&(_0x33f39e=_0x33f39e['filter'](_0x4fef0c=>'document:write'!==_0x4fef0c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x33f39e,this['_channelId']);}}),_0x432a64['register'](this['_channelId'],_0x452e66);}['_initThrowingOnDataSet'](){const _0x16c9dc=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3242a4)=>{if(!_0x3242a4[_0x3242a4['length']-0x1]['suppressErrorInCollaboration'])throw new _0x19d29c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x16c9dc['apply'](this['editor']['data'],_0x3242a4);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4382d2,[_0x5b2113])=>{if(this['_document']['version'])throw new _0x19d29c('realtimecollaborationclient-init-document-already-initialized',this);_0x4382d2['stop'](),this['_setPendingAction']();const _0x17ac41=this['editor']['config']['get']('rootsAttributes'),_0x318746=this['_getOperationsFromInitData'](_0x5b2113,_0x17ac41);0x0==_0x318746['length']&&_0x318746['push'](new _0x27ade8(0x0)),_0x4382d2['return']=this['_connectService'](_0x318746)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x23fcff=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x23fcff))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x40cf36,[_0x2bbeec,_0x278870])=>{_0x40cf36['stop']();const _0x220e08=this['editor']['model']['document']['getRoot'](_0x2bbeec);if(!this['_knownRootNames']['has'](_0x2bbeec)){const _0x5457df=_0x278870&&_0x278870['data']?_0x278870['data']:'',_0x55fad4=_0x278870&&_0x278870['attributes']?_0x278870['attributes']:{};await this['_loadRoot'](_0x2bbeec,_0x5457df,_0x55fad4);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x220e08['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x220e08);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x440f0d){const _0x19fb08=this['editor']['plugins']['get'](_0x2aaab9),{connection:_0x3022f1}=this['editor']['plugins']['get'](c),_0x2c4fcd=new Set();for(const _0x16648c of _0x440f0d){const _0x13daf1=_0x16648c['_authorId'];_0x13daf1&&!_0x19fb08['getUser'](_0x13daf1)&&_0x2c4fcd['add'](_0x13daf1);}if(0x0===_0x2c4fcd['size'])return;const _0x4d56fb=await dt['getMany'](_0x3022f1,Array['from'](_0x2c4fcd));for(const _0x4933d4 of _0x4d56fb)_0x19fb08['getUser'](_0x4933d4['id'])||_0x19fb08['addUser'](_0x4933d4);}['_getOperationsFromInitData'](_0xfeefc2,_0x34450a={}){const _0x4b0352=this['editor']['model'],_0x5cf809=[];let _0x37680e=0x0;const _0x25cc6c='string'==typeof _0xfeefc2?{'main':_0xfeefc2}:_0xfeefc2;for(const _0x47cc1d of Object['keys'](_0x25cc6c)){if(!this['_document']['roots']['has'](_0x47cc1d))throw new _0x19d29c('realtimecollaborationclient-init-non-existent-root',this);const _0x17ee4d=this['editor']['data']['parse'](_0x25cc6c[_0x47cc1d]),_0x51e8cd=this['_document']['getRoot'](_0x47cc1d),_0x399a38=new _0x4955f3(_0x4b0352['createPositionAt'](_0x51e8cd,0x0),_0x17ee4d,_0x37680e++);_0x5cf809['push'](_0x399a38);for(const [_0x33d163,_0x699fd6]of _0x17ee4d['markers']){const _0x5802b0=_0x4b0352['createRange'](_0x4b0352['createPositionFromPath'](_0x51e8cd,_0x699fd6['start']['path']['slice']()),_0x4b0352['createPositionFromPath'](_0x51e8cd,_0x699fd6['end']['path']['slice']())),_0x2e5728=new _0x455320(_0x33d163,null,_0x5802b0,_0x4b0352['markers'],!0x0,_0x37680e++);_0x5cf809['push'](_0x2e5728);}}if(_0x34450a)for(const [_0xe16a9f,_0x26e589]of Object['entries'](_0x34450a)){const _0x347668=_0x4b0352['document']['getRoot'](_0xe16a9f);if(!_0x347668)throw new _0x19d29c('multi-root-editor-root-attributes-no-root',null);for(const [_0x4379df,_0x35a01f]of Object['entries'](_0x26e589))if(null!==_0x35a01f){const _0x448df7=new _0x15eb0d(_0x347668,_0x4379df,null,_0x35a01f,_0x37680e++);_0x5cf809['push'](_0x448df7);}}return _0x5cf809;}async['_loadRoot'](_0x181ef8,_0x6d4080,_0x2dab9a){this['_getOperationsFromInitData']({[_0x181ef8]:_0x6d4080},{[_0x181ef8]:_0x2dab9a})['forEach']((_0x2839d5,_0x3b7991)=>{_0x2839d5['baseVersion']=this['_document']['version']+_0x3b7991,_0x2839d5['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2839d5);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2515cf,_0x39ea31){let _0x1f7eff;this['_offset']=_0x2515cf['offset'];const _0x514774=_0x2515cf['wereChangesApplied']&&!_0x2515cf['initData'],_0x20028b=_0x514774?0x0:_0x2515cf['data']['baseVersion'];if(_0x39ea31['forEach'](_0x37bac7=>{_0x37bac7['_isInit']=!0x0,_0x37bac7['createdAt']=_0x2515cf['sessionCreatedAt'],_0x37bac7['_authorId']=null;}),_0x514774)_0x1f7eff=_0x39ea31,this['_applyOperationsSet'](_0x1f7eff,_0x514774);else{if(_0x2515cf['initData']){const _0x4cceb4=this['_getOperationsFromInitData'](_0x2515cf['initData']);this['_document']['history']['version']=-_0x4cceb4['length'],_0x4cceb4['forEach'](_0x2661ad=>{_0x2661ad['baseVersion']-=_0x4cceb4['length'],_0x2661ad['createdAt']=_0x2515cf['sessionCreatedAt'],_0x2661ad['_isInit']=!0x0,_0x2661ad['_authorId']=null;}),this['_applyOperationsSet'](_0x4cceb4,!0x0),this['serverHistory']['version']=-_0x4cceb4['length']+this['_offset'],this['_updateServerHistory'](_0x4cceb4);}this['_document']['history']['version']=_0x20028b,_0x1f7eff=this['_decompressOperations'](_0x2515cf['data'],_0x2515cf['metadata']),await this['_fetchMissingUsers'](_0x1f7eff),this['_applyOperationsSet'](_0x1f7eff,_0x514774);}_0x2515cf['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f7eff,_0x2515cf['lastOperationId']),this['_lastSyncedOperationId']=_0x2515cf['lastOperationId']),this['serverHistory']['version']=_0x20028b+this['_offset'],this['_updateServerHistory'](_0x1f7eff),_0x39ea31['filter'](_0x476f82=>{const _0x78ca8=this['_getAffectedRoot'](_0x476f82);return _0x78ca8&&!this['_knownRootNames']['has'](_0x78ca8);})['forEach']((_0x16ed26,_0x20df46)=>{_0x16ed26['baseVersion']=this['_document']['version']+_0x20df46,this['_saveOperationInBuffer'](_0x16ed26);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x9c60be,_0x1419b4){const _0x156715=_0x1419b4&&_0x1419b4['message'];if(_0x156715&&_0x156715['startsWith']('realtimecollaborationclient'))throw _0x1419b4;const _0x59b8fe=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x59b8fe['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x19d29c(_0x9c60be,this['editor'],_0x156715?{'originalError':_0x156715}:void 0x0);}['_saveOperationInBuffer'](_0x4e01aa){this['_knownOperations']['has'](_0x4e01aa)||(this['_knownOperations']['add'](_0x4e01aa),this['_bufferedOperations']['push'](_0x4e01aa),this['_pendingAction']||'marker'==_0x4e01aa['type']&&!_0x4e01aa['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x21e289=!0x1){!_0x21e289&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5d707d=>{_0x5d707d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x519b19=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x53bc72){return _0x53bc72['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x53bc72['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x53bc72['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x519b19)||this['_crash'](_0x519b19['message'],_0x519b19);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x872ae2=>{this['on']('change:_isPendingUpdate',()=>{_0x872ae2();});});}async['_sendBufferedOperations'](){const _0x1d153f=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0x1d153f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x346530=[...this['_bufferedOperations']];for(const _0x55ea5b of _0x346530)_0x55ea5b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x55ea5b);const _0x4ace40=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x346530),_0x52572a=J++,_0x369125=this['_compressOperations'](_0x346530),_0x3beaf2=await this['_service']['sendOperations'](_0x369125,_0x369125['baseVersion'],_0x4ace40);try{return await this['_handleServerResponse'](_0x346530,_0x3beaf2,_0x52572a);}catch(_0x5c06e0){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5c06e0);}}async['_handleServerResponse'](_0x1fcb44,_0x559830,_0xb52e61){if('error'in _0x559830)throw _0x559830['error'];let _0x4a0e37=!0x1;if(_0x559830['wereChangesApplied']){_0x559830['lastOperationId']&&(this['_lastSyncedOperationId']=_0x559830['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x48b97e=>!_0x1fcb44['includes'](_0x48b97e));for(const _0x1dbf02 of _0x1fcb44)_0x1dbf02['createdAt']='lastOperationAcceptedAt'in _0x559830&&_0x559830['lastOperationAcceptedAt']||void 0x0;X(_0x1fcb44,_0x559830['version']-_0x1fcb44['length']),this['_updateServerHistory'](_0x1fcb44);const _0x104b50=_0x1fcb44['filter'](_0x5a364c=>{if(!_0x5a364c['_isInit'])return!0x1;const _0x2ddd23=this['_getAffectedRoot'](_0x5a364c);return _0x2ddd23&&!this['_knownRootNames']['has'](_0x2ddd23);});X(_0x104b50,this['_document']['version']),this['_applyOperationsSet'](_0x104b50),_0x4a0e37=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x468c25=this['_decompressOperations'](_0x559830['data'],_0x559830['metadata'])['filter'](_0x260054=>_0x260054['baseVersion']>=this['_lastServerVersion']);_0x468c25['forEach'](_0x38932e=>this['_addKnownRoot'](_0x38932e)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x35f5f6=>!_0x35f5f6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x35f5f6))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x468c25),_0x4a0e37=this['_handleExternalOperations'](_0x468c25,_0x559830['version'],_0x559830['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x4a0e37?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x132e86,_0x2e3514,_0x412ca2){try{const _0x235c7f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4dec66,operationsB:_0x49a823,originalOperations:_0x49a85}=_0x401905(_0x132e86,this['_bufferedOperations'],_0x235c7f);X(_0x4dec66,this['_document']['version']),X(_0x49a823,_0x2e3514);for(const _0x271fed of _0x4dec66){const _0x3e8b50=_0x49a85['get'](_0x271fed);_0x271fed['_authorId']=_0x3e8b50?_0x3e8b50['_authorId']:null;}_0x412ca2&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x132e86,_0x412ca2),this['_lastSyncedOperationId']=_0x412ca2),this['_bufferedOperations']=[..._0x49a823],this['_applyOperationsSet'](_0x4dec66),this['_updateServerHistory'](_0x132e86);}catch(_0x57d8c2){return console['error'](_0x57d8c2),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5c7d8c,_0x4f365a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x134212=>{for(const _0x5565ae of _0x5c7d8c)this['_knownOperations']['add'](_0x5565ae),this['_addKnownRoot'](_0x5565ae),_0x134212['batch']['addOperation'](_0x5565ae),this['editor']['model']['applyOperation'](_0x5565ae);});}['_addKnownRoot'](_0x4a7ede){const _0xd5bead=this['_getAffectedRoot'](_0x4a7ede);_0xd5bead&&this['_knownRootNames']['add'](_0xd5bead);}['_getAffectedRoot'](_0x196360){let _0x1b6f52,_0x3c8f9c;switch(_0x196360['type']){case'insert':_0x1b6f52=_0x196360['position']['root'];break;case'marker':if(_0x3c8f9c=_0x196360['newRange'],!_0x3c8f9c)return null;_0x1b6f52=_0x3c8f9c['root'];break;case'addRootAttribute':_0x1b6f52=_0x196360['root'];break;case'addRoot':_0x1b6f52=_0x196360['affectedSelectable'];break;case'move':_0x1b6f52=_0x196360['targetPosition']['root'];break;default:return null;}return _0x1b6f52['rootName'];}['_updateServerHistory'](_0x5da47c){_0x5da47c['forEach'](_0xe943b1=>{const _0x13a25a=_0xe943b1['clone']();_0x13a25a['_authorId']=_0xe943b1['_authorId'],_0x13a25a['_isInit']=!!_0xe943b1['_isInit'],_0x13a25a['createdAt']=_0xe943b1['createdAt'],_0x13a25a['baseVersion']+=this['_offset'],_0xe943b1['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x13a25a),this['serverHistory']['addOperation'](_0x13a25a);});}['_handleReconnectionError'](_0x53978d){const _0x5982c8=this['editor']['plugins']['get']('Notification'),_0x13d08d=this['editor']['locale'];_0x53978d||(_0x53978d=G(_0x13d08d,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x5982c8['showWarning'](_0x53978d,{'title':G(_0x13d08d,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x352a17)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x352a17)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x435096){const _0x11f008=_0x435096['map'](_0x4cb939=>_0x4cb939['toJSON']());return this['_compressor']['compress'](_0x11f008);}['_decompressOperations'](_0x43a4e6,_0xad23d8){return this['_compressor']['decompress'](_0x43a4e6)['map']((_0x4c8c15,_0x1f4947)=>{const _0x47035e='init'==_0xad23d8[_0x1f4947]['type'];if('InsertOperation'==_0x4c8c15['__className']){const _0x510439=_0x4c8c15['position']['root'];!this['_document']['getRoot'](_0x510439)&&(this['_document']['createRoot']('$root',_0x510439)['_isAttached']=!0x1);}const _0x4ed1ba=_0xdb4121['fromJSON'](_0x4c8c15,this['_document']);return _0x4ed1ba['wasUndone']=_0x4c8c15['wasUndone'],_0x4ed1ba['_isInit']=_0x47035e,_0x4ed1ba['_authorId']=_0x47035e?null:_0xad23d8[_0x1f4947]['userId'],_0x4ed1ba['_isDisconnection']='cs:removeUser'===_0xad23d8[_0x1f4947]['type'],_0x4ed1ba['createdAt']=_0xad23d8[_0x1f4947]['createdAt'],_0x4ed1ba;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3f25fb=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3f25fb&&_0x3f25fb['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x13819a,_0x294514){for(const _0x4bbda1 of _0x13819a)_0x4bbda1['baseVersion']=_0x294514++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x5dab86){this['_ignoredOperations']=_0x5dab86,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1ce2e2){let _0x391c84=_0x1ce2e2['length'];for(;_0x391c84--;){const _0x473997=_0x1ce2e2[_0x391c84];if(!this['_ignoredOperations']['has'](_0x473997)){if(!this['_operationToId']['has'](_0x473997)){const _0x14ce74=_0x53029c()['slice'](0x1,0x12);this['_operationToId']['set'](_0x473997,_0x14ce74);}return this['_operationToId']['get'](_0x473997);}}}['setIdForTheLastOperation'](_0x32e42d,_0x31a0d6){if(!_0x31a0d6)return;let _0x4334cf=_0x32e42d['length'];for(;_0x4334cf--;){const _0x2e93a0=_0x32e42d[_0x4334cf];this['_ignoredOperations']['has'](_0x2e93a0)||this['_operationToId']['set'](_0x2e93a0,_0x31a0d6);}}}class n extends _0xdcbc50{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x3f68a4{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x360da2)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x2aaab9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x360e72){super(_0x360e72),this['_services']=new Map();}async['init'](){const _0x39b43b=this['context'],_0x1f0951=_0x39b43b['plugins']['get']('CommentsRepository');if(_0x39b43b['plugins']['get'](c)['addToReconnectionStack'](this),_0x1f0951['adapter']={'addCommentThread':async({channelId:_0x18d894,threadId:_0x5b8e26,comments:_0x33b269,resolvedAt:_0x1c86db,resolvedBy:_0x4d0c1c,context:_0x487c48,attributes:_0x2bc87e})=>{const _0x2b265f=await this['_getService'](_0x18d894)['addCommentThread']({'commentThreadId':_0x5b8e26,'comments':_0x33b269['map'](_0x5449d3=>function(_0x299906,_0x13634b,_0x29abe9){return{'commentThreadId':_0x29abe9,'commentId':_0x299906['commentId'],'userId':_0x299906['authorId'],'content':_0x299906['content'],'documentId':_0x13634b,'createdAt':_0x299906['createdAt'],'attributes':_0x299906['attributes']||{}};}(_0x5449d3,_0x18d894,_0x5b8e26)),'resolvedAt':_0x1c86db,'resolvedBy':_0x4d0c1c,'context':_0x487c48,'attributes':_0x2bc87e})['catch'](ut);return{'threadId':_0x2b265f['commentThreadId'],'comments':_0x2b265f['comments']};},'getCommentThread':async({channelId:_0x28e0a2,threadId:_0x13504e})=>{const _0x1a89ad=await this['_getService'](_0x28e0a2)['getCommentThread'](_0x13504e)['catch'](ut);return _0x1a89ad['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1a89ad]),{'threadId':_0x1a89ad['commentThreadId'],'comments':_0x1a89ad['comments']['map'](_),'context':_0x1a89ad['context'],'resolvedAt':_0x1a89ad['resolvedAt'],'resolvedBy':_0x1a89ad['resolvedBy'],'attributes':_0x1a89ad['attributes']||{}});},'updateCommentThread':async({channelId:_0x2475f1,threadId:_0x36f33d,context:_0x329896,unlinkedAt:_0x4d7c0e,attributes:_0x11b163})=>this['_getService'](_0x2475f1)['updateCommentThread']({'commentThreadId':_0x36f33d,'context':_0x329896,'attributes':_0x11b163,'unlinkedAt':_0x4d7c0e})['catch'](S)['catch'](ut),'resolveCommentThread':async({channelId:_0x322aaf,threadId:_0x135409})=>{const _0x1babf0=await this['_getService'](_0x322aaf)['resolveCommentThread'](_0x135409)['catch'](S)['catch'](ut);return{'threadId':_0x1babf0['commentThreadId'],'resolvedAt':_0x1babf0['resolvedAt'],'resolvedBy':_0x1babf0['resolvedBy']};},'reopenCommentThread':async({channelId:_0x18ac7b,threadId:_0x2725a0})=>this['_getService'](_0x18ac7b)['reopenCommentThread'](_0x2725a0)['catch'](S)['catch'](ut),'removeCommentThread':({channelId:_0x5a39f0,threadId:_0x21001a})=>this['_getService'](_0x5a39f0)['removeCommentThread'](_0x21001a)['catch'](S)['catch'](ut),'addComment':({channelId:_0x5d2aea,threadId:_0x138469,commentId:_0x548241,content:_0x2dcab0,attributes:_0x52a635})=>this['_getService'](_0x5d2aea)['addComment'](_0x138469,_0x548241,_0x2dcab0,_0x52a635)['catch'](ut),'updateComment':({channelId:_0x463bb2,threadId:_0x55ba91,commentId:_0x26a2a8,content:_0x3609d6,attributes:_0xa0351d})=>this['_getService'](_0x463bb2)['updateComment'](_0x55ba91,_0x26a2a8,_0x3609d6,_0xa0351d)['catch'](S)['catch'](ut),'removeComment':({channelId:_0xf881e1,threadId:_0x15f936,commentId:_0x380439})=>this['_getService'](_0xf881e1)['removeComment'](_0x15f936,_0x380439)['catch'](S)['catch'](ut)},_0x39b43b instanceof _0x51b985){const _0xd8b47c=_0x39b43b['config']['get']('collaboration.channelId'),_0x23f506=_0x39b43b['plugins']['get'](i);await this['_setUpService'](_0xd8b47c);const _0x963752=await this['_services']['get'](_0xd8b47c)['getConnectedSessions']();this['listenTo'](_0x23f506,'sessionAdd:'+_0xd8b47c,(_0xab493d,{session:_0x2347f0})=>{_0x2347f0['id']===_0x23f506['mySessionId']&&(_0xab493d['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2347f0['permissions'],_0xd8b47c));}),_0x23f506['register'](_0xd8b47c,_0x963752);}}async['_setUpService'](_0x28c2c5){if(this['_services']['has'](_0x28c2c5))throw new _0x19d29c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x28c2c5});const _0x464d9e=this['context']['plugins']['get']('CommentsRepository'),_0x32490d=new a['CommentsService'](_0x28c2c5);this['_services']['set'](_0x28c2c5,_0x32490d),this['listenTo'](_0x32490d,'commentThreadAdded',(_0x1d7274,_0x5a0e76)=>{const {commentThreadId:_0x114208,documentId:_0x437ec5,context:_0x17617b,attributes:_0x2b331c,resolvedAt:_0x15fb94,resolvedBy:_0x4f67c9,comments:_0x1fd78f}=_0x5a0e76;_0x464d9e['getCommentThread'](_0x114208)||_0x464d9e['addCommentThread']({'threadId':_0x114208,'channelId':_0x437ec5,'comments':_0x1fd78f?_0x1fd78f['map'](_):[],'context':_0x17617b,'attributes':_0x2b331c,'resolvedAt':_0x15fb94,'resolvedBy':_0x4f67c9,'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadUpdated',(_0x3060b8,{commentThreadId:_0x488a61,documentId:_0x33d771,context:_0x62b15,unlinkedAt:_0xdc1f74,attributes:_0x216f3e})=>{_0x464d9e['getCommentThread'](_0x488a61)&&_0x464d9e['updateCommentThread']({'threadId':_0x488a61,'channelId':_0x33d771,'context':_0x62b15,'unlinkedAt':_0xdc1f74,'attributes':_0x216f3e,'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadResolved',(_0xcf65a9,{commentThreadId:_0x125ca9,resolvedBy:_0x54c59e,resolvedAt:_0x235edf})=>{const _0x11b240=_0x464d9e['getCommentThread'](_0x125ca9);_0x11b240&&_0x11b240['resolve']({'resolvedBy':_0x54c59e,'resolvedAt':_0x235edf,'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadReopened',(_0x227cb0,{commentThreadId:_0x426e6f})=>{const _0x409980=_0x464d9e['getCommentThread'](_0x426e6f);_0x409980&&_0x409980['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentThreadRemoved',(_0x4a0f79,{commentThreadId:_0x2d3b44})=>{const _0x4c49fd=_0x464d9e['getCommentThread'](_0x2d3b44);_0x4c49fd&&_0x4c49fd['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentAdded',(_0x53c03b,_0xbbb89f)=>{const _0x30a984=_0xbbb89f['commentThreadId'],_0x21c5a8=_0x464d9e['getCommentThread'](_0x30a984);_0x21c5a8&&_0x21c5a8['addComment']({..._(_0xbbb89f),'isFromAdapter':!0x0});}),this['listenTo'](_0x32490d,'commentUpdated',(_0x4dfc8a,{commentThreadId:_0x5714e1,commentId:_0x3a6bb3,content:_0x3d3e80,attributes:_0x2d4c08})=>{const _0x453630=_0x464d9e['getCommentThread'](_0x5714e1);if(_0x453630){const _0x42e5f6=_0x453630['getComment'](_0x3a6bb3);_0x42e5f6&&_0x42e5f6['update']({'content':_0x3d3e80,'attributes':_0x2d4c08,'isFromAdapter':!0x0});}}),this['listenTo'](_0x32490d,'commentRemoved',(_0x369884,{commentThreadId:_0x4f27f3,commentId:_0x26b442})=>{const _0x25ff28=_0x464d9e['getCommentThread'](_0x4f27f3);if(_0x25ff28){const _0x81a53e=_0x25ff28['getComment'](_0x26b442);_0x81a53e&&_0x81a53e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x28c2c5);}['destroy'](){if(this['context']instanceof _0x51b985){const _0x108050=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x108050);}}['_terminateService'](_0x5b614b){if(!this['_services']['has'](_0x5b614b))throw new _0x19d29c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5b614b});this['_getService'](_0x5b614b)['disconnect'](),this['_services']['delete'](_0x5b614b);}async['reconnect'](){for(const _0x3cb99c of this['_services']['keys']())await this['_connectService'](_0x3cb99c);if(this['context']instanceof _0x51b985){const _0x5dcd31=this['context']['config']['get']('collaboration.channelId'),_0x17de4f=this['context']['plugins']['get'](i);_0x17de4f['unregister'](_0x5dcd31);const _0x11d9d4=await this['_services']['get'](_0x5dcd31)['getConnectedSessions']();_0x17de4f['register'](_0x5dcd31,_0x11d9d4);}}async['_connectService'](_0x1ff709){const {connection:_0x763018}=this['context']['plugins']['get'](c),_0x641f5c=this['context']['plugins']['get']('CommentsRepository'),_0x29a3a7=this['_services']['get'](_0x1ff709),_0x54cbed=await _0x29a3a7['connect'](_0x763018);await this['_fetchMissingUsersForThreads'](_0x54cbed);const _0x4ebbf4=new Set(Array['from'](_0x641f5c['getCommentThreads']({'channelId':_0x1ff709}),_0x3845d8=>_0x3845d8['id']));for(const _0x3523e2 of _0x54cbed)_0x3523e2['deletedAt']||_0x4ebbf4['delete'](_0x3523e2['commentThreadId']);for(const _0x21624b of _0x4ebbf4)_0x641f5c['getCommentThread'](_0x21624b)['remove']({'isFromAdapter':!0x0});for(const _0x2dba35 of _0x54cbed){let _0x4267e3=_0x641f5c['getCommentThread'](_0x2dba35['commentThreadId']);const {commentThreadId:_0xe8eb61,context:_0x2b779a,attributes:_0x125e17,resolvedBy:_0x3ae955,resolvedAt:_0x4d52c7,unlinkedAt:_0x5fe59b,deletedAt:_0x104af3}=_0x2dba35;if(_0x104af3)continue;_0x4267e3||(_0x4267e3=_0x641f5c['addCommentThread']({'channelId':_0x1ff709,'threadId':_0xe8eb61,'context':_0x2b779a,'attributes':_0x125e17||{},'resolvedBy':_0x3ae955,'resolvedAt':_0x4d52c7,'unlinkedAt':_0x5fe59b,'isFromAdapter':!0x0}));const _0x263570=new Set(Array['from'](_0x4267e3['comments'],_0x41cba0=>_0x41cba0['id']));for(const _0x4196f1 of _0x2dba35['comments'])_0x263570['delete'](_0x4196f1['commentId']);for(const _0x5da7e1 of _0x263570)_0x4267e3['getComment'](_0x5da7e1)['remove']({'isFromAdapter':!0x0});for(const _0x28b245 of _0x2dba35['comments']){const _0x1d690d=_0x4267e3['getComment'](_0x28b245['commentId']);_0x1d690d?_0x1d690d['content']!==_0x28b245['content']&&_0x1d690d['update']({'content':_0x28b245['content'],'isFromAdapter':!0x0}):_0x4267e3['addComment'](Object['assign'](_(_0x28b245),{'isFromAdapter':!0x0}));}}}['_getService'](_0x9f7bd0){if(!this['_services']['has'](_0x9f7bd0))throw new _0x19d29c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x9f7bd0});return this['_services']['get'](_0x9f7bd0);}async['_fetchMissingUsersForThreads'](_0x5d45a3){const _0x135367=this['context']['plugins']['get'](_0x2aaab9),{connection:_0xa89817}=this['context']['plugins']['get'](c),_0x18dd78=new Set();for(const {resolvedBy:_0x172d45,comments:_0x49abcf}of _0x5d45a3){_0x172d45&&!_0x135367['getUser'](_0x172d45)&&_0x18dd78['add'](_0x172d45);for(const {userId:_0x3b95b5}of _0x49abcf)_0x135367['getUser'](_0x3b95b5)||_0x18dd78['add'](_0x3b95b5);}if(0x0===_0x18dd78['size'])return;const _0x6cb33=await dt['getMany'](_0xa89817,Array['from'](_0x18dd78));for(const _0x109f9c of _0x6cb33)_0x135367['getUser'](_0x109f9c['id'])||_0x135367['addUser'](_0x109f9c);}}async function S(_0x2513ba){if('404'!==_0x2513ba['code'])throw _0x2513ba;}function ut(_0x5183d4){if((_0x2c1b85=_0x5183d4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2c1b85['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2c1b85['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2c1b85;throw _0x5183d4;}function _(_0x4a7900){return{'threadId':_0x4a7900['commentThreadId'],'commentId':_0x4a7900['commentId'],'content':_0x4a7900['content'],'createdAt':_0x4a7900['createdAt'],'authorId':_0x4a7900['userId'],'attributes':_0x4a7900['attributes']||{}};}class f extends _0xdcbc50{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x39e4ec){super(_0x39e4ec);const _0x11cd5b=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x11cd5b);}['init'](){const _0x462989=this['editor']['plugins']['get'](c),_0x2ca589=this['editor']['plugins']['get']('TrackChangesEditing');return _0x2ca589['adapter']={'getSuggestion':async _0x31f5db=>{await this['_waitForServiceReady']();const _0x305056=await this['_trackChangesService']['get'](_0x31f5db)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x305056]),_0x305056;},'addSuggestion':async({id:_0x519acd,type:_0x1204e3,data:_0xb907b1,originalSuggestionId:_0x517721,attributes:_0x456165})=>{await this['_waitForServiceReady']();const _0xf2a66b={'id':_0x519acd,'type':_0x1204e3,'data':_0xb907b1,'originalSuggestionId':_0x517721,'attributes':_0x456165},_0x4fc642=await this['_trackChangesService']['add'](_0x519acd,_0x1204e3,_0xb907b1,_0x517721,_0x456165)['catch'](_0x2f41cf=>{if(ft(_0x2f41cf))return new Promise(_0x4287e3=>{this['_bufferedRequests']['set'](_0x519acd,{'resolve':_0x4287e3,'suggestionData':_0xf2a66b});});throw _0x2f41cf;});return this['_bufferedRequests']['delete'](_0x519acd),_0x4fc642;},'updateSuggestion':async(_0x59bb8d,_0x58fd22)=>{if(await this['_waitForServiceReady'](),'open'!==_0x58fd22['state'])return this['_trackChangesService']['update'](_0x59bb8d,_0x58fd22)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xf81890,_0x4c7aaf)=>{_0x2ca589['hasSuggestion'](_0x4c7aaf['id'])&&(_0x2ca589['getSuggestion'](_0x4c7aaf['id'])['attributes']=_0x4c7aaf['attributes']);}),this['_trackChangesService']['connect'](_0x462989['connection'])['then'](_0x5f1976=>(_0x462989['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5f1976)['then'](()=>{for(const _0x156d4b of _0x5f1976){_0x2ca589['addSuggestionData'](_0x156d4b)['_saved']=!0x0;}})));}async['reconnect'](){const _0x319808=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x34017f}=this['editor']['plugins']['get'](c),_0x2c2c25=await this['_trackChangesService']['connect'](_0x34017f);await this['_fetchMissingUsersForThreads'](_0x2c2c25);for(const {suggestionData:_0x1e9275,resolve:_0x4e1c2c}of this['_bufferedRequests']['values']()){let _0x3d61aa=_0x2c2c25['find'](_0x36d468=>_0x36d468['id']===_0x1e9275['id']);_0x3d61aa||(_0x3d61aa=await this['_trackChangesService']['add'](_0x1e9275['id'],_0x1e9275['type'],_0x1e9275['data'],_0x1e9275['originalSuggestionId'])),_0x4e1c2c(_0x3d61aa);}for(const _0x6a0f88 of _0x2c2c25)_0x319808['hasSuggestion'](_0x6a0f88['id'])||_0x319808['addSuggestionData'](_0x6a0f88);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4807aa=>{this['listenTo'](this['_trackChangesService'],'connected',_0x74bf41=>{_0x74bf41['off'](),_0x4807aa();});});}async['_fetchMissingUsersForThreads'](_0x45eb53){const _0x208b40=this['editor']['plugins']['get'](_0x2aaab9),{connection:_0x5d8b7b}=this['editor']['plugins']['get'](c),_0x2c2a3c=new Set();for(const {authorId:_0x11486d}of _0x45eb53)_0x208b40['getUser'](_0x11486d)||_0x2c2a3c['add'](_0x11486d);if(0x0===_0x2c2a3c['size'])return;const _0x44d95d=await dt['getMany'](_0x5d8b7b,Array['from'](_0x2c2a3c));for(const _0x482b14 of _0x44d95d)_0x208b40['getUser'](_0x482b14['id'])||_0x208b40['addUser'](_0x482b14);}}function R(_0x416e78){if(ft(_0x416e78))return new Promise(()=>{});throw _0x416e78;}function ft(_0x5d1ee6){return _0x5d1ee6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5d1ee6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0xdcbc50{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3b1d36=this['editor']['plugins']['get'](c),_0x2bc9ca=this['editor']['plugins']['get']('CommentsEditing'),_0x3858dd=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3b1d36,'change:state',(_0x47d1b8,_0xc6511b,_0x49c132)=>{_0x2bc9ca['isThreadsLoadingPaused']='connected'!==_0x49c132;});}),this['listenTo'](_0x3b1d36,'change:state',(_0x19b98e,_0x3147cf,_0x73fbd2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x73fbd2);}),_0x3858dd['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0xdcbc50{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0xdcbc50{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x2aaab9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x64232e){super(_0x64232e);const _0x2629db=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x2629db);}async['init'](){const _0xc85d8d=this['editor']['plugins']['get'](l),_0x563ce0=_0xc85d8d['serverHistory'],_0x4d0b21=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x563ce0,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xc85d8d['sessionId']});const _0x45e40c=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x181637=await tt['isBundleUploaded'](_0x4d0b21['connection'],_0x45e40c);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x1204ed})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1204ed)),'updateRevisions':async _0x5734ed=>{await this['_waitForServiceReady']();const _0x3c136b=this['_revisionTracker']['currentRevision'];if(_0x181637&&0x1===_0x5734ed['length']&&_0x5734ed[0x0]['id']===_0x3c136b['id'])return _0x5734ed;for(const _0xf58391 of _0x5734ed)_0xf58391['id']===_0x3c136b['id']&&(_0xf58391['isEmptyCurrent']=_0xf58391['fromVersion']===_0xf58391['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5734ed,this['_lastRequestId'])['then'](_0x733141=>(this['_lastRequestId']=_0x733141,_0x5734ed))['catch'](_0x4bc883=>{if(st(_0x4bc883)||'400'===_0x4bc883['code']&&void 0x0!==_0x4bc883['data']['wrongRequestId']){for(const _0x5ca906 of _0x5734ed){!this['_revisionTracker']['repository']['getRevision'](_0x5ca906['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5ca906['id'],_0x5ca906,!0x1);}if(st(_0x4bc883))throw _0x4bc883;return _0x5734ed;}throw _0x4bc883;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4b75c4,{revisionsData:_0x2dc1c4,requestId:_0x561b7d})=>{Math['max'](..._0x2dc1c4['map'](_0x4de17f=>_0x4de17f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2dc1c4,_0x561b7d);}):this['_handleRevisionsUpdate'](_0x2dc1c4,_0x561b7d);});const {revisions:_0x294a42,requestId:_0x5e7c39}=await this['_revisionHistoryService']['connect'](_0x4d0b21['connection']);_0x4d0b21['addToReconnectionStack'](this),this['_lastRequestId']=_0x5e7c39,await this['_fetchMissingUsers'](_0x294a42);for(const _0x2751b0 of _0x294a42)this['_revisionTracker']['addRevisionData'](_0x2751b0);this['listenTo'](_0xc85d8d,'change:_isConnected',(_0x4c99a7,_0x39622f,_0x4160d5)=>{_0x4160d5&&(this['_oldOffset']=_0xc85d8d['_offset'],_0x4c99a7['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4d0b21,'state',_0x45b2d4=>_0x45b2d4===_0x312285['CONNECTED']);}async['reconnect'](){const _0x55cc5d=this['editor']['plugins']['get'](c),_0x3b775a=this['editor']['plugins']['get'](l),_0x5541ec=async()=>{const _0xa91d08=this['_revisionTracker']['currentRevision'],_0x5b6b65=_0xa91d08['id'],_0x2a76cc=_0x5b6b65!==_0x3b775a['sessionId'];if(_0x2a76cc){const _0x1855de=_0x3b775a['_offset']-this['_oldOffset'],_0x25d2b3=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xa91d08['toVersion']+_0x1855de!==_0x25d2b3){const _0x113017=_0xa91d08['fromVersion']+_0x1855de,_0x5e1a06=this['editor']['plugins']['get'](_0x2aaab9),_0x47a63d=this['_revisionTracker']['buildRevisionData']({'revision':_0xa91d08,'from':_0x113017,'to':_0x25d2b3});_0x47a63d['id']=_0xa91d08['id'];const _0xa26992=_0x47a63d['authorsIds']['map'](_0x36ce40=>_0x5e1a06['getUser'](_0x36ce40));_0xa91d08['_update']({..._0x47a63d,'authors':_0xa26992},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xa91d08['id'],_0x47a63d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x25d2b3,(_0xa91d08['toVersion']===_0xa91d08['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5b6b65)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5b6b65),this['_revisionTracker']['_createCurrentRevision'](_0x25d2b3));}const {revisions:_0x4c1421,requestId:_0x3d2573}=await this['_revisionHistoryService']['reconnect'](_0x55cc5d['connection'],this['_lastRequestId']);_0x2a76cc&&_0x4c1421['length']>0x0?_0x3b775a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4c1421),this['_handleRevisionsUpdate'](_0x4c1421,_0x3d2573),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3b775a['_isConnected']?_0x5541ec():new Promise((_0xfecb1,_0x252a5b)=>{_0x3b775a['once']('change:_isConnected',()=>{_0x5541ec()['then'](_0xfecb1)['catch'](_0x252a5b);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4fc11a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x53fdfc=>{_0x53fdfc['off'](),_0x4fc11a();});});}['_getLatestVersionFromServerOperations'](){const _0x482b7f=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x50a3c1 of _0x482b7f)if('marker'!==_0x50a3c1['type']||_0x50a3c1['affectsData'])return _0x50a3c1['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5312b2=this['editor']['plugins']['get'](l);return new Promise(_0x49934a=>{_0x5312b2['_isPendingUpdate']?_0x5312b2['once']('change:_isPendingUpdate',()=>{_0x49934a(this['_getLatestVersionFromServerOperations']());}):_0x49934a(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x264b73,_0x361629){const _0x2198e4=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x361629;for(const _0x4a3f04 of _0x264b73){const _0x1d113b=_0x2198e4['getRevision'](_0x4a3f04['id']);if(_0x1d113b){if((_0x4a3f04['fromVersion']||_0x4a3f04['toVersion'])&&(_0x4a3f04['diffData']=null),_0x1d113b===this['_revisionTracker']['currentRevision']){const _0x58a3cf=Math['max'](_0x1d113b['toVersion'],_0x4a3f04['toVersion']),_0xd7e03e=Math['max'](_0x1d113b['fromVersion'],_0x4a3f04['fromVersion']);let _0x16a0e6;_0x1d113b['toVersion']===_0x4a3f04['toVersion']&&_0x1d113b['fromVersion']===_0x4a3f04['fromVersion']?(_0x16a0e6=!0x0,this['_preventResendingRevisionData'](_0x4a3f04)):_0x4a3f04['toVersion']===_0x58a3cf&&_0x4a3f04['fromVersion']===_0xd7e03e?_0x16a0e6=!0x1:(_0x1d113b['toVersion']===_0x58a3cf&&_0x1d113b['fromVersion']===_0xd7e03e||this['_fixRevision']({'revision':_0x1d113b,'from':_0xd7e03e,'to':_0x58a3cf}),_0x16a0e6=!0x0),_0x16a0e6&&(delete _0x4a3f04['fromVersion'],delete _0x4a3f04['toVersion'],delete _0x4a3f04['diffData'],delete _0x4a3f04['createdAt'],delete _0x4a3f04['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4a3f04),this['_preventResendingRevisionData'](_0x4a3f04);}else this['_revisionTracker']['addRevisionData'](_0x4a3f04);}const _0x1ce79f=_0x2198e4['getRevisions']();_0x1ce79f['reverse']();for(let _0xdf97ad=0x0;_0xdf97ad<_0x1ce79f['length']-0x1;_0xdf97ad++){const _0x4a669b=_0x1ce79f[_0xdf97ad],_0x217ae9=_0x1ce79f[_0xdf97ad+0x1];if(_0x4a669b['fromVersion']<_0x217ae9['toVersion']){const _0x36e7f3=_0x217ae9['toVersion'],_0x40fe12=Math['max'](_0x36e7f3,_0x4a669b['toVersion']);this['_fixRevision']({'revision':_0x4a669b,'from':_0x36e7f3,'to':_0x40fe12});}}}['_fixRevision']({revision:_0x5db21d,from:_0x1d3f27,to:_0xf0b379}={}){const _0x19eab9=this['editor']['plugins']['get'](_0x2aaab9),_0x152c55=this['_revisionTracker']['buildRevisionData']({'revision':_0x5db21d,'from':_0x1d3f27,'to':_0xf0b379});_0x152c55['authors']=_0x152c55['authorsIds']['map'](_0x23da0b=>_0x19eab9['getUser'](_0x23da0b)),_0x5db21d['_update'](_0x152c55);}['_preventResendingRevisionData'](_0x66d570){const _0x5498fe={};_0x5498fe['id']=_0x66d570['id'];for(const _0x154b37 of Object['keys'](_0x66d570))'id'!==_0x154b37&&(_0x5498fe[_0x154b37]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5498fe['id'],_0x5498fe,!0x0);}async['_fetchMissingUsers'](_0x2387e2){const _0x5c4807=this['editor']['plugins']['get'](_0x2aaab9),{connection:_0x3ef64d}=this['editor']['plugins']['get'](c),_0x42b1df=new Set();for(const _0x49f416 of _0x2387e2){for(const _0x465f44 of _0x49f416['authorsIds'])_0x5b4edd(_0x465f44);_0x49f416['creatorId']&&_0x5b4edd(_0x49f416['creatorId']);}if(0x0===_0x42b1df['size'])return;const _0x5b44e8=await dt['getMany'](_0x3ef64d,Array['from'](_0x42b1df));for(const _0x3a63ad of _0x5b44e8)_0x5c4807['getUser'](_0x3a63ad['id'])||_0x5c4807['addUser'](_0x3a63ad);function _0x5b4edd(_0x88e32f){_0x5c4807['getUser'](_0x88e32f)||_0x42b1df['add'](_0x88e32f);}}}function st(_0x4aa927){return _0x4aa927['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4aa927['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4aa927['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0xdcbc50{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x2e989d{['_collapseAt'];constructor(_0x365a26,_0x3525c1=0x6){super(_0x365a26);const _0x536e5c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3525c1,this['bind']('isHidden')['to'](this,'usersCount',_0x35297e=>_0x35297e<_0x3525c1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x536e5c['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x536e5c['to']('usersCount',_0x4bcfed=>'+'+(_0x4bcfed-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x2e989d{['items'];['keystrokes'];constructor(_0x35ab4d){super(_0x35ab4d);const _0x76cf8b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x404036(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x76cf8b['if']('hasPopup'),'aria-expanded':_0x76cf8b['to']('isExpanded',_0x3ba6ce=>this['hasPopup']&&String(_0x3ba6ce)),'aria-label':_0x76cf8b['to']('hasPopup',_0x749496=>G(_0x35ab4d,_0x749496?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x76cf8b['to']('hasPopup',_0x32d8f7=>!!_0x32d8f7&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x76cf8b['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x76cf8b['to'](_0x59bc99=>{const _0x1ef8c9=_0x59bc99,_0x887bdf=document['querySelector']('.ck-presence-list__dropdown-list'),_0x895301=document['querySelector']('.ck-balloon-panel_with-arrow');_0x887bdf?.['contains'](_0x1ef8c9['relatedTarget'])||_0x895301?.['contains'](_0x1ef8c9['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x10e1b5,_0x552375,_0x48517d)=>{this['element']&&(_0x48517d?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class j extends _0x2e989d{['counterView'];['inlineListView'];constructor(_0x1b8ac1,_0x3e0517=0x6){super(_0x1b8ac1);const _0x3610f2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x3e0517),this['inlineListView']=new ts(_0x1b8ac1),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x57a820 of this['inlineListView']['items'])_0x57a820['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x3610f2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x2e989d{['listWrapperView'];constructor(_0x1241ef,_0x338d81){super(_0x1241ef);const _0x11b294=this['bindTemplate'];this['listWrapperView']=new mt(_0x1241ef,_0x338d81),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0x1241ef,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x11b294['to'](_0xaee2e8=>{const _0x2d966f=_0xaee2e8,_0x4f165f=document['querySelector']('.ck-presence-list__list'),_0x2c1565=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4f165f?.['contains'](_0x2d966f['relatedTarget'])||_0x2c1565?.['contains'](_0x2d966f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x54e28b{constructor(_0x55d925,_0x34c8cf){super(_0x55d925);const _0x20d615=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x34c8cf?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x20d615['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x20d615['to']('role'),'aria-label':_0x20d615['to']('ariaLabel'),'aria-labelledby':_0x20d615['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4366f0['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x115303=this['element'];_0x115303&&(this['_isScrollable']=Math['max'](_0x115303['scrollHeight'],_0x115303['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x2e0100,_0x120255,_0x2a855b){super(_0x2e0100);const _0x49023e=this['bindTemplate'];this['userView']=new ct(_0x2e0100,_0x120255);const _0x46308e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x120255['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x120255['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x120255['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2a855b&&(_0x46308e['tag']='button',_0x46308e['on']={'click':_0x49023e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x46308e);}['focus'](){this['element']['focus']();}}class y extends _0x2e989d{['userView'];['markerView'];constructor(_0x3109a3,_0x20b7d8,_0x6ae8be){super(_0x3109a3);const _0x38ebf4=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x3109a3,_0x20b7d8),this['markerView']=new at(_0x3109a3,_0x20b7d8);const _0x3ead27=new ot(_0x3109a3);_0x3ead27['template']['tag']='span',_0x3ead27['text']=_0x20b7d8['name'];const _0x1e80e1={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x38ebf4['to']('isFocusable',_0x2a4671=>!!_0x2a4671&&0x0),'aria-labelledby':_0x3ead27['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x38ebf4['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x38ebf4['to']('hasTooltip',_0x28082f=>!_0x28082f),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3ead27]};_0x6ae8be&&(_0x1e80e1['tag']='button',_0x1e80e1['on']={'click':_0x38ebf4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1e80e1);}}class at extends _0x2e989d{constructor(_0x3dcda4,_0x9fcaec){super(_0x3dcda4),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x9fcaec['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3f68a4{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x19a29d){super(_0x19a29d),this['context']['config']['define']('presenceList',C);const _0x12df01=_0x19a29d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x12df01)throw new _0x19d29c('presencelist-collapseat-invalid-format',this);if(_0x12df01<0x1)throw new _0x19d29c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x52ca00(),this['balloonPanelView']=new _0xcc0d89(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x5cfed2 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5cfed2);this['listenTo'](this['_allConnectedUsers'],'add',(_0x56d3a6,_0x47dfe1)=>{this['_handleUserAdd'](_0x47dfe1);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x59dbd4,_0x23f143)=>{this['_handleUserRemove'](_0x23f143);});}['_createView'](){const _0x16261d=this['context'],_0x4202fa=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x14d7bd=this['balloonPanelView'];if(!_0x2a9041(_0x16261d['config']['get']('presenceList.container')))throw new _0x19d29c('presencelist-missing-container',this);return _0x4202fa['counterView']['bind']('usersCount')['to'](this),_0x4202fa['bind']('isCollapsed')['to'](this,'usersCount',_0x5d8510=>{const {collapseAt:_0x305099}=_0x16261d['config']['get']('presenceList'),_0xef56f1=_0x5d8510>=_0x305099;if(_0xef56f1&&!_0x4202fa['inlineListView']['items']['find'](_0x4d44ec=>_0x4d44ec instanceof A)){const _0x42c424=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x42c424&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4202fa['inlineListView']['items']['add'](_0x4202fa['counterView']);}return _0xef56f1||this['hideDropdown'](),_0xef56f1;}),_0x4202fa['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2104d9=>{const _0x4d316b=_0x16261d['config']['get']('presenceList'),_0x4b451b=new y(_0x16261d['locale'],_0x2104d9,!!_0x4d316b['onClick']);return _0x4b451b['bind']('hasTooltip')['to'](_0x4202fa,'isCollapsed',_0x32167f=>!_0x32167f),_0x4b451b['bind']('isFocusable')['to'](_0x4202fa,'isCollapsed',_0x446efb=>!_0x446efb),_0x4d316b['onClick']&&this['listenTo'](_0x4b451b,'execute',()=>{this['view']['isCollapsed']||_0x4d316b['onClick'](_0x2104d9,_0x4b451b['element']);}),_0x4b451b;}),this['listenTo'](_0x4202fa['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4202fa['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4202fa['inlineListView']['keystrokes']['set']('Enter',(_0x9b662d,_0xf0edfb)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0xf0edfb());}),_0x4202fa['render'](),_0x14d7bd['render'](),_0x57da6e({'emitter':_0x4202fa,'activator':()=>_0x14d7bd['isVisible'],'contextElements':[_0x14d7bd['element'],_0x4202fa['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x16261d['config']['get']('presenceList.container')['appendChild'](_0x4202fa['element']),this['_bodyCollection']=new _0x202965(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4202fa;}['_handleUserAdd'](_0x10911b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x10911b['isMe'])return;const _0x3ccace=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3ccace-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2e3c91=_0x10911b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x10911b,_0x2e3c91);}['_handleUserRemove'](_0xfe4e63){this['usersCount']--;const {collapseAt:_0x353d15}=this['context']['config']['get']('presenceList'),_0x64d6e0=this['usersCount']>=_0x353d15;if(this['currentDisplayedUsers']['get'](_0xfe4e63['id']))this['currentDisplayedUsers']['remove'](_0xfe4e63['id']);else{if(_0x64d6e0&&this['currentDisplayedUsers']['length']+0x1===_0x353d15-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x64d6e0?0x1:0x0)<this['usersCount']){for(const _0x43b9de of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x43b9de['id'])&&(this['currentDisplayedUsers']['add'](_0x43b9de,Math['min'](this['currentDisplayedUsers']['length']-(_0x64d6e0?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x64d6e0?0x1:0x0)===_0x353d15-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xa19e41=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0xa19e41['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4c650e}=this['presenceDropdownView'];_0x4c650e['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x50fe43=>{if(!_0xa19e41['displayMe']&&_0x50fe43['isMe'])return null;const _0x5dfe54=new k(this['context']['locale'],_0x50fe43,!!_0xa19e41['onClick']);return _0xa19e41['onClick']&&this['listenTo'](_0x5dfe54,'execute',()=>{_0xa19e41['onClick'](_0x50fe43,_0x5dfe54['element']);}),_0x5dfe54;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4c650e['focus'](),_0x4c650e['checkIfScrollable']();const _0xed00dc=(_0x3c3727,_0x1e0c37)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1e0c37();};_0x4c650e['keystrokes']['set']('Esc',_0xed00dc),_0x4c650e['keystrokes']['set']('Shift+Tab',_0xed00dc),_0x4c650e['keystrokes']['set']('Tab',(_0x11a183,_0xca72a2)=>{!function(_0x33ba48){const _0x578417=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5206b3=>_0x5206b3+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x42433a=[...document['body']['querySelectorAll'](_0x578417)]['filter'](_0x3142ab=>_0x3142ab===document['activeElement']||_0x3142ab['offsetWidth']+_0x3142ab['offsetHeight']>0x0)['sort']((_0x473760,_0x4379bf)=>(_0x473760['tabIndex']||0x0)-(_0x4379bf['tabIndex']||0x0)),_0x393891=_0x42433a['indexOf'](_0x33ba48),_0x3471ed=_0x42433a[(_0x393891+0x1)%_0x42433a['length']];_0x3471ed&&_0x3471ed['focus']();}(this['view']['element']),this['hideDropdown'](),_0xca72a2();}),_0x4c650e['focusTracker']['add'](this['view']['element']),_0x4c650e['focusTracker']['on']('change:isFocused',(_0x3758f1,_0x55cce6,_0x3cbf80)=>{_0x3cbf80||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x3f68a4{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};