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

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 _0x2b84e4,Plugin as _0x1d73f4,PendingActions as _0x47eaa4,Context as _0x33d726}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x2ded50,CKEditorError as _0x3359aa,Collection as _0x1af149,global as _0x10d1d7,version as nt,uid as _0x55d93b,KeystrokeHandler as _0x5841c3}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x287102,View as _0xbb9c35,ListView as _0x310008,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x2dcabe,clickOutsideHandler as _0x1c2462,BodyCollection as _0x423669}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0xd2bb7e,NoOperation as _0x159c55,InsertOperation as _0x5c1047,MarkerOperation as _0x4bdbcb,RootAttributeOperation as _0x1c2c98,transformSets as _0x32289b,OperationFactory as _0x1d157f}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x3d541f,CollaborativeEditingService as _0x2fd421,User as lt,CommentsService as _0x54e42b,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x321f72,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3fd1b6}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x572beb}from'lodash-es';class c extends _0x2b84e4{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x287102];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x2e88c9){super(_0x2e88c9),this['set']('state',_0x3d541f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x2ded50);}['init'](){const _0x40086d=this['context'],_0x17f296=_0x40086d['plugins']['get']('CloudServices'),_0x3cd539=_0x40086d['plugins']['get'](_0x287102);if(!_0x17f296['token'])throw new _0x3359aa('websocketgateway-missing-token',this);if(!_0x17f296['webSocketUrl'])throw new _0x3359aa('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'](_0x17f296['token'],_0x17f296['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x9f3bd5=>{if(this['connection']=_0x9f3bd5,this['bind']('state')['to'](_0x9f3bd5,'state',this,'_isBrowserOffline',(_0x2e15ed,_0x4e84fc)=>('connected'!==_0x2e15ed&&(this['_shouldPluginsReconnect']=!0x0),_0x4e84fc||_0x2e15ed!==_0x3d541f['CONNECTED']?_0x3d541f['DISCONNECTED']:this['state']==_0x3d541f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3d541f['CONNECTING']):_0x3d541f['CONNECTED'])),this['connection']['on']('error',(_0x344e8a,_0x1e7eab)=>{if('limitExceeded'!==_0x1e7eab['code'])throw console['error'](_0x1e7eab),new _0x3359aa('cloudservices-init',null,{'originalError':_0x1e7eab});_0x3cd539['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'});}),!_0x9f3bd5['me'])return new Promise(_0x4be75a=>_0x9f3bd5['on']('change:me',_0x4be75a));})['catch'](_0x547ece=>{throw console['error'](_0x547ece),new _0x3359aa('cloudservices-init',null,{'originalError':_0x547ece});});}['addToReconnectionStack'](_0x316f3e){if('function'!=typeof _0x316f3e['reconnect'])throw new _0x3359aa('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x316f3e))throw new _0x3359aa('websocketgateway-plugin-already-registered',this,{'name':_0x316f3e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x316f3e);}['removeFromReconnectionStack'](_0x56fc03){this['_reconnectionStack']['delete'](_0x56fc03);}['isInReconnectionStack'](_0x24c4ec){return this['_reconnectionStack']['has'](_0x24c4ec);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x312ee4=>_0x312ee4['reconnect']())))['then'](()=>this['state']=_0x3d541f['CONNECTED'])['catch'](_0x3df90d=>{throw console['error'](_0x3df90d),new _0x3359aa('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3d541f['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x2b84e4{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x321f72];}constructor(_0x2082f6){super(_0x2082f6),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1af149(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x321f72);}['init'](){const _0x20af3d=this['context']['plugins']['get'](c);this['listenTo'](_0x20af3d,'change:state',(_0x59f324,_0x54eef3,_0x3c53b2)=>{if('connected'!==_0x3c53b2)this['channelSessions']['forEach'](_0x4ca322=>_0x4ca322['clear']()),this['channelConnectedUsers']['forEach'](_0xc000fd=>_0xc000fd['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1f8dac,_0x2bebda]of this['_registeredSessions'])for(const _0x629c76 of _0x2bebda)this['_handleSessionAdd'](_0x1f8dac,_0x629c76);}}),this['_createUser'](_0x20af3d['connection']['me'],!0x0);}['register'](_0x1c8e5d,_0x30cfa3){if(this['_registeredSessions']['has'](_0x1c8e5d))throw new _0x3359aa('sessions-register-already-registered',null,{'channelId':_0x1c8e5d});this['_registeredSessions']['set'](_0x1c8e5d,_0x30cfa3),this['channelSessions']['set'](_0x1c8e5d,new _0x1af149()),this['channelConnectedUsers']['set'](_0x1c8e5d,new _0x1af149()),this['listenTo'](_0x30cfa3,'add',(_0x56ba99,_0x49ad64)=>this['_handleSessionAdd'](_0x1c8e5d,_0x49ad64)),this['listenTo'](_0x30cfa3,'remove',(_0x38af64,_0x1dfe2c)=>this['_handleSessionRemove'](_0x1c8e5d,_0x1dfe2c));for(const _0x221294 of _0x30cfa3)this['_handleSessionAdd'](_0x1c8e5d,_0x221294);}['unregister'](_0x17034f){if(!this['_registeredSessions']['has'](_0x17034f))throw new _0x3359aa('sessions-unregister-not-exist',null,{'channelId':_0x17034f});const _0x112ece=this['_registeredSessions']['get'](_0x17034f);this['stopListening'](_0x112ece);for(const _0x1aca61 of _0x112ece)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x17034f,_0x1aca61);this['_registeredSessions']['delete'](_0x17034f),this['channelSessions']['delete'](_0x17034f),this['channelConnectedUsers']['delete'](_0x17034f);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x4e09d7){for(const _0x2b3202 of this['channelSessions']['values']())for(const _0x380268 of _0x2b3202)if(_0x380268['id']===_0x4e09d7)return _0x380268['user'];}['getUserSessions'](_0x37caf7,_0x510a4d){const _0x453617=_0x510a4d?[this['channelSessions']['get'](_0x510a4d)]:this['channelSessions']['values'](),_0x1ec094=new Set();for(const _0x54048a of _0x453617)for(const _0x45b2c8 of _0x54048a)_0x45b2c8['user']['id']===_0x37caf7['id']&&_0x1ec094['add'](_0x45b2c8['id']);return _0x1ec094;}['getUserRole'](_0x4abc13){for(const _0x265a1c of this['channelSessions']['values']())for(const _0x409023 of _0x265a1c)if(_0x409023['user']===_0x4abc13)return _0x409023['role'];}['_handleSessionAdd'](_0x3eeb1b,_0x4f461e){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x16e65a=_0x4f461e['user'],_0x97a9b4=this['_users']['getUser'](_0x16e65a['id'])||this['_createUser'](_0x16e65a),_0x222e48=Object['assign']({},_0x4f461e,{'user':_0x97a9b4});this['channelSessions']['get'](_0x3eeb1b)['add'](_0x222e48);const _0x4e7e34=this['channelConnectedUsers']['get'](_0x3eeb1b);_0x4e7e34['has'](_0x97a9b4['id'])||_0x4e7e34['add'](_0x97a9b4),this['allConnectedUsers']['has'](_0x97a9b4['id'])||this['allConnectedUsers']['add'](_0x97a9b4,_0x97a9b4['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3eeb1b,{'channelId':_0x3eeb1b,'session':_0x222e48});}['_handleSessionRemove'](_0x6c5482,_0x3c10bc){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x152ae4=this['channelConnectedUsers']['get'](_0x6c5482),_0x13d23a=_0x3c10bc['user'];_0x13d23a['id']&&(this['channelSessions']['get'](_0x6c5482)['remove'](_0x3c10bc['id']),_0x152ae4['has'](_0x13d23a['id'])&&!this['getUserSessions'](_0x13d23a,_0x6c5482)['size']&&_0x152ae4['remove'](_0x13d23a['id']),this['allConnectedUsers']['get'](_0x13d23a['id'])&&!this['getUserSessions'](_0x13d23a)['size']&&this['allConnectedUsers']['remove'](_0x13d23a['id']));}['_createUser'](_0x2c1357,_0x306db8){const _0x38885f=this['_users']['addUser'](_0x2c1357);return _0x306db8&&this['_users']['defineMe'](_0x2c1357['id']),_0x38885f['orderNumber']=this['_uniqueUsersCount']++,_0x38885f;}}class H extends _0x1d73f4{['_domEmitter']=new(_0x2ded50())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x19f85a=this['editor'],_0x53feea=_0x19f85a['plugins']['get'](r);_0x19f85a['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3bdf9e,{writer:_0x43c1a8})=>function(_0x2a6917,_0x32bfec,_0x307827,_0x1a18ac){const _0xaada1=_0x2a6917['markerName']['split'](':')[0x2],_0x3d3cb0=_0x307827['getUserBySessionId'](_0xaada1);if(!_0x3d3cb0||_0xaada1===_0x307827['mySessionId'])return;if(!_0x1a18ac['model']['schema']['checkChild'](_0x2a6917['markerRange']['start'],'$text'))return;const _0x3a5613={'class':'ck-user__marker\x20'+_0x3d3cb0['color']['getMarkerClass'](),'data-name':_0x3d3cb0['name'],'data-session-id':_0xaada1},_0xdbae56=_0x1a18ac['model']['markers']['get'](_0x2a6917['markerName']),_0x56e752=_0xdbae56['getStart'](),_0x429d67=_0x56e752['nodeAfter'],_0x4d2137=_0x1a18ac['model']['schema'];if(_0x429d67&&_0x4d2137['isObject'](_0x429d67)&&_0x4d2137['isInline'](_0x429d67)&&!_0x1a18ac['model']['markers']['get']('user:range:'+_0xaada1)['getRange']()['isCollapsed'])return;const _0x424b34=_0x56e752['parent'];return _0x1a18ac['model']['schema']['isLimit'](_0x424b34)&&!_0x1a18ac['model']['hasContent'](_0x424b34)&&(_0x3a5613['contenteditable']=!0x1),function(_0x1e8b4c,_0x36bc6a,_0x3a2dc4){const _0x1a5f57=_0x1e8b4c['createUIElement']('span',_0x36bc6a);return _0x1e8b4c['setCustomProperty']('userPositionMarker',!0x0,_0x1a5f57),_0x1a5f57['render']=function(_0x11b245){const _0x246c10=this['toDomElement'](_0x11b245);return _0x246c10['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x3a2dc4['name']+'</span>⁠',_0x246c10['addEventListener']('mouseenter',()=>{_0x246c10['classList']['add']('ck-user__marker_hovered');}),_0x246c10['addEventListener']('mouseleave',()=>{_0x246c10['classList']['remove']('ck-user__marker_hovered');}),_0x246c10;},_0x1a5f57['isSimilar']=function(_0x1c0e9c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1c0e9c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1c0e9c['getAttribute']('data-session-id'));},_0x1a5f57;}(_0x32bfec,_0x3a5613,_0x3d3cb0);}(_0x3bdf9e,_0x43c1a8,_0x53feea,_0x19f85a)}),_0x19f85a['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4c908b=>function(_0x11335a,_0x484c23){const _0x207f92=_0x11335a['markerName']['split'](':')[0x2];if(_0x207f92===_0x484c23['mySessionId'])return null;const _0x4ca3a0=_0x484c23['getUserBySessionId'](_0x207f92);if(!_0x4ca3a0)return{'id':_0x207f92,'classes':[]};return{'id':_0x207f92,'classes':['ck-user__selection',_0x4ca3a0['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x207f92},'priority':0x7d0+_0x4ca3a0['orderNumber']};}(_0x4c908b,_0x53feea)}),function(_0x36df54){const _0x2c544c=_0x36df54['model'],_0x51442b=new Map(),_0x3f3ec5=_0x36df54['plugins']['get'](r);_0x2c544c['markers']['on']('update:user:range',(_0x1c7998,_0x1f7240,_0x56a501,_0x586957)=>{if(!_0x586957&&_0x51442b['get'](_0x1f7240['name']))return _0x51442b['get'](_0x1f7240['name'])['detach'](),void _0x51442b['delete'](_0x1f7240['name']);const _0x3a2d10=_0x1f7240['name']['split'](':')[0x2];if(_0x3a2d10===_0x3f3ec5['mySessionId'])return;const _0x3c5168='user:position:'+_0x3a2d10;_0x2c544c['markers']['has'](_0x3c5168)&&_0x36df54['editing']['reconvertMarker'](_0x3c5168),_0x1f7240['on']('change:range',(_0x29cb58,_0x39824a,_0x2db738)=>{if('$graveyard'!=_0x39824a['root']['rootName']&&'$graveyard'==_0x1f7240['getRange']()['root']['rootName']&&!_0x51442b['has'](_0x1f7240['name'])){const _0x324366=_0x2c544c['schema']['getNearestSelectionRange'](_0x2db738['deletionPosition']);if(_0x324366){const _0x3f5852=ht['fromRange'](_0x324366);_0x51442b['set'](_0x1f7240['name'],_0x3f5852),_0x3f5852['on']('change:range',(_0x11e385,_0x1dcf2e,_0x5752fa)=>{if('$graveyard'==_0x3f5852['root']['rootName']){const _0x3b5908=_0x2c544c['schema']['getNearestSelectionRange'](_0x5752fa['deletionPosition']);_0x3b5908?(_0x3f5852['start']=_0x3b5908['start'],_0x3f5852['end']=_0x3b5908['end']):(_0x51442b['delete'](_0x1f7240['name']),_0x3f5852['detach']());}});}}});}),_0x2c544c['document']['on']('change',()=>{_0x51442b['size']>0x0&&_0x2c544c['enqueueChange']({'isUndoable':!0x1},_0x1b1736=>{for(const [_0x89afd7,_0x3c7bad]of _0x51442b)'$graveyard'==_0x2c544c['markers']['get'](_0x89afd7)['getRange']()['root']['rootName']&&(re(_0x89afd7['split'](':')[0x2],_0x3c7bad['toRange'](),_0x2c544c,_0x1b1736),_0x3c7bad['detach']());_0x51442b['clear']();});});}(_0x19f85a),this['_domEmitter']['listenTo'](_0x10d1d7['document'],'keydown',(_0x50baa2,{key:_0xea58d4})=>{'Escape'===_0xea58d4&&function(_0x4ed4ec){_0x4ed4ec['editing']['view']['change'](_0x50d0fa=>{for(const _0x1c9180 of _0x4ed4ec['model']['markers']){if(!_0x1c9180['name']['startsWith']('user:position'))continue;const _0x128d83=_0x4ed4ec['editing']['mapper']['markerNameToElements'](_0x1c9180['name']);if(_0x128d83){for(const _0x505b96 of _0x128d83)_0x50d0fa['removeClass']('ck-user__marker_hovered',_0x505b96);}}});}(_0x19f85a);},{'useCapture':!0x0});}['afterInit'](){const _0x2c9260=this['editor'],_0x1fc297=_0x2c9260['commands']['get']('undo');_0x1fc297&&_0x2c9260['model']['on']('applyOperation',(_0x1a78b5,_0x2e991f)=>{const _0x478675=_0x2e991f[0x0];if('marker'!=_0x478675['type']||!_0x478675['name']['startsWith']('user:'))return;const _0x254439=_0x478675['batch'];_0x1fc297['_createdBatches']['has'](_0x254439)&&(_0x478675['newRange']=_0x478675['oldRange']?_0x2c9260['model']['createRange'](_0x478675['oldRange']['start'],_0x478675['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2b937a=this['editor'],_0x14c903=_0x2b937a['model']['document'],_0x437918=_0x2b937a['plugins']['get'](r);_0x2b937a['model']['enqueueChange']({'isUndoable':!0x1},_0x47849c=>{const _0x3df8d0='user:range:'+_0x437918['mySessionId'],_0x20749c='user:position:'+_0x437918['mySessionId'],_0x532bb8=_0x2b937a['model']['markers']['has'](_0x3df8d0);_0x2b937a['editing']['view']['hasDomSelection']?re(_0x437918['mySessionId'],_0x14c903['selection']['getFirstRange'](),_0x2b937a['model'],_0x47849c):_0x532bb8&&(_0x47849c['removeMarker'](_0x3df8d0),_0x47849c['removeMarker'](_0x20749c));});}}function re(_0x3b5e30,_0x537b68,_0x540035,_0x2d30de){const _0x34384c='user:range:'+_0x3b5e30,_0x5c651b='user:position:'+_0x3b5e30,_0x353c70=_0x537b68['getContainedElement']();let _0x51f5ed=_0x537b68['start'];_0x353c70&&_0x353c70['is']('element','tableCell')&&(_0x51f5ed=function(_0x230290,_0x3db767){for(const _0x57db04 of _0x230290['getPositions']())if(_0x3db767['schema']['checkChild'](_0x57db04,'$text'))return _0x57db04;}(_0x537b68,_0x540035),_0x537b68=_0x2d30de['createRange'](_0x51f5ed));const _0x49a502=_0x2d30de['createRange'](_0x51f5ed);_0x540035['markers']['has'](_0x34384c)?(_0x2d30de['updateMarker'](_0x34384c,{'range':_0x537b68}),_0x2d30de['updateMarker'](_0x5c651b,{'range':_0x49a502})):(_0x2d30de['addMarker'](_0x34384c,{'range':_0x537b68,'usingOperation':!0x0}),_0x2d30de['addMarker'](_0x5c651b,{'range':_0x49a502,'usingOperation':!0x0}));}function q(_0x1b42f3,_0x1684e3,_0x20aad4){const t=_0x1b42f3['t'];switch(_0x1684e3){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 t({'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'},_0x20aad4);default:return'';}}let K=0x1;class l extends _0x1d73f4{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x2fd421)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,H,_0x47eaa4,_0x321f72,_0x287102];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x40e2a4=this['serverHistory']['getOperations']();for(let _0x598287=_0x40e2a4['length']-0x1;_0x598287>=0x0;_0x598287--){const _0x44d636=_0x40e2a4[_0x598287];if(!this['_disconnectionOperations']['has'](_0x44d636))return _0x44d636['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x330a5f){if(super(_0x330a5f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xd2bb7e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3359aa('collaboration-missing-channelid',this);const _0x4dca8e=_0x330a5f['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x4dca8e,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3fd1b6(),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 X(this['_disconnectionOperations']);}['init'](){const _0x4fc864=this['editor'],_0x5248c5=_0x4fc864['plugins']['get'](_0x321f72),_0x285e67=_0x4fc864['plugins']['get'](c);this['listenTo'](_0x5248c5,'getOperationAuthor',(_0x40731e,_0xd8b7de)=>{const _0x371843=_0xd8b7de[0x0];_0x371843['_authorId']&&(_0x40731e['return']=_0x5248c5['getUser'](_0x371843['_authorId']),_0x40731e['stop']()),null===_0x371843['_authorId']&&(_0x40731e['return']=null,_0x40731e['stop']());},{'priority':'high'}),this['listenTo'](_0x4fc864['model']['document']['selection'],'change:range',(_0x491e49,_0x495578)=>{_0x495578['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4fc864['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4fc864['model']['on']('applyOperation',(_0x2e0b79,_0x15bedf)=>{const _0x328cca=_0x15bedf[0x0];_0x328cca['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x328cca),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x285e67,'state',this,'_hasSynchronizationProblem',(_0x2428d8,_0x20f390)=>'connected'===_0x2428d8&&!_0x20f390),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4fc864['disableReadOnlyMode']('rtc-offline'):_0x4fc864['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4fc864['disableReadOnlyMode']('rtc-offline'):_0x4fc864['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3b3ba4=this['editor']['plugins']['get'](r),_0x256f85=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x3b3ba4['unregister'](this['_channelId']);const _0x5bec48=await this['_service']['reconnect'](_0x256f85['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5bec48)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x167ff3=await this['_service']['getConnectedSessions']();_0x3b3ba4['register'](this['_channelId'],_0x167ff3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x174557){if(function(_0x9d19ad){return'404'===_0x9d19ad['code'];}(_0x174557)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x122b01){return'409'===_0x122b01['code'];}(_0x174557)){const _0x224d52=q(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x224d52);}else{if(!(_0x174557 instanceof J))throw _0x174557;this['_handleReconnectionError']();}}}}['destroy'](){const _0x82594e=this['editor']['plugins']['get'](c),_0x43b8ce=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x43b8ce['channelSessions']['has'](this['_channelId'])&&_0x43b8ce['unregister'](this['_channelId']),_0x82594e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1a45f7){if(this['sessionId']!==_0x1a45f7['sessionId']&&this['_lastSyncedOperationId']!==_0x1a45f7['lastOperationId'])throw new J();return this['sessionId']=_0x1a45f7['sessionId'],this['_handleServerResponse']([],{..._0x1a45f7,'wereChangesApplied':!0x1,'data':_0x1a45f7['data']},'reconnect');}async['_connectService'](_0x2f51c7,_0x32b2df=!0x1){const {connection:_0x166c96}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x166c96,this['_channelId'])['then'](_0x351519=>this['_initSessionsHandling'](_0x351519))['catch'](_0x464306=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x464306);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x138a7a,_0x1ca6d3)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x1ca6d3);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3df5cc=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2f51c7);this['_isPendingUpdate']=!0x0;const _0x352f12=await this['_service']['connect'](_0x166c96,this['_compressOperations'](_0x2f51c7),_0x3df5cc);if(this['sessionId']=_0x352f12['sessionId'],_0x32b2df){if(!_0x352f12['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x352f12['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2f51c7,_0x352f12,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x352f12,_0x2f51c7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x25d5c8=this['editor']['plugins']['get'](r),_0x72fe69=this['editor']['plugins']['get'](H),_0x211f73=_0x25d5c8['channelSessions']['get'](this['_channelId']);_0x211f73&&_0x211f73['length']>0x1?_0x72fe69['createUserMarkerOperations']():this['listenTo'](_0x25d5c8,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x25d5c8['channelSessions']['get'](this['_channelId'])['length']&&_0x72fe69['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x173e32,_0x3b6b7d,_0x43da60,_0x2d624f){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3b6b7d){const _0x7100ec=this['_decompressOperations'](_0x43da60,_0x2d624f);await this['_fetchMissingUsers'](_0x7100ec),this['_handleExternalOperations'](_0x7100ec,_0x3b6b7d,_0x43da60['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x22eee3}=this['editor'];let _0x1b53a4;try{_0x1b53a4=await this['_service']['getDocumentDetails']();}catch(_0xc35bfe){const _0x927ff=q(_0x22eee3,'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'](_0x927ff);}const _0x2d84b2=_0x1b53a4['currentDocumentSession']||_0x1b53a4['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x2d84b2['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x5dbe35=q(_0x22eee3,'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'](_0x5dbe35);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xd3084c){const _0x461f4d=this['editor']['plugins']['get'](r);this['listenTo'](_0x461f4d,'sessionAdd:'+this['_channelId'],(_0x2609f2,{session:_0x504cbf})=>{if(_0x504cbf['id']===_0x461f4d['mySessionId']){_0x2609f2['off']();const _0x3d3599=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x29efe4=_0x504cbf['permissions'];_0x3d3599&&_0x3d3599['isEnabled']&&(_0x29efe4=_0x29efe4['filter'](_0x5ef0d3=>'document:write'!==_0x5ef0d3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x29efe4,this['_channelId']);}}),_0x461f4d['register'](this['_channelId'],_0xd3084c);}['_initThrowingOnDataSet'](){const _0x1073b5=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x9a13d4)=>{if(!_0x9a13d4[_0x9a13d4['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3359aa('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1073b5['apply'](this['editor']['data'],_0x9a13d4);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2dd41f,[_0x5277a0])=>{if(this['_document']['version'])throw new _0x3359aa('realtimecollaborationclient-init-document-already-initialized',this);_0x2dd41f['stop'](),this['_setPendingAction']();const _0x5ef7ef=this['editor']['config']['get']('rootsAttributes'),_0x489633=this['_getOperationsFromInitData'](_0x5277a0,_0x5ef7ef);0x0==_0x489633['length']&&_0x489633['push'](new _0x159c55(0x0)),_0x2dd41f['return']=this['_connectService'](_0x489633)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x77e183=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x77e183))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x5658ad,[_0x341180,_0x4f0cec])=>{_0x5658ad['stop']();const _0x36c4cc=this['editor']['model']['document']['getRoot'](_0x341180);if(!this['_knownRootNames']['has'](_0x341180)){const _0x49045a=_0x4f0cec&&_0x4f0cec['data']?_0x4f0cec['data']:'',_0x25567a=_0x4f0cec&&_0x4f0cec['attributes']?_0x4f0cec['attributes']:{};await this['_loadRoot'](_0x341180,_0x49045a,_0x25567a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x36c4cc['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x36c4cc);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2ae2c5){const _0x56fe93=this['editor']['plugins']['get'](_0x321f72),{connection:_0x780298}=this['editor']['plugins']['get'](c),_0x45d47a=new Set();for(const _0x39b777 of _0x2ae2c5){const _0x5ce851=_0x39b777['_authorId'];_0x5ce851&&!_0x56fe93['getUser'](_0x5ce851)&&_0x45d47a['add'](_0x5ce851);}if(0x0===_0x45d47a['size'])return;const _0x5cd67c=await lt['getMany'](_0x780298,Array['from'](_0x45d47a));for(const _0x5d298e of _0x5cd67c)_0x56fe93['getUser'](_0x5d298e['id'])||_0x56fe93['addUser'](_0x5d298e);}['_getOperationsFromInitData'](_0x11ad4a,_0x2f6945={}){const _0x2dafe9=this['editor']['model'],_0xea57d=[];let _0x3b5424=0x0;const _0x50370a='string'==typeof _0x11ad4a?{'main':_0x11ad4a}:_0x11ad4a;for(const _0x4fd99f of Object['keys'](_0x50370a)){if(!this['_document']['roots']['has'](_0x4fd99f))throw new _0x3359aa('realtimecollaborationclient-init-non-existent-root',this);const _0x435df3=this['editor']['data']['parse'](_0x50370a[_0x4fd99f]),_0x43e3c0=this['_document']['getRoot'](_0x4fd99f),_0x27499f=new _0x5c1047(_0x2dafe9['createPositionAt'](_0x43e3c0,0x0),_0x435df3,_0x3b5424++);_0xea57d['push'](_0x27499f);for(const [_0x292276,_0x5874cd]of _0x435df3['markers']){const _0x24c082=_0x2dafe9['createRange'](_0x2dafe9['createPositionFromPath'](_0x43e3c0,_0x5874cd['start']['path']['slice']()),_0x2dafe9['createPositionFromPath'](_0x43e3c0,_0x5874cd['end']['path']['slice']())),_0x1ac8dd=new _0x4bdbcb(_0x292276,null,_0x24c082,_0x2dafe9['markers'],!0x0,_0x3b5424++);_0xea57d['push'](_0x1ac8dd);}}if(_0x2f6945)for(const [_0x485527,_0x4f2b4a]of Object['entries'](_0x2f6945)){const _0x96ee7=_0x2dafe9['document']['getRoot'](_0x485527);if(!_0x96ee7)throw new _0x3359aa('multi-root-editor-root-attributes-no-root',null);for(const [_0x58eca9,_0x4192c2]of Object['entries'](_0x4f2b4a))if(null!==_0x4192c2){const _0x164bf1=new _0x1c2c98(_0x96ee7,_0x58eca9,null,_0x4192c2,_0x3b5424++);_0xea57d['push'](_0x164bf1);}}return _0xea57d;}async['_loadRoot'](_0x202671,_0x187739,_0x1590b8){this['_getOperationsFromInitData']({[_0x202671]:_0x187739},{[_0x202671]:_0x1590b8})['forEach']((_0x2819c0,_0x1a4486)=>{_0x2819c0['baseVersion']=this['_document']['version']+_0x1a4486,_0x2819c0['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2819c0);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x19b887,_0x4b49e7){let _0x4c8f76;this['_offset']=_0x19b887['offset'];const _0x1da59d=_0x19b887['wereChangesApplied']&&!_0x19b887['initData'],_0x5d3aff=_0x1da59d?0x0:_0x19b887['data']['baseVersion'];if(_0x4b49e7['forEach'](_0x5565d7=>{_0x5565d7['_isInit']=!0x0,_0x5565d7['createdAt']=_0x19b887['sessionCreatedAt'],_0x5565d7['_authorId']=null;}),_0x1da59d)_0x4c8f76=_0x4b49e7,this['_applyOperationsSet'](_0x4c8f76,_0x1da59d);else{if(_0x19b887['initData']){const _0x1008a6=this['_getOperationsFromInitData'](_0x19b887['initData']);this['_document']['history']['version']=-_0x1008a6['length'],_0x1008a6['forEach'](_0x14e8d3=>{_0x14e8d3['baseVersion']-=_0x1008a6['length'],_0x14e8d3['createdAt']=_0x19b887['sessionCreatedAt'],_0x14e8d3['_isInit']=!0x0,_0x14e8d3['_authorId']=null;}),this['_applyOperationsSet'](_0x1008a6,!0x0),this['serverHistory']['version']=-_0x1008a6['length']+this['_offset'],this['_updateServerHistory'](_0x1008a6);}this['_document']['history']['version']=_0x5d3aff,_0x4c8f76=this['_decompressOperations'](_0x19b887['data'],_0x19b887['metadata']),await this['_fetchMissingUsers'](_0x4c8f76),this['_applyOperationsSet'](_0x4c8f76,_0x1da59d);}_0x19b887['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4c8f76,_0x19b887['lastOperationId']),this['_lastSyncedOperationId']=_0x19b887['lastOperationId']),this['serverHistory']['version']=_0x5d3aff+this['_offset'],this['_updateServerHistory'](_0x4c8f76),_0x4b49e7['filter'](_0x21ddd6=>{const _0x32e4c1=this['_getAffectedRoot'](_0x21ddd6);return _0x32e4c1&&!this['_knownRootNames']['has'](_0x32e4c1);})['forEach']((_0x30ddf3,_0x591617)=>{_0x30ddf3['baseVersion']=this['_document']['version']+_0x591617,this['_saveOperationInBuffer'](_0x30ddf3);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x37efa6,_0xeb8ddc){throw this['_isPendingUpdate']=!0x0,_0xeb8ddc&&console['error'](_0xeb8ddc),new _0x3359aa(_0x37efa6,this['editor']);}['_saveOperationInBuffer'](_0x380564){this['_knownOperations']['has'](_0x380564)||(this['_knownOperations']['add'](_0x380564),this['_bufferedOperations']['push'](_0x380564),this['_pendingAction']||'marker'==_0x380564['type']&&!_0x380564['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1eca4d=!0x1){!_0x1eca4d&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x125b6f=>{_0x125b6f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x190b77=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x59c26f){return _0x59c26f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x59c26f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x59c26f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x190b77))throw _0x190b77;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x479c26=>{this['on']('change:_isPendingUpdate',()=>{_0x479c26();});});}async['_sendBufferedOperations'](){const _0x4902db=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x4902db['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x45e830=[...this['_bufferedOperations']];for(const _0xefd36a of _0x45e830)_0xefd36a['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xefd36a);const _0x449349=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x45e830),_0x3c076b=K++,_0x1a005c=this['_compressOperations'](_0x45e830),_0x120ea7=await this['_service']['sendOperations'](_0x1a005c,_0x1a005c['baseVersion'],_0x449349);try{return await this['_handleServerResponse'](_0x45e830,_0x120ea7,_0x3c076b);}catch(_0x4c449c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4c449c);}}async['_handleServerResponse'](_0x6db3ed,_0xa1a4bf,_0xcbf7f3){if('error'in _0xa1a4bf)throw _0xa1a4bf['error'];let _0x1456ee=!0x1;if(_0xa1a4bf['wereChangesApplied']){_0xa1a4bf['lastOperationId']&&(this['_lastSyncedOperationId']=_0xa1a4bf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3890d6=>!_0x6db3ed['includes'](_0x3890d6));for(const _0x23c753 of _0x6db3ed)_0x23c753['createdAt']='lastOperationAcceptedAt'in _0xa1a4bf&&_0xa1a4bf['lastOperationAcceptedAt']||void 0x0;Q(_0x6db3ed,_0xa1a4bf['version']-_0x6db3ed['length']),this['_updateServerHistory'](_0x6db3ed);const _0x46af54=_0x6db3ed['filter'](_0x54aeea=>{if(!_0x54aeea['_isInit'])return!0x1;const _0x184141=this['_getAffectedRoot'](_0x54aeea);return _0x184141&&!this['_knownRootNames']['has'](_0x184141);});Q(_0x46af54,this['_document']['version']),this['_applyOperationsSet'](_0x46af54),_0x1456ee=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xc921d1=this['_decompressOperations'](_0xa1a4bf['data'],_0xa1a4bf['metadata'])['filter'](_0x520f1e=>_0x520f1e['baseVersion']>=this['_lastServerVersion']);_0xc921d1['forEach'](_0x3732fe=>this['_addKnownRoot'](_0x3732fe)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xb07a97=>!_0xb07a97['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0xb07a97))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xc921d1),_0x1456ee=this['_handleExternalOperations'](_0xc921d1,_0xa1a4bf['version'],_0xa1a4bf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1456ee?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x17762e,_0x36a7c1,_0x514f13){try{const _0x238c6b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3ca585,operationsB:_0x1b7a41,originalOperations:_0x3076cc}=_0x32289b(_0x17762e,this['_bufferedOperations'],_0x238c6b);Q(_0x3ca585,this['_document']['version']),Q(_0x1b7a41,_0x36a7c1);for(const _0x5e5214 of _0x3ca585){const _0x415c48=_0x3076cc['get'](_0x5e5214);_0x5e5214['_authorId']=_0x415c48?_0x415c48['_authorId']:null;}_0x514f13&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x17762e,_0x514f13),this['_lastSyncedOperationId']=_0x514f13),this['_bufferedOperations']=[..._0x1b7a41],this['_applyOperationsSet'](_0x3ca585),this['_updateServerHistory'](_0x17762e);}catch(_0x426ca6){return console['error'](_0x426ca6),!0x1;}return!0x0;}['_applyOperationsSet'](_0x17a4a4,_0x172557=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x23dc4d=>{for(const _0x46b66f of _0x17a4a4)this['_knownOperations']['add'](_0x46b66f),this['_addKnownRoot'](_0x46b66f),_0x23dc4d['batch']['addOperation'](_0x46b66f),this['editor']['model']['applyOperation'](_0x46b66f);});}['_addKnownRoot'](_0x4ce1c2){const _0x51101=this['_getAffectedRoot'](_0x4ce1c2);_0x51101&&this['_knownRootNames']['add'](_0x51101);}['_getAffectedRoot'](_0x23db0b){let _0x511ff6,_0x2ae12c;switch(_0x23db0b['type']){case'insert':_0x511ff6=_0x23db0b['position']['root'];break;case'marker':if(_0x2ae12c=_0x23db0b['newRange'],!_0x2ae12c)return null;_0x511ff6=_0x2ae12c['root'];break;case'addRootAttribute':_0x511ff6=_0x23db0b['root'];break;case'addRoot':_0x511ff6=_0x23db0b['affectedSelectable'];break;case'move':_0x511ff6=_0x23db0b['targetPosition']['root'];break;default:return null;}return _0x511ff6['rootName'];}['_updateServerHistory'](_0xf20983){_0xf20983['forEach'](_0x1b06e7=>{const _0x1be6ac=_0x1b06e7['clone']();_0x1be6ac['_authorId']=_0x1b06e7['_authorId'],_0x1be6ac['_isInit']=!!_0x1b06e7['_isInit'],_0x1be6ac['createdAt']=_0x1b06e7['createdAt'],_0x1be6ac['baseVersion']+=this['_offset'],_0x1b06e7['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1be6ac),this['serverHistory']['addOperation'](_0x1be6ac);});}['_handleReconnectionError'](_0x22c747){const _0x23015e=this['editor']['plugins']['get']('Notification'),_0x4536e9=this['editor']['locale'];_0x22c747||(_0x22c747=q(_0x4536e9,'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.')),_0x23015e['showWarning'](_0x22c747,{'title':q(_0x4536e9,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x47eaa4)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x47eaa4)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x232067){const _0x211c05=_0x232067['map'](_0x1a563=>_0x1a563['toJSON']());return this['_compressor']['compress'](_0x211c05);}['_decompressOperations'](_0x598dc4,_0x4e719f){return this['_compressor']['decompress'](_0x598dc4)['map']((_0x14849f,_0x2fb322)=>{const _0x15d4cb='init'==_0x4e719f[_0x2fb322]['type'];if('InsertOperation'==_0x14849f['__className']){const _0x31c44f=_0x14849f['position']['root'];!this['_document']['getRoot'](_0x31c44f)&&(this['_document']['createRoot']('$root',_0x31c44f)['_isAttached']=!0x1);}const _0x13debc=_0x1d157f['fromJSON'](_0x14849f,this['_document']);return _0x13debc['wasUndone']=_0x14849f['wasUndone'],_0x13debc['_isInit']=_0x15d4cb,_0x13debc['_authorId']=_0x15d4cb?null:_0x4e719f[_0x2fb322]['userId'],_0x13debc['_isDisconnection']='cs:removeUser'===_0x4e719f[_0x2fb322]['type'],_0x13debc['createdAt']=_0x4e719f[_0x2fb322]['createdAt'],_0x13debc;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5f0d15=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5f0d15&&_0x5f0d15['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x5c677c,_0x3ab669){for(const _0x2c7b09 of _0x5c677c)_0x2c7b09['baseVersion']=_0x3ab669++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x4ff5bc){this['_ignoredOperations']=_0x4ff5bc,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3aa83d){let _0x4332de=_0x3aa83d['length'];for(;_0x4332de--;){const _0x4e39df=_0x3aa83d[_0x4332de];if(!this['_ignoredOperations']['has'](_0x4e39df)){if(!this['_operationToId']['has'](_0x4e39df)){const _0x2833a7=_0x55d93b()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4e39df,_0x2833a7);}return this['_operationToId']['get'](_0x4e39df);}}}['setIdForTheLastOperation'](_0x1ca14b,_0x3c6b74){if(!_0x3c6b74)return;let _0x49db26=_0x1ca14b['length'];for(;_0x49db26--;){const _0x10cd4c=_0x1ca14b[_0x49db26];this['_ignoredOperations']['has'](_0x10cd4c)||this['_operationToId']['set'](_0x10cd4c,_0x3c6b74);}}}class n extends _0x1d73f4{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x2b84e4{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x54e42b)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x321f72];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0x4a4b0e){super(_0x4a4b0e),this['_services']=new Map();}async['init'](){const _0x2e10e1=this['context'],_0x57d479=_0x2e10e1['plugins']['get']('CommentsRepository');if(_0x2e10e1['plugins']['get'](c)['addToReconnectionStack'](this),_0x57d479['adapter']={'addCommentThread':async({channelId:_0x150903,threadId:_0x3c8869,comments:_0x2c296d,resolvedAt:_0x20a6c2,resolvedBy:_0x19973b,context:_0x58d1ee,attributes:_0x4e9061})=>{const _0x23c6bc=await this['_getService'](_0x150903)['addCommentThread']({'commentThreadId':_0x3c8869,'comments':_0x2c296d['map'](_0x21c58d=>function(_0x56d6a7,_0x5c099f,_0x4a2369){return{'commentThreadId':_0x4a2369,'commentId':_0x56d6a7['commentId'],'userId':_0x56d6a7['authorId'],'content':_0x56d6a7['content'],'documentId':_0x5c099f,'createdAt':_0x56d6a7['createdAt'],'attributes':_0x56d6a7['attributes']||{}};}(_0x21c58d,_0x150903,_0x3c8869)),'resolvedAt':_0x20a6c2,'resolvedBy':_0x19973b,'context':_0x58d1ee,'attributes':_0x4e9061})['catch'](ut);return{'threadId':_0x23c6bc['commentThreadId'],'comments':_0x23c6bc['comments']};},'getCommentThread':async({channelId:_0x14235e,threadId:_0x4990ca})=>{const _0x29eb74=await this['_getService'](_0x14235e)['getCommentThread'](_0x4990ca)['catch'](ut);return _0x29eb74['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x29eb74]),{'threadId':_0x29eb74['commentThreadId'],'comments':_0x29eb74['comments']['map'](b),'context':_0x29eb74['context'],'resolvedAt':_0x29eb74['resolvedAt'],'resolvedBy':_0x29eb74['resolvedBy'],'attributes':_0x29eb74['attributes']||{}});},'updateCommentThread':async({channelId:_0x496885,threadId:_0x356445,context:_0x289528,unlinkedAt:_0x5e0f29,attributes:_0x10e7d8})=>this['_getService'](_0x496885)['updateCommentThread']({'commentThreadId':_0x356445,'context':_0x289528,'attributes':_0x10e7d8,'unlinkedAt':_0x5e0f29})['catch'](y)['catch'](ut),'resolveCommentThread':async({channelId:_0x57ba60,threadId:_0x5ae95e})=>{const _0x530099=await this['_getService'](_0x57ba60)['resolveCommentThread'](_0x5ae95e)['catch'](y)['catch'](ut);return{'threadId':_0x530099['commentThreadId'],'resolvedAt':_0x530099['resolvedAt'],'resolvedBy':_0x530099['resolvedBy']};},'reopenCommentThread':async({channelId:_0x45e856,threadId:_0x57078d})=>this['_getService'](_0x45e856)['reopenCommentThread'](_0x57078d)['catch'](y)['catch'](ut),'removeCommentThread':({channelId:_0x191312,threadId:_0x20c973})=>this['_getService'](_0x191312)['removeCommentThread'](_0x20c973)['catch'](y)['catch'](ut),'addComment':({channelId:_0x329886,threadId:_0x1a2f65,commentId:_0x52bf99,content:_0x54e704,attributes:_0x3da45c})=>this['_getService'](_0x329886)['addComment'](_0x1a2f65,_0x52bf99,_0x54e704,_0x3da45c)['catch'](ut),'updateComment':({channelId:_0x527d22,threadId:_0x456569,commentId:_0x16f4f7,content:_0x3e32a2,attributes:_0x2b982d})=>this['_getService'](_0x527d22)['updateComment'](_0x456569,_0x16f4f7,_0x3e32a2,_0x2b982d)['catch'](y)['catch'](ut),'removeComment':({channelId:_0x5e3092,threadId:_0x580c64,commentId:_0x23b6fe})=>this['_getService'](_0x5e3092)['removeComment'](_0x580c64,_0x23b6fe)['catch'](y)['catch'](ut)},_0x2e10e1 instanceof _0x33d726){const _0x49e9ab=_0x2e10e1['config']['get']('collaboration.channelId'),_0x5a97c9=_0x2e10e1['plugins']['get'](r);await this['_setUpService'](_0x49e9ab);const _0x28ee91=await this['_services']['get'](_0x49e9ab)['getConnectedSessions']();this['listenTo'](_0x5a97c9,'sessionAdd:'+_0x49e9ab,(_0x55e9bc,{session:_0x3bfb4b})=>{_0x3bfb4b['id']===_0x5a97c9['mySessionId']&&(_0x55e9bc['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3bfb4b['permissions'],_0x49e9ab));}),_0x5a97c9['register'](_0x49e9ab,_0x28ee91);}}async['_setUpService'](_0x18109e){if(this['_services']['has'](_0x18109e))throw new _0x3359aa('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x18109e});const _0x3f7f06=this['context']['plugins']['get']('CommentsRepository'),_0x4aa980=new a['CommentsService'](_0x18109e);this['_services']['set'](_0x18109e,_0x4aa980),this['listenTo'](_0x4aa980,'commentThreadAdded',(_0x479eb3,_0x130658)=>{const {commentThreadId:_0x4891c4,documentId:_0x42fc95,context:_0x8d8969,attributes:_0x8da28b,resolvedAt:_0x6000e4,resolvedBy:_0x59e226,comments:_0x42f550}=_0x130658;_0x3f7f06['getCommentThread'](_0x4891c4)||_0x3f7f06['addCommentThread']({'threadId':_0x4891c4,'channelId':_0x42fc95,'comments':_0x42f550?_0x42f550['map'](b):[],'context':_0x8d8969,'attributes':_0x8da28b,'resolvedAt':_0x6000e4,'resolvedBy':_0x59e226,'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentThreadUpdated',(_0x335540,{commentThreadId:_0x754a41,documentId:_0xb7115e,context:_0xbd097e,unlinkedAt:_0x22e998,attributes:_0x1c4f75})=>{_0x3f7f06['getCommentThread'](_0x754a41)&&_0x3f7f06['updateCommentThread']({'threadId':_0x754a41,'channelId':_0xb7115e,'context':_0xbd097e,'unlinkedAt':_0x22e998,'attributes':_0x1c4f75,'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentThreadResolved',(_0xad1e04,{commentThreadId:_0x9307da,resolvedBy:_0x16da3d,resolvedAt:_0x30d4f8})=>{const _0x11cf87=_0x3f7f06['getCommentThread'](_0x9307da);_0x11cf87&&_0x11cf87['resolve']({'resolvedBy':_0x16da3d,'resolvedAt':_0x30d4f8,'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentThreadReopened',(_0x298ebb,{commentThreadId:_0x5ae419})=>{const _0x538b2b=_0x3f7f06['getCommentThread'](_0x5ae419);_0x538b2b&&_0x538b2b['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentThreadRemoved',(_0x37f8c1,{commentThreadId:_0x184e4a})=>{const _0x28506c=_0x3f7f06['getCommentThread'](_0x184e4a);_0x28506c&&_0x28506c['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentAdded',(_0x31abdc,_0x143828)=>{const _0x5025d6=_0x143828['commentThreadId'],_0x69337a=_0x3f7f06['getCommentThread'](_0x5025d6);_0x69337a&&_0x69337a['addComment']({...b(_0x143828),'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentUpdated',(_0x2bc6ae,{commentThreadId:_0x5f3695,commentId:_0x1b045f,content:_0x4e3033,attributes:_0x559fd7})=>{const _0x560831=_0x3f7f06['getCommentThread'](_0x5f3695);if(_0x560831){const _0x305ed6=_0x560831['getComment'](_0x1b045f);_0x305ed6&&_0x305ed6['update']({'content':_0x4e3033,'attributes':_0x559fd7,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4aa980,'commentRemoved',(_0x111d03,{commentThreadId:_0x241886,commentId:_0x216264})=>{const _0x31cc96=_0x3f7f06['getCommentThread'](_0x241886);if(_0x31cc96){const _0x54970d=_0x31cc96['getComment'](_0x216264);_0x54970d&&_0x54970d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x18109e);}['destroy'](){if(this['context']instanceof _0x33d726){const _0x2d98f9=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2d98f9);}}['_terminateService'](_0x486bb0){if(!this['_services']['has'](_0x486bb0))throw new _0x3359aa('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x486bb0});this['_getService'](_0x486bb0)['disconnect'](),this['_services']['delete'](_0x486bb0);}async['reconnect'](){for(const _0x14c9fe of this['_services']['keys']())await this['_connectService'](_0x14c9fe);if(this['context']instanceof _0x33d726){const _0x4a9957=this['context']['config']['get']('collaboration.channelId'),_0x1c5468=this['context']['plugins']['get'](r);_0x1c5468['unregister'](_0x4a9957);const _0x5d53b5=await this['_services']['get'](_0x4a9957)['getConnectedSessions']();_0x1c5468['register'](_0x4a9957,_0x5d53b5);}}async['_connectService'](_0x252de2){const {connection:_0x11bf48}=this['context']['plugins']['get'](c),_0x5c74f6=this['context']['plugins']['get']('CommentsRepository'),_0x2f9a0b=this['_services']['get'](_0x252de2),_0x1aa700=await _0x2f9a0b['connect'](_0x11bf48);await this['_fetchMissingUsersForThreads'](_0x1aa700);const _0x584751=new Set(Array['from'](_0x5c74f6['getCommentThreads']({'channelId':_0x252de2}),_0x78bd41=>_0x78bd41['id']));for(const _0x4955f3 of _0x1aa700)_0x4955f3['deletedAt']||_0x584751['delete'](_0x4955f3['commentThreadId']);for(const _0x4f5120 of _0x584751)_0x5c74f6['getCommentThread'](_0x4f5120)['remove']({'isFromAdapter':!0x0});for(const _0xed133a of _0x1aa700){let _0x105619=_0x5c74f6['getCommentThread'](_0xed133a['commentThreadId']);const {commentThreadId:_0x15efc7,context:_0x2d42f2,attributes:_0x187155,resolvedBy:_0x5d4f4c,resolvedAt:_0x7ca236,unlinkedAt:_0x4e2b61,deletedAt:_0x235147}=_0xed133a;if(_0x235147)continue;_0x105619||(_0x105619=_0x5c74f6['addCommentThread']({'channelId':_0x252de2,'threadId':_0x15efc7,'context':_0x2d42f2,'attributes':_0x187155||{},'resolvedBy':_0x5d4f4c,'resolvedAt':_0x7ca236,'unlinkedAt':_0x4e2b61,'isFromAdapter':!0x0}));const _0x2c3e7=new Set(Array['from'](_0x105619['comments'],_0x501436=>_0x501436['id']));for(const _0x2de4ad of _0xed133a['comments'])_0x2c3e7['delete'](_0x2de4ad['commentId']);for(const _0x4ae515 of _0x2c3e7)_0x105619['getComment'](_0x4ae515)['remove']({'isFromAdapter':!0x0});for(const _0x5916e6 of _0xed133a['comments']){const _0x28e4ed=_0x105619['getComment'](_0x5916e6['commentId']);_0x28e4ed?_0x28e4ed['content']!==_0x5916e6['content']&&_0x28e4ed['update']({'content':_0x5916e6['content'],'isFromAdapter':!0x0}):_0x105619['addComment'](Object['assign'](b(_0x5916e6),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4930d7){if(!this['_services']['has'](_0x4930d7))throw new _0x3359aa('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4930d7});return this['_services']['get'](_0x4930d7);}async['_fetchMissingUsersForThreads'](_0x14bdeb){const _0x46a81d=this['context']['plugins']['get'](_0x321f72),{connection:_0x570e67}=this['context']['plugins']['get'](c),_0x3a3606=new Set();for(const {resolvedBy:_0x35462f,comments:_0x3bd5f8}of _0x14bdeb){_0x35462f&&!_0x46a81d['getUser'](_0x35462f)&&_0x3a3606['add'](_0x35462f);for(const {userId:_0x4d52a4}of _0x3bd5f8)_0x46a81d['getUser'](_0x4d52a4)||_0x3a3606['add'](_0x4d52a4);}if(0x0===_0x3a3606['size'])return;const _0x6e55d6=await lt['getMany'](_0x570e67,Array['from'](_0x3a3606));for(const _0x44f5e3 of _0x6e55d6)_0x46a81d['getUser'](_0x44f5e3['id'])||_0x46a81d['addUser'](_0x44f5e3);}}async function y(_0x309fc9){if('404'!==_0x309fc9['code'])throw _0x309fc9;}function ut(_0x474bd1){if((_0x74ff87=_0x474bd1)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x74ff87['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x74ff87['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x74ff87;throw _0x474bd1;}function b(_0x521c4a){return{'threadId':_0x521c4a['commentThreadId'],'commentId':_0x521c4a['commentId'],'content':_0x521c4a['content'],'createdAt':_0x521c4a['createdAt'],'authorId':_0x521c4a['userId'],'attributes':_0x521c4a['attributes']||{}};}class g extends _0x1d73f4{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x5ab0b0){super(_0x5ab0b0);const _0x2674d6=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new g['TrackChangesService'](_0x2674d6);}['init'](){const _0x3cd8b4=this['editor']['plugins']['get'](c),_0xa2e88c=this['editor']['plugins']['get']('TrackChangesEditing');return _0xa2e88c['adapter']={'getSuggestion':async _0x41ce31=>{await this['_waitForServiceReady']();const _0x4ad8ce=await this['_trackChangesService']['get'](_0x41ce31)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x4ad8ce]),_0x4ad8ce;},'addSuggestion':async({id:_0x49d94a,type:_0x48cb43,data:_0x4d4dff,originalSuggestionId:_0x483a84,attributes:_0x13531e})=>{await this['_waitForServiceReady']();const _0x253d32={'id':_0x49d94a,'type':_0x48cb43,'data':_0x4d4dff,'originalSuggestionId':_0x483a84,'attributes':_0x13531e},_0x557f72=await this['_trackChangesService']['add'](_0x49d94a,_0x48cb43,_0x4d4dff,_0x483a84,_0x13531e)['catch'](_0x2a1805=>{if(ft(_0x2a1805))return new Promise(_0x2d014d=>{this['_bufferedRequests']['set'](_0x49d94a,{'resolve':_0x2d014d,'suggestionData':_0x253d32});});throw _0x2a1805;});return this['_bufferedRequests']['delete'](_0x49d94a),_0x557f72;},'updateSuggestion':async(_0x5f39c0,_0x3f2ef5)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3f2ef5['state'])return this['_trackChangesService']['update'](_0x5f39c0,_0x3f2ef5)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x506483,_0x137e86)=>{_0xa2e88c['hasSuggestion'](_0x137e86['id'])&&(_0xa2e88c['getSuggestion'](_0x137e86['id'])['attributes']=_0x137e86['attributes']);}),this['_trackChangesService']['connect'](_0x3cd8b4['connection'])['then'](_0x46cd33=>(_0x3cd8b4['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x46cd33)['then'](()=>{for(const _0x4a2b5c of _0x46cd33){_0xa2e88c['addSuggestionData'](_0x4a2b5c)['_saved']=!0x0;}})));}async['reconnect'](){const _0x40d7d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5a325a}=this['editor']['plugins']['get'](c),_0x18126a=await this['_trackChangesService']['connect'](_0x5a325a);await this['_fetchMissingUsersForThreads'](_0x18126a);for(const {suggestionData:_0x381bc0,resolve:_0x4037e3}of this['_bufferedRequests']['values']()){let _0x5c4f3c=_0x18126a['find'](_0x33c644=>_0x33c644['id']===_0x381bc0['id']);_0x5c4f3c||(_0x5c4f3c=await this['_trackChangesService']['add'](_0x381bc0['id'],_0x381bc0['type'],_0x381bc0['data'],_0x381bc0['originalSuggestionId'])),_0x4037e3(_0x5c4f3c);}for(const _0xa35e59 of _0x18126a)_0x40d7d['hasSuggestion'](_0xa35e59['id'])||_0x40d7d['addSuggestionData'](_0xa35e59);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x25c2c0=>{this['listenTo'](this['_trackChangesService'],'connected',_0xfc786e=>{_0xfc786e['off'](),_0x25c2c0();});});}async['_fetchMissingUsersForThreads'](_0x5617e4){const _0x5b5a2d=this['editor']['plugins']['get'](_0x321f72),{connection:_0x4322ef}=this['editor']['plugins']['get'](c),_0x3bcef6=new Set();for(const {authorId:_0x126f08}of _0x5617e4)_0x5b5a2d['getUser'](_0x126f08)||_0x3bcef6['add'](_0x126f08);if(0x0===_0x3bcef6['size'])return;const _0x36bbcd=await lt['getMany'](_0x4322ef,Array['from'](_0x3bcef6));for(const _0x1ed86b of _0x36bbcd)_0x5b5a2d['getUser'](_0x1ed86b['id'])||_0x5b5a2d['addUser'](_0x1ed86b);}}function w(_0x1e20f4){if(ft(_0x1e20f4))return new Promise(()=>{});throw _0x1e20f4;}function ft(_0x5f01ff){return _0x5f01ff['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5f01ff['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x1d73f4{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}['init'](){const _0x54bbe7=this['editor']['plugins']['get'](c),_0x5dd96b=this['editor']['plugins']['get']('CommentsEditing'),_0x5140bc=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x54bbe7,'change:state',(_0x5d8729,_0x532585,_0x4ff31a)=>{_0x5dd96b['isThreadsLoadingPaused']='connected'!==_0x4ff31a;});}),this['listenTo'](_0x54bbe7,'change:state',(_0x200f90,_0x8d33ef,_0x4744da)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x4744da);}),_0x5140bc['_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 _0x1d73f4{static get['requires'](){return[m,g,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}}class v extends _0x1d73f4{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x321f72];}constructor(_0x12077c){super(_0x12077c);const _0x9a9177=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x9a9177);}async['init'](){const _0x4d1203=this['editor']['plugins']['get'](l),_0x1a80eb=_0x4d1203['serverHistory'],_0x2dee18=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x1a80eb,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4d1203['sessionId']});const _0x48304c=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x3bb113=await tt['isBundleUploaded'](_0x2dee18['connection'],_0x48304c);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x33351a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x33351a)),'updateRevisions':async _0x735af8=>{await this['_waitForServiceReady']();const _0x12765f=this['_revisionTracker']['currentRevision'];if(_0x3bb113&&0x1===_0x735af8['length']&&_0x735af8[0x0]['id']===_0x12765f['id'])return _0x735af8;for(const _0x3f8f64 of _0x735af8)_0x3f8f64['id']===_0x12765f['id']&&(_0x3f8f64['isEmptyCurrent']=_0x3f8f64['fromVersion']===_0x3f8f64['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x735af8,this['_lastRequestId'])['then'](_0x3d5aac=>(this['_lastRequestId']=_0x3d5aac,_0x735af8))['catch'](_0x438510=>{if(st(_0x438510)||'400'===_0x438510['code']&&void 0x0!==_0x438510['data']['wrongRequestId']){for(const _0x2c59d9 of _0x735af8){!this['_revisionTracker']['repository']['getRevision'](_0x2c59d9['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2c59d9['id'],_0x2c59d9,!0x1);}if(st(_0x438510))throw _0x438510;return _0x735af8;}throw _0x438510;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x30e6ff,{revisionsData:_0x52ab71,requestId:_0x598c64})=>{Math['max'](..._0x52ab71['map'](_0x25916f=>_0x25916f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x52ab71,_0x598c64);}):this['_handleRevisionsUpdate'](_0x52ab71,_0x598c64);});const {revisions:_0x4f130f,requestId:_0x1ee0bc}=await this['_revisionHistoryService']['connect'](_0x2dee18['connection']);_0x2dee18['addToReconnectionStack'](this),this['_lastRequestId']=_0x1ee0bc,await this['_fetchMissingUsers'](_0x4f130f);for(const _0x354164 of _0x4f130f)this['_revisionTracker']['addRevisionData'](_0x354164);this['listenTo'](_0x4d1203,'change:_isConnected',(_0x39009b,_0x28beef,_0x3973fb)=>{_0x3973fb&&(this['_oldOffset']=_0x4d1203['_offset'],_0x39009b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2dee18,'state',_0x399d25=>_0x399d25===_0x3d541f['CONNECTED']);}async['reconnect'](){const _0x34e447=this['editor']['plugins']['get'](c),_0x56f5a3=this['editor']['plugins']['get'](l),_0x134256=async()=>{const _0xc340ac=this['_revisionTracker']['currentRevision'],_0x5f44b3=_0xc340ac['id'],_0x5d94a9=_0x5f44b3!==_0x56f5a3['sessionId'];if(_0x5d94a9){const _0xc06616=_0x56f5a3['_offset']-this['_oldOffset'],_0x189623=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xc340ac['toVersion']+_0xc06616!==_0x189623){const _0x18f857=_0xc340ac['fromVersion']+_0xc06616,_0x47adf5=this['editor']['plugins']['get'](_0x321f72),_0x408477=this['_revisionTracker']['buildRevisionData']({'revision':_0xc340ac,'from':_0x18f857,'to':_0x189623});_0x408477['id']=_0xc340ac['id'];const _0xf5985e=_0x408477['authorsIds']['map'](_0x9b0681=>_0x47adf5['getUser'](_0x9b0681));_0xc340ac['_update']({..._0x408477,'authors':_0xf5985e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xc340ac['id'],_0x408477,!0x0);}this['_revisionTracker']['_startingVersion']=_0x189623,(_0xc340ac['toVersion']===_0xc340ac['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5f44b3)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5f44b3),this['_revisionTracker']['_createCurrentRevision'](_0x189623));}const {revisions:_0x290593,requestId:_0x4a14a9}=await this['_revisionHistoryService']['reconnect'](_0x34e447['connection'],this['_lastRequestId']);_0x5d94a9&&_0x290593['length']>0x0?_0x56f5a3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x290593),this['_handleRevisionsUpdate'](_0x290593,_0x4a14a9),this['_revisionTracker']['sendBufferedUpdates']());};return _0x56f5a3['_isConnected']?_0x134256():new Promise((_0x4af83d,_0x17288e)=>{_0x56f5a3['once']('change:_isConnected',()=>{_0x134256()['then'](_0x4af83d)['catch'](_0x17288e);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3cbbb6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x23b815=>{_0x23b815['off'](),_0x3cbbb6();});});}['_getLatestVersionFromServerOperations'](){const _0xeff604=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x978e0e of _0xeff604)if('marker'!==_0x978e0e['type']||_0x978e0e['affectsData'])return _0x978e0e['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3d4046=this['editor']['plugins']['get'](l);return new Promise(_0x537a8b=>{_0x3d4046['_isPendingUpdate']?_0x3d4046['once']('change:_isPendingUpdate',()=>{_0x537a8b(this['_getLatestVersionFromServerOperations']());}):_0x537a8b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x30e0f5,_0x2bdea4){const _0x27e1ef=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2bdea4;for(const _0x25998c of _0x30e0f5){const _0xffc198=_0x27e1ef['getRevision'](_0x25998c['id']);if(_0xffc198){if((_0x25998c['fromVersion']||_0x25998c['toVersion'])&&(_0x25998c['diffData']=null),_0xffc198===this['_revisionTracker']['currentRevision']){const _0x53f510=Math['max'](_0xffc198['toVersion'],_0x25998c['toVersion']),_0x41cb67=Math['max'](_0xffc198['fromVersion'],_0x25998c['fromVersion']);let _0xd76956;_0xffc198['toVersion']===_0x25998c['toVersion']&&_0xffc198['fromVersion']===_0x25998c['fromVersion']?(_0xd76956=!0x0,this['_preventResendingRevisionData'](_0x25998c)):_0x25998c['toVersion']===_0x53f510&&_0x25998c['fromVersion']===_0x41cb67?_0xd76956=!0x1:(_0xffc198['toVersion']===_0x53f510&&_0xffc198['fromVersion']===_0x41cb67||this['_fixRevision']({'revision':_0xffc198,'from':_0x41cb67,'to':_0x53f510}),_0xd76956=!0x0),_0xd76956&&(delete _0x25998c['fromVersion'],delete _0x25998c['toVersion'],delete _0x25998c['diffData'],delete _0x25998c['createdAt'],delete _0x25998c['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x25998c),this['_preventResendingRevisionData'](_0x25998c);}else this['_revisionTracker']['addRevisionData'](_0x25998c);}const _0x427d9e=_0x27e1ef['getRevisions']();_0x427d9e['reverse']();for(let _0x2f8282=0x0;_0x2f8282<_0x427d9e['length']-0x1;_0x2f8282++){const _0x62481e=_0x427d9e[_0x2f8282],_0x4b6271=_0x427d9e[_0x2f8282+0x1];if(_0x62481e['fromVersion']<_0x4b6271['toVersion']){const _0x4f9eb9=_0x4b6271['toVersion'],_0x19db02=Math['max'](_0x4f9eb9,_0x62481e['toVersion']);this['_fixRevision']({'revision':_0x62481e,'from':_0x4f9eb9,'to':_0x19db02});}}}['_fixRevision']({revision:_0x1047d8,from:_0x105d90,to:_0x3f22a3}={}){const _0x5094b8=this['editor']['plugins']['get'](_0x321f72),_0x19c30f=this['_revisionTracker']['buildRevisionData']({'revision':_0x1047d8,'from':_0x105d90,'to':_0x3f22a3});_0x19c30f['authors']=_0x19c30f['authorsIds']['map'](_0x39738a=>_0x5094b8['getUser'](_0x39738a)),_0x1047d8['_update'](_0x19c30f);}['_preventResendingRevisionData'](_0x374b35){const _0x51fdb3={};_0x51fdb3['id']=_0x374b35['id'];for(const _0x45661b of Object['keys'](_0x374b35))'id'!==_0x45661b&&(_0x51fdb3[_0x45661b]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x51fdb3['id'],_0x51fdb3,!0x0);}async['_fetchMissingUsers'](_0x11b3db){const _0x13a42a=this['editor']['plugins']['get'](_0x321f72),{connection:_0x1968ed}=this['editor']['plugins']['get'](c),_0x16b435=new Set();for(const _0x5a5a51 of _0x11b3db){for(const _0x10a13b of _0x5a5a51['authorsIds'])_0x2dab2f(_0x10a13b);_0x5a5a51['creatorId']&&_0x2dab2f(_0x5a5a51['creatorId']);}if(0x0===_0x16b435['size'])return;const _0x3b9b6a=await lt['getMany'](_0x1968ed,Array['from'](_0x16b435));for(const _0xb5e59c of _0x3b9b6a)_0x13a42a['getUser'](_0xb5e59c['id'])||_0x13a42a['addUser'](_0xb5e59c);function _0x2dab2f(_0x579e55){_0x13a42a['getUser'](_0x579e55)||_0x16b435['add'](_0x579e55);}}}function st(_0x26e579){return _0x26e579['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x26e579['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26e579['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0x1d73f4{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0xbb9c35{constructor(_0x2154f1){super(_0x2154f1);const _0x5a3199=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x5a3199['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x5a3199['to']('usersCount',_0x3418c3=>q(_0x2154f1,'CONNECTED_USERS',_0x3418c3))}]});}}class es extends _0xbb9c35{['items'];['keystrokes'];constructor(_0x44e801){super(_0x44e801);const _0xc0a10b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5841c3(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xc0a10b['if']('hasPopup'),'aria-expanded':_0xc0a10b['to']('isExpanded',_0xc83804=>this['hasPopup']&&String(_0xc83804)),'aria-label':_0xc0a10b['to']('hasPopup',_0x475218=>q(_0x44e801,_0x475218?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xc0a10b['to']('hasPopup',_0x414dc8=>!!_0x414dc8&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0xc0a10b['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x476d2c,_0x59de77,_0x4feacb)=>{this['element']&&(_0x4feacb?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 _ extends _0xbb9c35{['counterView'];['inlineListView'];constructor(_0x3e04d1){super(_0x3e04d1);const _0x468a5f=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x3e04d1),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2b7e56 of this['inlineListView']['items'])_0x2b7e56['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',_0x468a5f['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class M extends _0xbb9c35{['listWrapperView'];constructor(_0x32d377,_0x27afd8){super(_0x32d377),this['listWrapperView']=new mt(_0x32d377,_0x27afd8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x32d377,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x310008{constructor(_0x5a0354,_0x3440e7){super(_0x5a0354);const _0x1dacea=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3440e7?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1dacea['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1dacea['to']('role'),'aria-label':_0x1dacea['to']('ariaLabel'),'aria-labelledby':_0x1dacea['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x10d1d7['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x431386=this['element'];_0x431386&&(this['_isScrollable']=Math['max'](_0x431386['scrollHeight'],_0x431386['clientHeight'])>0.8*window['innerHeight']);}}class E extends rt{['userView'];constructor(_0x575066,_0x5c44d4,_0x52f782){super(_0x575066);const _0x4ba54a=this['bindTemplate'];this['userView']=new ct(_0x575066,_0x5c44d4);const _0x17357e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5c44d4['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5c44d4['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5c44d4['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x52f782&&(_0x17357e['tag']='button',_0x17357e['on']={'click':_0x4ba54a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x17357e);}['focus'](){this['element']['focus']();}}class T extends _0xbb9c35{['userView'];['markerView'];constructor(_0x48a6ad,_0x15478e,_0x4e82aa){super(_0x48a6ad);const _0x96ae6a=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x48a6ad,_0x15478e),this['markerView']=new at(_0x48a6ad,_0x15478e);const _0x262255=new ot(_0x48a6ad);_0x262255['template']['tag']='span',_0x262255['text']=_0x15478e['name'];const _0x31c8d5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x96ae6a['to']('isFocusable',_0x1cff0c=>!!_0x1cff0c&&0x0),'aria-labelledby':_0x262255['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x96ae6a['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x96ae6a['to']('hasTooltip',_0x4ee5c4=>!_0x4ee5c4),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x262255]};_0x4e82aa&&(_0x31c8d5['tag']='button',_0x31c8d5['on']={'click':_0x96ae6a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x31c8d5);}}class at extends _0xbb9c35{constructor(_0x2a1c7f,_0x4a2ff8){super(_0x2a1c7f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4a2ff8['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const D={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x2b84e4{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x293709){super(_0x293709),this['context']['config']['define']('presenceList',D);const _0x7b30d4=_0x293709['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x7b30d4)throw new _0x3359aa('presencelist-collapseat-invalid-format',this);if(_0x7b30d4<0x1)throw new _0x3359aa('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1af149(),this['balloonPanelView']=new _0x2dcabe(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x29e68a of this['_allConnectedUsers'])this['_handleUserAdd'](_0x29e68a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x177f2d,_0x55c8c6)=>{this['_handleUserAdd'](_0x55c8c6);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1baf27,_0x5d75df)=>{this['_handleUserRemove'](_0x5d75df);});}['_createView'](){const _0x31e0bb=this['context'],_0x3e8956=new _(this['context']['locale']),_0x37d089=this['balloonPanelView'];if(!_0x572beb(_0x31e0bb['config']['get']('presenceList.container')))throw new _0x3359aa('presencelist-missing-container',this);return _0x3e8956['counterView']['bind']('usersCount')['to'](this),_0x3e8956['bind']('isCollapsed')['to'](this,'usersCount',_0x2d18bc=>{const {collapseAt:_0x3b1915,displayMe:_0x2f3062}=_0x31e0bb['config']['get']('presenceList'),_0x51f151=_0x2d18bc>=_0x3b1915;return _0x3e8956['counterView']['isHidden']=!(0x1==_0x2d18bc&&_0x2f3062||_0x51f151),_0x51f151||this['hideDropdown'](),_0x51f151;}),_0x3e8956['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x55218f=>{const _0x1e7c7c=_0x31e0bb['config']['get']('presenceList'),_0x1ef3dc=new T(_0x31e0bb['locale'],_0x55218f,!!_0x1e7c7c['onClick']);return _0x1ef3dc['bind']('hasTooltip')['to'](_0x3e8956,'isCollapsed',_0x20eddb=>!_0x20eddb),_0x1ef3dc['bind']('isFocusable')['to'](_0x3e8956,'isCollapsed',_0x42ca4b=>!_0x42ca4b),_0x1e7c7c['onClick']&&this['listenTo'](_0x1ef3dc,'execute',()=>{this['view']['isCollapsed']||_0x1e7c7c['onClick'](_0x55218f,_0x1ef3dc['element']);}),_0x1ef3dc;}),this['listenTo'](_0x3e8956['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x3e8956['inlineListView']['keystrokes']['set']('Enter',(_0x455130,_0x2509df)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2509df());}),_0x3e8956['render'](),_0x37d089['render'](),_0x1c2462({'emitter':_0x3e8956,'activator':()=>_0x37d089['isVisible'],'contextElements':[_0x37d089['element'],_0x3e8956['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x31e0bb['config']['get']('presenceList.container')['appendChild'](_0x3e8956['element']),this['_bodyCollection']=new _0x423669(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3e8956;}['_handleUserAdd'](_0x51d8e6){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x51d8e6['isMe'])return;const _0x4d44ae=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x4d44ae&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x434236=_0x51d8e6['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x51d8e6,_0x434236);}['_handleUserRemove'](_0x577b8d){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x577b8d['id'])&&(this['currentDisplayedUsers']['remove'](_0x577b8d['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x1c7e1c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1c7e1c['id']))return void this['currentDisplayedUsers']['add'](_0x1c7e1c,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4a4dd1=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new M(this['context']['locale'],!!_0x4a4dd1['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x375dbb}=this['presenceDropdownView'];_0x375dbb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x35b6f9=>{if(!_0x4a4dd1['displayMe']&&_0x35b6f9['isMe'])return null;const _0x5462dd=new E(this['context']['locale'],_0x35b6f9,!!_0x4a4dd1['onClick']);return _0x4a4dd1['onClick']&&this['listenTo'](_0x5462dd,'execute',()=>{_0x4a4dd1['onClick'](_0x35b6f9,_0x5462dd['element']);}),_0x5462dd;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x375dbb['focus'](),_0x375dbb['checkIfScrollable']();const _0x59a022=(_0x2862c9,_0x58dc17)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x58dc17();};_0x375dbb['keystrokes']['set']('Esc',_0x59a022),_0x375dbb['keystrokes']['set']('Shift+Tab',_0x59a022),_0x375dbb['keystrokes']['set']('Tab',(_0x5c7009,_0x5cacc1)=>{!function(_0x2a3882){const _0x4a9a47=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3dc98f=>_0x3dc98f+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x19c3b7=[...document['body']['querySelectorAll'](_0x4a9a47)]['filter'](_0x400e5d=>_0x400e5d===document['activeElement']||_0x400e5d['offsetWidth']+_0x400e5d['offsetHeight']>0x0)['sort']((_0x4ead2a,_0x52b15)=>(_0x4ead2a['tabIndex']||0x0)-(_0x52b15['tabIndex']||0x0)),_0x38d911=_0x19c3b7['indexOf'](_0x2a3882),_0x90a324=_0x19c3b7[(_0x38d911+0x1)%_0x19c3b7['length']];_0x90a324&&_0x90a324['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5cacc1();}),_0x375dbb['focusTracker']['add'](this['view']['element']),_0x375dbb['focusTracker']['on']('change:isFocused',(_0x5ef66d,_0x4a26f3,_0x179012)=>{_0x179012||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 i extends _0x2b84e4{static get['requires'](){return[r,s];}static get['pluginName'](){return'PresenceList';}}export{a as CloudServicesCommentsAdapter,v as CloudServicesRevisionHistoryAdapter,g as CloudServicesTrackChangesAdapter,i as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,d as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
23
+ import{ContextPlugin as _0x536a58,Plugin as _0xa7b1dc,PendingActions as _0x2fc54a,Context as _0x20f32d}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x3e8a40,CKEditorError as _0x3e942c,Collection as _0x29beb2,global as _0x4bd3f5,version as ht,uid as _0x5c9614,KeystrokeHandler as _0x5b37f4}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2e2629,View as _0x385240,ListView as _0x53e168,ListItemView as ct,LabelView as pt,BalloonPanelView as _0x19bb9a,clickOutsideHandler as _0x1293dd,BodyCollection as _0x54173d}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ut,History as _0x5d978e,NoOperation as _0x5c431e,InsertOperation as _0x453615,MarkerOperation as _0x1128c5,RootAttributeOperation as _0x53a927,transformSets as _0x442640,OperationFactory as _0x168a4e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ft,WEB_SOCKET_GATEWAY_STATES as _0x2bb5ea,CollaborativeEditingService as _0x3c3a24,User as mt,CommentsService as tt,TrackChangesService as at,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x33926,UserView as lt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xe4dc0}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1d376a}from'lodash-es';class c extends _0x536a58{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2e2629];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x29c2f7){super(_0x29c2f7),this['set']('state',_0x2bb5ea['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x3e8a40);}['init'](){const _0x56f4f3=this['context'],_0x464954=_0x56f4f3['plugins']['get']('CloudServices'),_0xf214d9=_0x56f4f3['plugins']['get'](_0x2e2629);if(!_0x464954['token'])throw new _0x3e942c('websocketgateway-missing-token',this);if(!_0x464954['webSocketUrl'])throw new _0x3e942c('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'](_0x464954['token'],_0x464954['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x179d7a=>{if(this['connection']=_0x179d7a,this['bind']('state')['to'](_0x179d7a,'state',this,'_isBrowserOffline',(_0x125ea5,_0x589ecb)=>('connected'!==_0x125ea5&&(this['_shouldPluginsReconnect']=!0x0),_0x589ecb||_0x125ea5!==_0x2bb5ea['CONNECTED']?_0x2bb5ea['DISCONNECTED']:this['state']==_0x2bb5ea['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2bb5ea['CONNECTING']):_0x2bb5ea['CONNECTED'])),this['connection']['on']('error',(_0x5834a0,_0x25f1c4)=>{if('limitExceeded'!==_0x25f1c4['code'])throw console['error'](_0x25f1c4),new _0x3e942c('cloudservices-init',null,{'originalError':_0x25f1c4});_0xf214d9['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'});}),!_0x179d7a['me'])return new Promise(_0x54bd51=>_0x179d7a['on']('change:me',_0x54bd51));})['catch'](_0x17a4af=>{throw console['error'](_0x17a4af),new _0x3e942c('cloudservices-init',null,{'originalError':_0x17a4af});});}['addToReconnectionStack'](_0x27c6ae){if('function'!=typeof _0x27c6ae['reconnect'])throw new _0x3e942c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x27c6ae))throw new _0x3e942c('websocketgateway-plugin-already-registered',this,{'name':_0x27c6ae['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x27c6ae);}['removeFromReconnectionStack'](_0x5795aa){this['_reconnectionStack']['delete'](_0x5795aa);}['isInReconnectionStack'](_0x2b4459){return this['_reconnectionStack']['has'](_0x2b4459);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x434818=>_0x434818['reconnect']())))['then'](()=>this['state']=_0x2bb5ea['CONNECTED'])['catch'](_0xe3fd40=>{throw console['error'](_0xe3fd40),new _0x3e942c('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2bb5ea['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x536a58{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x33926];}constructor(_0x30e2aa){super(_0x30e2aa),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x29beb2(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x33926);}['init'](){const _0x35ba43=this['context']['plugins']['get'](c);this['listenTo'](_0x35ba43,'change:state',(_0x138d83,_0x1bf0a7,_0x75a0a)=>{if('connected'!==_0x75a0a)this['channelSessions']['forEach'](_0x40fbc0=>_0x40fbc0['clear']()),this['channelConnectedUsers']['forEach'](_0x581909=>_0x581909['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3e4b1d,_0x2831a0]of this['_registeredSessions'])for(const _0xaf3266 of _0x2831a0)this['_handleSessionAdd'](_0x3e4b1d,_0xaf3266);}}),this['_createUser'](_0x35ba43['connection']['me'],!0x0);}['register'](_0x3ee83f,_0xc7cb96){if(this['_registeredSessions']['has'](_0x3ee83f))throw new _0x3e942c('sessions-register-already-registered',null,{'channelId':_0x3ee83f});this['_registeredSessions']['set'](_0x3ee83f,_0xc7cb96),this['channelSessions']['set'](_0x3ee83f,new _0x29beb2()),this['channelConnectedUsers']['set'](_0x3ee83f,new _0x29beb2()),this['listenTo'](_0xc7cb96,'add',(_0x4ff7ab,_0x20dbb5)=>this['_handleSessionAdd'](_0x3ee83f,_0x20dbb5)),this['listenTo'](_0xc7cb96,'remove',(_0x3f358c,_0x1d0b72)=>this['_handleSessionRemove'](_0x3ee83f,_0x1d0b72));for(const _0x353232 of _0xc7cb96)this['_handleSessionAdd'](_0x3ee83f,_0x353232);}['unregister'](_0x356cd1){if(!this['_registeredSessions']['has'](_0x356cd1))throw new _0x3e942c('sessions-unregister-not-exist',null,{'channelId':_0x356cd1});const _0x4b8ae0=this['_registeredSessions']['get'](_0x356cd1);this['stopListening'](_0x4b8ae0);for(const _0xa0e9be of _0x4b8ae0)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x356cd1,_0xa0e9be);this['_registeredSessions']['delete'](_0x356cd1),this['channelSessions']['delete'](_0x356cd1),this['channelConnectedUsers']['delete'](_0x356cd1);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x4cf57e){for(const _0x13906f of this['channelSessions']['values']())for(const _0xd098ef of _0x13906f)if(_0xd098ef['id']===_0x4cf57e)return _0xd098ef['user'];}['getUserSessions'](_0x22aa5d,_0x514275){const _0x14ede3=_0x514275?[this['channelSessions']['get'](_0x514275)]:this['channelSessions']['values'](),_0x169d38=new Set();for(const _0x47f868 of _0x14ede3)for(const _0x2f3e89 of _0x47f868)_0x2f3e89['user']['id']===_0x22aa5d['id']&&_0x169d38['add'](_0x2f3e89['id']);return _0x169d38;}['getUserRole'](_0x1330ca){for(const _0x58c4bb of this['channelSessions']['values']())for(const _0x370174 of _0x58c4bb)if(_0x370174['user']===_0x1330ca)return _0x370174['role'];}['_handleSessionAdd'](_0x5c9661,_0x41c572){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0xcb8b90=_0x41c572['user'],_0x2e6ef7=this['_users']['getUser'](_0xcb8b90['id'])||this['_createUser'](_0xcb8b90),_0x59736c=Object['assign']({},_0x41c572,{'user':_0x2e6ef7});this['channelSessions']['get'](_0x5c9661)['add'](_0x59736c);const _0x3d1c10=this['channelConnectedUsers']['get'](_0x5c9661);_0x3d1c10['has'](_0x2e6ef7['id'])||_0x3d1c10['add'](_0x2e6ef7),this['allConnectedUsers']['has'](_0x2e6ef7['id'])||this['allConnectedUsers']['add'](_0x2e6ef7,_0x2e6ef7['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x5c9661,{'channelId':_0x5c9661,'session':_0x59736c});}['_handleSessionRemove'](_0x5ea8ca,_0x4ac991){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x5c60eb=this['channelConnectedUsers']['get'](_0x5ea8ca),_0xa881=_0x4ac991['user'];_0xa881['id']&&(this['channelSessions']['get'](_0x5ea8ca)['remove'](_0x4ac991['id']),_0x5c60eb['has'](_0xa881['id'])&&!this['getUserSessions'](_0xa881,_0x5ea8ca)['size']&&_0x5c60eb['remove'](_0xa881['id']),this['allConnectedUsers']['get'](_0xa881['id'])&&!this['getUserSessions'](_0xa881)['size']&&this['allConnectedUsers']['remove'](_0xa881['id']));}['_createUser'](_0x45a28c,_0x101aae){const _0x445bed=this['_users']['addUser'](_0x45a28c);return _0x101aae&&this['_users']['defineMe'](_0x45a28c['id']),_0x445bed['orderNumber']=this['_uniqueUsersCount']++,_0x445bed;}}class E extends _0xa7b1dc{['_domEmitter']=new(_0x3e8a40())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x3611bc=this['editor'],_0x270891=_0x3611bc['plugins']['get'](r);_0x3611bc['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x134f02,{writer:_0x78b8c0})=>function(_0x356be4,_0x2ad6b0,_0x5df47f,_0x3a1a88){const _0x16d641=_0x356be4['markerName']['split'](':')[0x2],_0x2ebc2a=_0x5df47f['getUserBySessionId'](_0x16d641);if(!_0x2ebc2a||_0x16d641===_0x5df47f['mySessionId'])return;if(!_0x3a1a88['model']['schema']['checkChild'](_0x356be4['markerRange']['start'],'$text'))return;const _0x1399f3={'class':'ck-user__marker\x20'+_0x2ebc2a['color']['getMarkerClass'](),'data-name':_0x2ebc2a['name'],'data-session-id':_0x16d641},_0xad14a2=_0x3a1a88['model']['markers']['get'](_0x356be4['markerName']),_0x43cf76=_0xad14a2['getStart'](),_0x31e0e5=_0x43cf76['nodeAfter'],_0x40625f=_0x3a1a88['model']['schema'];if(_0x31e0e5&&_0x40625f['isObject'](_0x31e0e5)&&_0x40625f['isInline'](_0x31e0e5)&&!_0x3a1a88['model']['markers']['get']('user:range:'+_0x16d641)['getRange']()['isCollapsed'])return;const _0x2d91cd=_0x43cf76['parent'];return _0x3a1a88['model']['schema']['isLimit'](_0x2d91cd)&&!_0x3a1a88['model']['hasContent'](_0x2d91cd)&&(_0x1399f3['contenteditable']=!0x1),function(_0x35a116,_0x14480e,_0x115693){const _0x4e1409=_0x35a116['createUIElement']('span',_0x14480e);return _0x35a116['setCustomProperty']('userPositionMarker',!0x0,_0x4e1409),_0x4e1409['render']=function(_0x1ebe2d){const _0x35700a=this['toDomElement'](_0x1ebe2d);return _0x35700a['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x115693['name']+'</span>⁠',_0x35700a['addEventListener']('mouseenter',()=>{_0x35700a['classList']['add']('ck-user__marker_hovered');}),_0x35700a['addEventListener']('mouseleave',()=>{_0x35700a['classList']['remove']('ck-user__marker_hovered');}),_0x35700a;},_0x4e1409['isSimilar']=function(_0x4f05a6){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4f05a6['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4f05a6['getAttribute']('data-session-id'));},_0x4e1409;}(_0x2ad6b0,_0x1399f3,_0x2ebc2a);}(_0x134f02,_0x78b8c0,_0x270891,_0x3611bc)}),_0x3611bc['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xe6de7d=>function(_0x5a2355,_0x468def){const _0x2298d7=_0x5a2355['markerName']['split'](':')[0x2];if(_0x2298d7===_0x468def['mySessionId'])return null;const _0x462dd8=_0x468def['getUserBySessionId'](_0x2298d7);if(!_0x462dd8)return{'id':_0x2298d7,'classes':[]};return{'id':_0x2298d7,'classes':['ck-user__selection',_0x462dd8['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2298d7},'priority':0x7d0+_0x462dd8['orderNumber']};}(_0xe6de7d,_0x270891)}),function(_0x1587e3){const _0x9a30c1=_0x1587e3['model'],_0x320f70=new Map(),_0x581b00=_0x1587e3['plugins']['get'](r);_0x9a30c1['markers']['on']('update:user:range',(_0x50bff6,_0x4ece31,_0x3c1271,_0x1fa7ce)=>{if(!_0x1fa7ce&&_0x320f70['get'](_0x4ece31['name']))return _0x320f70['get'](_0x4ece31['name'])['detach'](),void _0x320f70['delete'](_0x4ece31['name']);const _0x2e3a24=_0x4ece31['name']['split'](':')[0x2];if(_0x2e3a24===_0x581b00['mySessionId'])return;const _0x58b57f='user:position:'+_0x2e3a24;_0x9a30c1['markers']['has'](_0x58b57f)&&_0x1587e3['editing']['reconvertMarker'](_0x58b57f),_0x4ece31['on']('change:range',(_0x3ff10b,_0x348596,_0x41cb7e)=>{if('$graveyard'!=_0x348596['root']['rootName']&&'$graveyard'==_0x4ece31['getRange']()['root']['rootName']&&!_0x320f70['has'](_0x4ece31['name'])){const _0x5246df=_0x9a30c1['schema']['getNearestSelectionRange'](_0x41cb7e['deletionPosition']);if(_0x5246df){const _0x454f69=ut['fromRange'](_0x5246df);_0x320f70['set'](_0x4ece31['name'],_0x454f69),_0x454f69['on']('change:range',(_0x40dd9e,_0x20c975,_0x9c2299)=>{if('$graveyard'==_0x454f69['root']['rootName']){const _0x1b522b=_0x9a30c1['schema']['getNearestSelectionRange'](_0x9c2299['deletionPosition']);_0x1b522b?(_0x454f69['start']=_0x1b522b['start'],_0x454f69['end']=_0x1b522b['end']):(_0x320f70['delete'](_0x4ece31['name']),_0x454f69['detach']());}});}}});}),_0x9a30c1['document']['on']('change',()=>{_0x320f70['size']>0x0&&_0x9a30c1['enqueueChange']({'isUndoable':!0x1},_0x43ab9a=>{for(const [_0x33aa30,_0x1a667b]of _0x320f70)'$graveyard'==_0x9a30c1['markers']['get'](_0x33aa30)['getRange']()['root']['rootName']&&(Q(_0x33aa30['split'](':')[0x2],_0x1a667b['toRange'](),_0x9a30c1,_0x43ab9a),_0x1a667b['detach']());_0x320f70['clear']();});});}(_0x3611bc),this['_domEmitter']['listenTo'](_0x4bd3f5['document'],'keydown',(_0x3dbdf4,{key:_0x410669})=>{'Escape'===_0x410669&&function(_0x26ec35){_0x26ec35['editing']['view']['change'](_0x21b0f9=>{for(const _0x129548 of _0x26ec35['model']['markers']){if(!_0x129548['name']['startsWith']('user:position'))continue;const _0x239a45=_0x26ec35['editing']['mapper']['markerNameToElements'](_0x129548['name']);if(_0x239a45){for(const _0x5613ae of _0x239a45)_0x21b0f9['removeClass']('ck-user__marker_hovered',_0x5613ae);}}});}(_0x3611bc);},{'useCapture':!0x0});}['afterInit'](){const _0x2fe944=this['editor'],_0x26fb05=_0x2fe944['commands']['get']('undo');_0x26fb05&&_0x2fe944['model']['on']('applyOperation',(_0x8148fc,_0x586b17)=>{const _0x34092a=_0x586b17[0x0];if('marker'!=_0x34092a['type']||!_0x34092a['name']['startsWith']('user:'))return;const _0x1c131b=_0x34092a['batch'];_0x26fb05['_createdBatches']['has'](_0x1c131b)&&(_0x34092a['newRange']=_0x34092a['oldRange']?_0x2fe944['model']['createRange'](_0x34092a['oldRange']['start'],_0x34092a['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x26c213=this['editor'],_0x11b8c0=_0x26c213['model']['document'],_0xb0fc00=_0x26c213['plugins']['get'](r);_0x26c213['model']['enqueueChange']({'isUndoable':!0x1},_0x350506=>{const _0x80e26a='user:range:'+_0xb0fc00['mySessionId'],_0x3195b5='user:position:'+_0xb0fc00['mySessionId'],_0x2c73b3=_0x26c213['model']['markers']['has'](_0x80e26a);_0x26c213['editing']['view']['hasDomSelection']?Q(_0xb0fc00['mySessionId'],_0x11b8c0['selection']['getFirstRange'](),_0x26c213['model'],_0x350506):_0x2c73b3&&(_0x350506['removeMarker'](_0x80e26a),_0x350506['removeMarker'](_0x3195b5));});}}function Q(_0x422b45,_0x465332,_0x744c94,_0x9eaca0){const _0x47297b='user:range:'+_0x422b45,_0x5b2c5c='user:position:'+_0x422b45,_0x39396a=_0x465332['getContainedElement']();let _0xc25b7a=_0x465332['start'];_0x39396a&&_0x39396a['is']('element','tableCell')&&(_0xc25b7a=function(_0x32a310,_0x36049c){for(const _0x399564 of _0x32a310['getPositions']())if(_0x36049c['schema']['checkChild'](_0x399564,'$text'))return _0x399564;}(_0x465332,_0x744c94),_0x465332=_0x9eaca0['createRange'](_0xc25b7a));const _0x158141=_0x9eaca0['createRange'](_0xc25b7a);_0x744c94['markers']['has'](_0x47297b)?(_0x9eaca0['updateMarker'](_0x47297b,{'range':_0x465332}),_0x9eaca0['updateMarker'](_0x5b2c5c,{'range':_0x158141})):(_0x9eaca0['addMarker'](_0x47297b,{'range':_0x465332,'usingOperation':!0x0}),_0x9eaca0['addMarker'](_0x5b2c5c,{'range':_0x158141,'usingOperation':!0x0}));}function B(_0x23eb2b,_0x9213da,_0x5b48fb){const t=_0x23eb2b['t'];switch(_0x9213da){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 t({'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'},_0x5b48fb);default:return'';}}let F=0x1;class l extends _0xa7b1dc{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x3c3a24)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,E,_0x2fc54a,_0x33926,_0x2e2629];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x262c2f=this['serverHistory']['getOperations']();for(let _0x3e0fde=_0x262c2f['length']-0x1;_0x3e0fde>=0x0;_0x3e0fde--){const _0xa56ed4=_0x262c2f[_0x3e0fde];if(!this['_disconnectionOperations']['has'](_0xa56ed4))return _0xa56ed4['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x50f3c4){if(super(_0x50f3c4),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5d978e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3e942c('collaboration-missing-channelid',this);const _0x5bbdf2=_0x50f3c4['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x5bbdf2,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xe4dc0(),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 G(this['_disconnectionOperations']);}['init'](){const _0x5bb65c=this['editor'],_0x14e5fe=_0x5bb65c['plugins']['get'](_0x33926),_0x16feb0=_0x5bb65c['plugins']['get'](c);this['listenTo'](_0x14e5fe,'getOperationAuthor',(_0x413785,_0xfafa93)=>{const _0x4f28f2=_0xfafa93[0x0];_0x4f28f2['_authorId']&&(_0x413785['return']=_0x14e5fe['getUser'](_0x4f28f2['_authorId']),_0x413785['stop']()),null===_0x4f28f2['_authorId']&&(_0x413785['return']=null,_0x413785['stop']());},{'priority':'high'}),this['listenTo'](_0x5bb65c['model']['document']['selection'],'change:range',(_0xbaf750,_0x2f1834)=>{_0x2f1834['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5bb65c['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5bb65c['model']['on']('applyOperation',(_0x553eb8,_0x56a339)=>{const _0x4b5596=_0x56a339[0x0];_0x4b5596['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4b5596),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x16feb0,'state',this,'_hasSynchronizationProblem',(_0x36f6c2,_0x33da08)=>'connected'===_0x36f6c2&&!_0x33da08),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5bb65c['disableReadOnlyMode']('rtc-offline'):_0x5bb65c['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5bb65c['disableReadOnlyMode']('rtc-offline'):_0x5bb65c['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4b413e=this['editor']['plugins']['get'](r),_0x2dee43=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x4b413e['unregister'](this['_channelId']);const _0x46eb34=await this['_service']['reconnect'](_0x2dee43['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x46eb34)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2c6b65=await this['_service']['getConnectedSessions']();_0x4b413e['register'](this['_channelId'],_0x2c6b65),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x10b97e){if(function(_0x5c7824){return'404'===_0x5c7824['code'];}(_0x10b97e)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4ab38e){return'409'===_0x4ab38e['code'];}(_0x10b97e)){const _0x16283a=B(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'](_0x16283a);}else{if(!(_0x10b97e instanceof H))throw _0x10b97e;this['_handleReconnectionError']();}}}}['destroy'](){const _0x103606=this['editor']['plugins']['get'](c),_0x5c788a=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5c788a['channelSessions']['has'](this['_channelId'])&&_0x5c788a['unregister'](this['_channelId']),_0x103606['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4d6567){if(this['sessionId']!==_0x4d6567['sessionId']&&this['_lastSyncedOperationId']!==_0x4d6567['lastOperationId'])throw new H();return this['sessionId']=_0x4d6567['sessionId'],this['_handleServerResponse']([],{..._0x4d6567,'wereChangesApplied':!0x1,'data':_0x4d6567['data']},'reconnect');}async['_connectService'](_0x39ae85,_0xe1fb33=!0x1){const {connection:_0x2e1b8b}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x2e1b8b,this['_channelId'])['then'](_0x5596ad=>this['_initSessionsHandling'](_0x5596ad))['catch'](_0x666ec5=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x666ec5);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x215488,_0x281fef)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x281fef);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x45de4a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x39ae85);this['_isPendingUpdate']=!0x0;const _0x1580a1=await this['_service']['connect'](_0x2e1b8b,this['_compressOperations'](_0x39ae85),_0x45de4a);if(this['sessionId']=_0x1580a1['sessionId'],_0xe1fb33){if(!_0x1580a1['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1580a1['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x39ae85,_0x1580a1,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1580a1,_0x39ae85);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2ce99c=this['editor']['plugins']['get'](r),_0x257873=this['editor']['plugins']['get'](E),_0x39118d=_0x2ce99c['channelSessions']['get'](this['_channelId']);_0x39118d&&_0x39118d['length']>0x1?_0x257873['createUserMarkerOperations']():this['listenTo'](_0x2ce99c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2ce99c['channelSessions']['get'](this['_channelId'])['length']&&_0x257873['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4ed7dd,_0x67ceb,_0x1dea7f,_0x39cf2d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x67ceb){const _0xe7bc8c=this['_decompressOperations'](_0x1dea7f,_0x39cf2d);await this['_fetchMissingUsers'](_0xe7bc8c),this['_handleExternalOperations'](_0xe7bc8c,_0x67ceb,_0x1dea7f['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2dec11}=this['editor'];let _0x646a45;try{_0x646a45=await this['_service']['getDocumentDetails']();}catch(_0x5658f4){const _0x4e34cb=B(_0x2dec11,'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'](_0x4e34cb);}const _0x4c935c=_0x646a45['currentDocumentSession']||_0x646a45['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x4c935c['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x3e9b2f=B(_0x2dec11,'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'](_0x3e9b2f);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4ab9da){const _0x1d1448=this['editor']['plugins']['get'](r);this['listenTo'](_0x1d1448,'sessionAdd:'+this['_channelId'],(_0x290f52,{session:_0x4406d7})=>{if(_0x4406d7['id']===_0x1d1448['mySessionId']){_0x290f52['off']();const _0x9ce2bb=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5df825=_0x4406d7['permissions'];_0x9ce2bb&&_0x9ce2bb['isEnabled']&&(_0x5df825=_0x5df825['filter'](_0x6c8700=>'document:write'!==_0x6c8700)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5df825,this['_channelId']);}}),_0x1d1448['register'](this['_channelId'],_0x4ab9da);}['_initThrowingOnDataSet'](){const _0x512e4e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x40b8dc)=>{if(!_0x40b8dc[_0x40b8dc['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3e942c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x512e4e['apply'](this['editor']['data'],_0x40b8dc);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x46112d,[_0x134484])=>{if(this['_document']['version'])throw new _0x3e942c('realtimecollaborationclient-init-document-already-initialized',this);_0x46112d['stop'](),this['_setPendingAction']();const _0x1f46d6=this['editor']['config']['get']('rootsAttributes'),_0x234891=this['_getOperationsFromInitData'](_0x134484,_0x1f46d6);0x0==_0x234891['length']&&_0x234891['push'](new _0x5c431e(0x0)),_0x46112d['return']=this['_connectService'](_0x234891)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2a1947=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2a1947))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x26db9a,[_0x2341f4,_0x192b7c])=>{_0x26db9a['stop']();const _0x419979=this['editor']['model']['document']['getRoot'](_0x2341f4);if(!this['_knownRootNames']['has'](_0x2341f4)){const _0x215043=_0x192b7c&&_0x192b7c['data']?_0x192b7c['data']:'',_0x1d745f=_0x192b7c&&_0x192b7c['attributes']?_0x192b7c['attributes']:{};await this['_loadRoot'](_0x2341f4,_0x215043,_0x1d745f);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x419979['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x419979);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xc43bfe){const _0x34a124=this['editor']['plugins']['get'](_0x33926),{connection:_0x45d478}=this['editor']['plugins']['get'](c),_0x1b6e6e=new Set();for(const _0x4551ee of _0xc43bfe){const _0x5a3ff6=_0x4551ee['_authorId'];_0x5a3ff6&&!_0x34a124['getUser'](_0x5a3ff6)&&_0x1b6e6e['add'](_0x5a3ff6);}if(0x0===_0x1b6e6e['size'])return;const _0x55d5a2=await mt['getMany'](_0x45d478,Array['from'](_0x1b6e6e));for(const _0x5d97e8 of _0x55d5a2)_0x34a124['getUser'](_0x5d97e8['id'])||_0x34a124['addUser'](_0x5d97e8);}['_getOperationsFromInitData'](_0x1b1f13,_0x42ec4d={}){const _0x4e895d=this['editor']['model'],_0x389956=[];let _0x1c5487=0x0;const _0x474cdc='string'==typeof _0x1b1f13?{'main':_0x1b1f13}:_0x1b1f13;for(const _0x403610 of Object['keys'](_0x474cdc)){if(!this['_document']['roots']['has'](_0x403610))throw new _0x3e942c('realtimecollaborationclient-init-non-existent-root',this);const _0x15f2fa=this['editor']['data']['parse'](_0x474cdc[_0x403610]),_0x106cf3=this['_document']['getRoot'](_0x403610),_0x54d687=new _0x453615(_0x4e895d['createPositionAt'](_0x106cf3,0x0),_0x15f2fa,_0x1c5487++);_0x389956['push'](_0x54d687);for(const [_0x3b7b1b,_0x3bc281]of _0x15f2fa['markers']){const _0x14e8d1=_0x4e895d['createRange'](_0x4e895d['createPositionFromPath'](_0x106cf3,_0x3bc281['start']['path']['slice']()),_0x4e895d['createPositionFromPath'](_0x106cf3,_0x3bc281['end']['path']['slice']())),_0xbe592f=new _0x1128c5(_0x3b7b1b,null,_0x14e8d1,_0x4e895d['markers'],!0x0,_0x1c5487++);_0x389956['push'](_0xbe592f);}}if(_0x42ec4d)for(const [_0x4494c4,_0x49a5e1]of Object['entries'](_0x42ec4d)){const _0x313c99=_0x4e895d['document']['getRoot'](_0x4494c4);if(!_0x313c99)throw new _0x3e942c('multi-root-editor-root-attributes-no-root',null);for(const [_0x4204b4,_0x39a7c7]of Object['entries'](_0x49a5e1))if(null!==_0x39a7c7){const _0xae97ba=new _0x53a927(_0x313c99,_0x4204b4,null,_0x39a7c7,_0x1c5487++);_0x389956['push'](_0xae97ba);}}return _0x389956;}async['_loadRoot'](_0x4d8fd6,_0x32b345,_0x57eada){this['_getOperationsFromInitData']({[_0x4d8fd6]:_0x32b345},{[_0x4d8fd6]:_0x57eada})['forEach']((_0x2d3102,_0x324021)=>{_0x2d3102['baseVersion']=this['_document']['version']+_0x324021,_0x2d3102['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2d3102);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3b2eeb,_0x21d5d6){let _0x1f6631;this['_offset']=_0x3b2eeb['offset'];const _0x5d6a22=_0x3b2eeb['wereChangesApplied']&&!_0x3b2eeb['initData'],_0x284fc1=_0x5d6a22?0x0:_0x3b2eeb['data']['baseVersion'];if(_0x21d5d6['forEach'](_0x4a3b22=>{_0x4a3b22['_isInit']=!0x0,_0x4a3b22['createdAt']=_0x3b2eeb['sessionCreatedAt'],_0x4a3b22['_authorId']=null;}),_0x5d6a22)_0x1f6631=_0x21d5d6,this['_applyOperationsSet'](_0x1f6631,_0x5d6a22);else{if(_0x3b2eeb['initData']){const _0x2fd5d5=this['_getOperationsFromInitData'](_0x3b2eeb['initData']);this['_document']['history']['version']=-_0x2fd5d5['length'],_0x2fd5d5['forEach'](_0x19fd45=>{_0x19fd45['baseVersion']-=_0x2fd5d5['length'],_0x19fd45['createdAt']=_0x3b2eeb['sessionCreatedAt'],_0x19fd45['_isInit']=!0x0,_0x19fd45['_authorId']=null;}),this['_applyOperationsSet'](_0x2fd5d5,!0x0),this['serverHistory']['version']=-_0x2fd5d5['length']+this['_offset'],this['_updateServerHistory'](_0x2fd5d5);}this['_document']['history']['version']=_0x284fc1,_0x1f6631=this['_decompressOperations'](_0x3b2eeb['data'],_0x3b2eeb['metadata']),await this['_fetchMissingUsers'](_0x1f6631),this['_applyOperationsSet'](_0x1f6631,_0x5d6a22);}_0x3b2eeb['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f6631,_0x3b2eeb['lastOperationId']),this['_lastSyncedOperationId']=_0x3b2eeb['lastOperationId']),this['serverHistory']['version']=_0x284fc1+this['_offset'],this['_updateServerHistory'](_0x1f6631),_0x21d5d6['filter'](_0x4aebc5=>{const _0x3acfa0=this['_getAffectedRoot'](_0x4aebc5);return _0x3acfa0&&!this['_knownRootNames']['has'](_0x3acfa0);})['forEach']((_0x3a6be8,_0x52328a)=>{_0x3a6be8['baseVersion']=this['_document']['version']+_0x52328a,this['_saveOperationInBuffer'](_0x3a6be8);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa67e36,_0x1a1647){throw this['_isPendingUpdate']=!0x0,_0x1a1647&&console['error'](_0x1a1647),new _0x3e942c(_0xa67e36,this['editor']);}['_saveOperationInBuffer'](_0x26e39e){this['_knownOperations']['has'](_0x26e39e)||(this['_knownOperations']['add'](_0x26e39e),this['_bufferedOperations']['push'](_0x26e39e),this['_pendingAction']||'marker'==_0x26e39e['type']&&!_0x26e39e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xa417e7=!0x1){!_0xa417e7&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5296f0=>{_0x5296f0&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2ff6a9=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x48dc3a){return _0x48dc3a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x48dc3a['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x48dc3a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2ff6a9))throw _0x2ff6a9;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5d9f18=>{this['on']('change:_isPendingUpdate',()=>{_0x5d9f18();});});}async['_sendBufferedOperations'](){const _0x466e86=this['editor']['plugins']['get'](E);if(this['_shouldSendSelectionUpdate']()&&(_0x466e86['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xcfffb=[...this['_bufferedOperations']];for(const _0x1bc466 of _0xcfffb)_0x1bc466['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x1bc466);const _0x10c3a9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcfffb),_0x57aced=F++,_0x2ea5fa=this['_compressOperations'](_0xcfffb),_0x47c28d=await this['_service']['sendOperations'](_0x2ea5fa,_0x2ea5fa['baseVersion'],_0x10c3a9);try{return await this['_handleServerResponse'](_0xcfffb,_0x47c28d,_0x57aced);}catch(_0x4f57cc){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4f57cc);}}async['_handleServerResponse'](_0xc15c06,_0x1a70c6,_0x562e78){if('error'in _0x1a70c6)throw _0x1a70c6['error'];let _0x5daa36=!0x1;if(_0x1a70c6['wereChangesApplied']){_0x1a70c6['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1a70c6['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x16345e=>!_0xc15c06['includes'](_0x16345e));for(const _0xe89915 of _0xc15c06)_0xe89915['createdAt']='lastOperationAcceptedAt'in _0x1a70c6&&_0x1a70c6['lastOperationAcceptedAt']||void 0x0;q(_0xc15c06,_0x1a70c6['version']-_0xc15c06['length']),this['_updateServerHistory'](_0xc15c06);const _0xdec1c2=_0xc15c06['filter'](_0x176ff3=>{if(!_0x176ff3['_isInit'])return!0x1;const _0x5e568b=this['_getAffectedRoot'](_0x176ff3);return _0x5e568b&&!this['_knownRootNames']['has'](_0x5e568b);});q(_0xdec1c2,this['_document']['version']),this['_applyOperationsSet'](_0xdec1c2),_0x5daa36=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x16bb00=this['_decompressOperations'](_0x1a70c6['data'],_0x1a70c6['metadata'])['filter'](_0x22e0bd=>_0x22e0bd['baseVersion']>=this['_lastServerVersion']);_0x16bb00['forEach'](_0x1545f1=>this['_addKnownRoot'](_0x1545f1)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2101e6=>!_0x2101e6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2101e6))),this['_bufferedOperations']['length']&&q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x16bb00),_0x5daa36=this['_handleExternalOperations'](_0x16bb00,_0x1a70c6['version'],_0x1a70c6['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5daa36?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5155d1,_0x100738,_0x5f3db9){try{const _0x4e0891={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x19492f,operationsB:_0x59657a,originalOperations:_0x3bd364}=_0x442640(_0x5155d1,this['_bufferedOperations'],_0x4e0891);q(_0x19492f,this['_document']['version']),q(_0x59657a,_0x100738);for(const _0x1d82ca of _0x19492f){const _0x3164de=_0x3bd364['get'](_0x1d82ca);_0x1d82ca['_authorId']=_0x3164de?_0x3164de['_authorId']:null;}_0x5f3db9&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5155d1,_0x5f3db9),this['_lastSyncedOperationId']=_0x5f3db9),this['_bufferedOperations']=[..._0x59657a],this['_applyOperationsSet'](_0x19492f),this['_updateServerHistory'](_0x5155d1);}catch(_0x4031f8){return console['error'](_0x4031f8),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2cf54e,_0x4f1cf5=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x49a197=>{for(const _0x377bcf of _0x2cf54e)this['_knownOperations']['add'](_0x377bcf),this['_addKnownRoot'](_0x377bcf),_0x49a197['batch']['addOperation'](_0x377bcf),this['editor']['model']['applyOperation'](_0x377bcf);});}['_addKnownRoot'](_0x4c98d1){const _0x181569=this['_getAffectedRoot'](_0x4c98d1);_0x181569&&this['_knownRootNames']['add'](_0x181569);}['_getAffectedRoot'](_0x558798){let _0x1b5fff,_0x239423;switch(_0x558798['type']){case'insert':_0x1b5fff=_0x558798['position']['root'];break;case'marker':if(_0x239423=_0x558798['newRange'],!_0x239423)return null;_0x1b5fff=_0x239423['root'];break;case'addRootAttribute':_0x1b5fff=_0x558798['root'];break;case'addRoot':_0x1b5fff=_0x558798['affectedSelectable'];break;case'move':_0x1b5fff=_0x558798['targetPosition']['root'];break;default:return null;}return _0x1b5fff['rootName'];}['_updateServerHistory'](_0x334a38){_0x334a38['forEach'](_0x583496=>{const _0x4d0327=_0x583496['clone']();_0x4d0327['_authorId']=_0x583496['_authorId'],_0x4d0327['_isInit']=!!_0x583496['_isInit'],_0x4d0327['createdAt']=_0x583496['createdAt'],_0x4d0327['baseVersion']+=this['_offset'],_0x583496['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4d0327),this['serverHistory']['addOperation'](_0x4d0327);});}['_handleReconnectionError'](_0x152bfc){const _0xe6e2c=this['editor']['plugins']['get']('Notification'),_0x324ea9=this['editor']['locale'];_0x152bfc||(_0x152bfc=B(_0x324ea9,'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.')),_0xe6e2c['showWarning'](_0x152bfc,{'title':B(_0x324ea9,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2fc54a)['add'](B(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2fc54a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x84600b){const _0x23691d=_0x84600b['map'](_0x47e44d=>_0x47e44d['toJSON']());return this['_compressor']['compress'](_0x23691d);}['_decompressOperations'](_0x189f2d,_0x23bbfc){return this['_compressor']['decompress'](_0x189f2d)['map']((_0x59b030,_0x1db83e)=>{const _0x363ef7='init'==_0x23bbfc[_0x1db83e]['type'];if('InsertOperation'==_0x59b030['__className']){const _0x4188a1=_0x59b030['position']['root'];!this['_document']['getRoot'](_0x4188a1)&&(this['_document']['createRoot']('$root',_0x4188a1)['_isAttached']=!0x1);}const _0x3de89e=_0x168a4e['fromJSON'](_0x59b030,this['_document']);return _0x3de89e['wasUndone']=_0x59b030['wasUndone'],_0x3de89e['_isInit']=_0x363ef7,_0x3de89e['_authorId']=_0x363ef7?null:_0x23bbfc[_0x1db83e]['userId'],_0x3de89e['_isDisconnection']='cs:removeUser'===_0x23bbfc[_0x1db83e]['type'],_0x3de89e['createdAt']=_0x23bbfc[_0x1db83e]['createdAt'],_0x3de89e;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4a7bcd=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4a7bcd&&_0x4a7bcd['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class H extends Error{}function q(_0x36623f,_0x262e43){for(const _0x51c720 of _0x36623f)_0x51c720['baseVersion']=_0x262e43++;}class G{['_ignoredOperations'];['_operationToId'];constructor(_0x5b1388){this['_ignoredOperations']=_0x5b1388,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xb9df7b){let _0x647415=_0xb9df7b['length'];for(;_0x647415--;){const _0x1de9e7=_0xb9df7b[_0x647415];if(!this['_ignoredOperations']['has'](_0x1de9e7)){if(!this['_operationToId']['has'](_0x1de9e7)){const _0x439ad7=_0x5c9614()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1de9e7,_0x439ad7);}return this['_operationToId']['get'](_0x1de9e7);}}}['setIdForTheLastOperation'](_0x509e83,_0x455514){if(!_0x455514)return;let _0x46f35f=_0x509e83['length'];for(;_0x46f35f--;){const _0x24bc73=_0x509e83[_0x46f35f];this['_ignoredOperations']['has'](_0x24bc73)||this['_operationToId']['set'](_0x24bc73,_0x455514);}}}class n extends _0xa7b1dc{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x536a58{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>tt)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x33926];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0x3511f0){super(_0x3511f0),this['_services']=new Map();}async['init'](){const _0x1067c8=this['context'],_0xac8901=_0x1067c8['plugins']['get']('CommentsRepository');if(_0x1067c8['plugins']['get'](c)['addToReconnectionStack'](this),_0xac8901['adapter']={'addCommentThread':async({channelId:_0x4d5226,threadId:_0xe4fe1b,comments:_0x5241f1,resolvedAt:_0xc6f331,resolvedBy:_0x34bbfc,context:_0x549dee,attributes:_0x55fc23})=>{const _0x44e3ee=await this['_getService'](_0x4d5226)['addCommentThread']({'commentThreadId':_0xe4fe1b,'comments':_0x5241f1['map'](_0xd6ed5d=>function(_0x2584d8,_0x5cd592,_0x2a5d75){return{'commentThreadId':_0x2a5d75,'commentId':_0x2584d8['commentId'],'userId':_0x2584d8['authorId'],'content':_0x2584d8['content'],'documentId':_0x5cd592,'createdAt':_0x2584d8['createdAt'],'attributes':_0x2584d8['attributes']||{}};}(_0xd6ed5d,_0x4d5226,_0xe4fe1b)),'resolvedAt':_0xc6f331,'resolvedBy':_0x34bbfc,'context':_0x549dee,'attributes':_0x55fc23})['catch'](wt);return{'threadId':_0x44e3ee['commentThreadId'],'comments':_0x44e3ee['comments']};},'getCommentThread':async({channelId:_0x4de9d5,threadId:_0x59be97})=>{const _0x2fa6ce=await this['_getService'](_0x4de9d5)['getCommentThread'](_0x59be97)['catch'](wt);return _0x2fa6ce['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2fa6ce]),{'threadId':_0x2fa6ce['commentThreadId'],'comments':_0x2fa6ce['comments']['map'](nt),'context':_0x2fa6ce['context'],'resolvedAt':_0x2fa6ce['resolvedAt'],'resolvedBy':_0x2fa6ce['resolvedBy'],'attributes':_0x2fa6ce['attributes']||{}});},'updateCommentThread':async({channelId:_0x580b41,threadId:_0x28fb1b,context:_0x27c919,unlinkedAt:_0x34ce07,attributes:_0xa31dfc})=>this['_getService'](_0x580b41)['updateCommentThread']({'commentThreadId':_0x28fb1b,'context':_0x27c919,'attributes':_0xa31dfc,'unlinkedAt':_0x34ce07})['catch'](et)['catch'](wt),'resolveCommentThread':async({channelId:_0x36f404,threadId:_0x4e7547})=>{const _0x2e85cb=await this['_getService'](_0x36f404)['resolveCommentThread'](_0x4e7547)['catch'](et)['catch'](wt);return{'threadId':_0x2e85cb['commentThreadId'],'resolvedAt':_0x2e85cb['resolvedAt'],'resolvedBy':_0x2e85cb['resolvedBy']};},'reopenCommentThread':async({channelId:_0x48de49,threadId:_0x456a40})=>this['_getService'](_0x48de49)['reopenCommentThread'](_0x456a40)['catch'](et)['catch'](wt),'removeCommentThread':({channelId:_0x1e2caf,threadId:_0xf1c540})=>this['_getService'](_0x1e2caf)['removeCommentThread'](_0xf1c540)['catch'](et)['catch'](wt),'addComment':({channelId:_0x38f035,threadId:_0x8c4302,commentId:_0x260e59,content:_0x3308d6,attributes:_0x2e629d})=>this['_getService'](_0x38f035)['addComment'](_0x8c4302,_0x260e59,_0x3308d6,_0x2e629d)['catch'](wt),'updateComment':({channelId:_0xcea788,threadId:_0x564917,commentId:_0x389c59,content:_0x260153,attributes:_0x1f32c3})=>this['_getService'](_0xcea788)['updateComment'](_0x564917,_0x389c59,_0x260153,_0x1f32c3)['catch'](et)['catch'](wt),'removeComment':({channelId:_0x5d154c,threadId:_0x30ff18,commentId:_0x5eb922})=>this['_getService'](_0x5d154c)['removeComment'](_0x30ff18,_0x5eb922)['catch'](et)['catch'](wt)},_0x1067c8 instanceof _0x20f32d){const _0x218e12=_0x1067c8['config']['get']('collaboration.channelId'),_0xef27e7=_0x1067c8['plugins']['get'](r);await this['_setUpService'](_0x218e12);const _0x1003d8=await this['_services']['get'](_0x218e12)['getConnectedSessions']();this['listenTo'](_0xef27e7,'sessionAdd:'+_0x218e12,(_0x422972,{session:_0x6fd060})=>{_0x6fd060['id']===_0xef27e7['mySessionId']&&(_0x422972['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x6fd060['permissions'],_0x218e12));}),_0xef27e7['register'](_0x218e12,_0x1003d8);}}async['_setUpService'](_0x586cc3){if(this['_services']['has'](_0x586cc3))throw new _0x3e942c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x586cc3});const _0x2602e8=this['context']['plugins']['get']('CommentsRepository'),_0x4c27c2=new a['CommentsService'](_0x586cc3);this['_services']['set'](_0x586cc3,_0x4c27c2),this['listenTo'](_0x4c27c2,'commentThreadAdded',(_0x3c59d4,_0x231585)=>{const {commentThreadId:_0x3dfd42,documentId:_0x250eaa,context:_0x22a2f9,attributes:_0x573527,resolvedAt:_0x2f8144,resolvedBy:_0x305274,comments:_0x552426}=_0x231585;_0x2602e8['getCommentThread'](_0x3dfd42)||_0x2602e8['addCommentThread']({'threadId':_0x3dfd42,'channelId':_0x250eaa,'comments':_0x552426?_0x552426['map'](nt):[],'context':_0x22a2f9,'attributes':_0x573527,'resolvedAt':_0x2f8144,'resolvedBy':_0x305274,'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadUpdated',(_0x39dad5,{commentThreadId:_0x4382d1,documentId:_0x1eb63d,context:_0x33c590,unlinkedAt:_0x15c362,attributes:_0x13c701})=>{_0x2602e8['getCommentThread'](_0x4382d1)&&_0x2602e8['updateCommentThread']({'threadId':_0x4382d1,'channelId':_0x1eb63d,'context':_0x33c590,'unlinkedAt':_0x15c362,'attributes':_0x13c701,'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadResolved',(_0x548650,{commentThreadId:_0x50c050,resolvedBy:_0x207743,resolvedAt:_0x511cfb})=>{const _0x60be40=_0x2602e8['getCommentThread'](_0x50c050);_0x60be40&&_0x60be40['resolve']({'resolvedBy':_0x207743,'resolvedAt':_0x511cfb,'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadReopened',(_0x4d1ba8,{commentThreadId:_0x4ea58f})=>{const _0x362d76=_0x2602e8['getCommentThread'](_0x4ea58f);_0x362d76&&_0x362d76['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadRemoved',(_0x2f0602,{commentThreadId:_0x178428})=>{const _0x442471=_0x2602e8['getCommentThread'](_0x178428);_0x442471&&_0x442471['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentAdded',(_0x25b4a1,_0x2bd06f)=>{const _0x238a74=_0x2bd06f['commentThreadId'],_0xe76df3=_0x2602e8['getCommentThread'](_0x238a74);_0xe76df3&&_0xe76df3['addComment']({...nt(_0x2bd06f),'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentUpdated',(_0x3c8302,{commentThreadId:_0x4cfa4e,commentId:_0xa8840a,content:_0x54b434,attributes:_0x86efa})=>{const _0x4f4c45=_0x2602e8['getCommentThread'](_0x4cfa4e);if(_0x4f4c45){const _0x36466a=_0x4f4c45['getComment'](_0xa8840a);_0x36466a&&_0x36466a['update']({'content':_0x54b434,'attributes':_0x86efa,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4c27c2,'commentRemoved',(_0x5545bc,{commentThreadId:_0x4c8fc9,commentId:_0x5b968c})=>{const _0x48c88e=_0x2602e8['getCommentThread'](_0x4c8fc9);if(_0x48c88e){const _0x11191e=_0x48c88e['getComment'](_0x5b968c);_0x11191e&&_0x11191e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x586cc3);}['destroy'](){if(this['context']instanceof _0x20f32d){const _0x54ab71=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x54ab71);}}['_terminateService'](_0x1b2bee){if(!this['_services']['has'](_0x1b2bee))throw new _0x3e942c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1b2bee});this['_getService'](_0x1b2bee)['disconnect'](),this['_services']['delete'](_0x1b2bee);}async['reconnect'](){for(const _0x2500bf of this['_services']['keys']())await this['_connectService'](_0x2500bf);if(this['context']instanceof _0x20f32d){const _0x39fec6=this['context']['config']['get']('collaboration.channelId'),_0x4f5fd9=this['context']['plugins']['get'](r);_0x4f5fd9['unregister'](_0x39fec6);const _0x16312c=await this['_services']['get'](_0x39fec6)['getConnectedSessions']();_0x4f5fd9['register'](_0x39fec6,_0x16312c);}}async['_connectService'](_0x5237ce){const {connection:_0x30904e}=this['context']['plugins']['get'](c),_0x578933=this['context']['plugins']['get']('CommentsRepository'),_0x6b9de5=this['_services']['get'](_0x5237ce),_0x996e7b=await _0x6b9de5['connect'](_0x30904e);await this['_fetchMissingUsersForThreads'](_0x996e7b);const _0x3e54ef=new Set(Array['from'](_0x578933['getCommentThreads']({'channelId':_0x5237ce}),_0x12d2eb=>_0x12d2eb['id']));for(const _0x1a31f7 of _0x996e7b)_0x1a31f7['deletedAt']||_0x3e54ef['delete'](_0x1a31f7['commentThreadId']);for(const _0x521ed5 of _0x3e54ef)_0x578933['getCommentThread'](_0x521ed5)['remove']({'isFromAdapter':!0x0});for(const _0x4de3ca of _0x996e7b){let _0x3db2fa=_0x578933['getCommentThread'](_0x4de3ca['commentThreadId']);const {commentThreadId:_0x59ea75,context:_0x276a32,attributes:_0x1e813f,resolvedBy:_0x36afc9,resolvedAt:_0x5bb4cb,unlinkedAt:_0xee4adc,deletedAt:_0x3b3421}=_0x4de3ca;if(_0x3b3421)continue;_0x3db2fa||(_0x3db2fa=_0x578933['addCommentThread']({'channelId':_0x5237ce,'threadId':_0x59ea75,'context':_0x276a32,'attributes':_0x1e813f||{},'resolvedBy':_0x36afc9,'resolvedAt':_0x5bb4cb,'unlinkedAt':_0xee4adc,'isFromAdapter':!0x0}));const _0x2f099a=new Set(Array['from'](_0x3db2fa['comments'],_0x20faa6=>_0x20faa6['id']));for(const _0x50022c of _0x4de3ca['comments'])_0x2f099a['delete'](_0x50022c['commentId']);for(const _0xd672f4 of _0x2f099a)_0x3db2fa['getComment'](_0xd672f4)['remove']({'isFromAdapter':!0x0});for(const _0x351e41 of _0x4de3ca['comments']){const _0x1c5bd9=_0x3db2fa['getComment'](_0x351e41['commentId']);_0x1c5bd9?_0x1c5bd9['content']!==_0x351e41['content']&&_0x1c5bd9['update']({'content':_0x351e41['content'],'isFromAdapter':!0x0}):_0x3db2fa['addComment'](Object['assign'](nt(_0x351e41),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1e103b){if(!this['_services']['has'](_0x1e103b))throw new _0x3e942c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1e103b});return this['_services']['get'](_0x1e103b);}async['_fetchMissingUsersForThreads'](_0x33a497){const _0x4ab273=this['context']['plugins']['get'](_0x33926),{connection:_0xd1ce78}=this['context']['plugins']['get'](c),_0x511ab7=new Set();for(const {resolvedBy:_0x3a5e00,comments:_0x310590}of _0x33a497){_0x3a5e00&&!_0x4ab273['getUser'](_0x3a5e00)&&_0x511ab7['add'](_0x3a5e00);for(const {userId:_0x5ae9d8}of _0x310590)_0x4ab273['getUser'](_0x5ae9d8)||_0x511ab7['add'](_0x5ae9d8);}if(0x0===_0x511ab7['size'])return;const _0x21ef6e=await mt['getMany'](_0xd1ce78,Array['from'](_0x511ab7));for(const _0x5c56b1 of _0x21ef6e)_0x4ab273['getUser'](_0x5c56b1['id'])||_0x4ab273['addUser'](_0x5c56b1);}}async function et(_0x23d153){if('404'!==_0x23d153['code'])throw _0x23d153;}function wt(_0x2dc18b){if((_0x3b7e09=_0x2dc18b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3b7e09['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b7e09['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3b7e09;throw _0x2dc18b;}function nt(_0x769613){return{'threadId':_0x769613['commentThreadId'],'commentId':_0x769613['commentId'],'content':_0x769613['content'],'createdAt':_0x769613['createdAt'],'authorId':_0x769613['userId'],'attributes':_0x769613['attributes']||{}};}class g extends _0xa7b1dc{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>at)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x9c33e7){super(_0x9c33e7);const _0x526931=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new g['TrackChangesService'](_0x526931);}['init'](){const _0x975255=this['editor']['plugins']['get'](c),_0x5a9c7b=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5a9c7b['adapter']={'getSuggestion':async _0x4ff8ee=>{await this['_waitForServiceReady']();const _0x33c292=await this['_trackChangesService']['get'](_0x4ff8ee)['catch'](ot);return await this['_fetchMissingUsersForThreads']([_0x33c292]),_0x33c292;},'addSuggestion':async({id:_0x424371,type:_0x1ef7a9,data:_0x5c4534,originalSuggestionId:_0x5d1f8b,attributes:_0x440d55})=>{await this['_waitForServiceReady']();const _0x197a7e={'id':_0x424371,'type':_0x1ef7a9,'data':_0x5c4534,'originalSuggestionId':_0x5d1f8b,'attributes':_0x440d55},_0x5e8253=await this['_trackChangesService']['add'](_0x424371,_0x1ef7a9,_0x5c4534,_0x5d1f8b,_0x440d55)['catch'](_0x27b359=>{if(gt(_0x27b359))return new Promise(_0x39fdfd=>{this['_bufferedRequests']['set'](_0x424371,{'resolve':_0x39fdfd,'suggestionData':_0x197a7e});});throw _0x27b359;});return this['_bufferedRequests']['delete'](_0x424371),_0x5e8253;},'updateSuggestion':async(_0x4f63e2,_0x4a348e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4a348e['state'])return this['_trackChangesService']['update'](_0x4f63e2,_0x4a348e)['catch'](ot);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x31f9e8,_0xb74ef0)=>{_0x5a9c7b['hasSuggestion'](_0xb74ef0['id'])&&(_0x5a9c7b['getSuggestion'](_0xb74ef0['id'])['attributes']=_0xb74ef0['attributes']);}),this['_trackChangesService']['connect'](_0x975255['connection'])['then'](_0x3503b7=>(_0x975255['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3503b7)['then'](()=>{for(const _0x35c285 of _0x3503b7){_0x5a9c7b['addSuggestionData'](_0x35c285)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5738a6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3e0149}=this['editor']['plugins']['get'](c),_0x4ba96=await this['_trackChangesService']['connect'](_0x3e0149);await this['_fetchMissingUsersForThreads'](_0x4ba96);for(const {suggestionData:_0x385b98,resolve:_0x13eb8a}of this['_bufferedRequests']['values']()){let _0x5b3dc7=_0x4ba96['find'](_0x4f7ba2=>_0x4f7ba2['id']===_0x385b98['id']);_0x5b3dc7||(_0x5b3dc7=await this['_trackChangesService']['add'](_0x385b98['id'],_0x385b98['type'],_0x385b98['data'],_0x385b98['originalSuggestionId'])),_0x13eb8a(_0x5b3dc7);}for(const _0x33ff89 of _0x4ba96)_0x5738a6['hasSuggestion'](_0x33ff89['id'])||_0x5738a6['addSuggestionData'](_0x33ff89);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5b758b=>{this['listenTo'](this['_trackChangesService'],'connected',_0x18fe6c=>{_0x18fe6c['off'](),_0x5b758b();});});}async['_fetchMissingUsersForThreads'](_0x4ff03e){const _0x597ab8=this['editor']['plugins']['get'](_0x33926),{connection:_0x49d13e}=this['editor']['plugins']['get'](c),_0xaaec92=new Set();for(const {authorId:_0x438971}of _0x4ff03e)_0x597ab8['getUser'](_0x438971)||_0xaaec92['add'](_0x438971);if(0x0===_0xaaec92['size'])return;const _0x156095=await mt['getMany'](_0x49d13e,Array['from'](_0xaaec92));for(const _0x1c091f of _0x156095)_0x597ab8['getUser'](_0x1c091f['id'])||_0x597ab8['addUser'](_0x1c091f);}}function ot(_0x58a52c){if(gt(_0x58a52c))return new Promise(()=>{});throw _0x58a52c;}function gt(_0x39465b){return _0x39465b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x39465b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0xa7b1dc{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}['init'](){const _0x13e643=this['editor']['plugins']['get'](c),_0x33d227=this['editor']['plugins']['get']('CommentsEditing'),_0x4c6a1c=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x13e643,'change:state',(_0x428786,_0x4a8081,_0x36f916)=>{_0x33d227['isThreadsLoadingPaused']='connected'!==_0x36f916;});}),this['listenTo'](_0x13e643,'change:state',(_0x946506,_0x141f6f,_0x11b5db)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x11b5db);}),_0x4c6a1c['_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 _0xa7b1dc{static get['requires'](){return[m,g,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}}class v extends _0xa7b1dc{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x33926];}constructor(_0x241461){super(_0x241461);const _0x193b2a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x193b2a);}async['init'](){const _0x120eaf=this['editor']['plugins']['get'](l),_0x486785=_0x120eaf['serverHistory'],_0x3a4268=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x486785,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x120eaf['sessionId']});const _0x3765b0=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x5d8100=await it['isBundleUploaded'](_0x3a4268['connection'],_0x3765b0);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x4717b9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4717b9)),'updateRevisions':async _0x89835=>{await this['_waitForServiceReady']();const _0x5ea356=this['_revisionTracker']['currentRevision'];if(_0x5d8100&&0x1===_0x89835['length']&&_0x89835[0x0]['id']===_0x5ea356['id'])return _0x89835;for(const _0x59ac87 of _0x89835)_0x59ac87['id']===_0x5ea356['id']&&(_0x59ac87['isEmptyCurrent']=_0x59ac87['fromVersion']===_0x59ac87['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x89835,this['_lastRequestId'])['then'](_0x2e40d6=>(this['_lastRequestId']=_0x2e40d6,_0x89835))['catch'](_0x1c5f31=>{if(rt(_0x1c5f31)||'400'===_0x1c5f31['code']&&void 0x0!==_0x1c5f31['data']['wrongRequestId']){for(const _0x48adb9 of _0x89835){!this['_revisionTracker']['repository']['getRevision'](_0x48adb9['id'])||this['_revisionTracker']['_bufferUpdate'](_0x48adb9['id'],_0x48adb9,!0x1);}if(rt(_0x1c5f31))throw _0x1c5f31;return _0x89835;}throw _0x1c5f31;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1d13c5,{revisionsData:_0x58a501,requestId:_0x143934})=>{Math['max'](..._0x58a501['map'](_0x4fa1b8=>_0x4fa1b8['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x58a501,_0x143934);}):this['_handleRevisionsUpdate'](_0x58a501,_0x143934);});const {revisions:_0x5b1296,requestId:_0x4f8523}=await this['_revisionHistoryService']['connect'](_0x3a4268['connection']);_0x3a4268['addToReconnectionStack'](this),this['_lastRequestId']=_0x4f8523,await this['_fetchMissingUsers'](_0x5b1296);for(const _0x4c74cb of _0x5b1296)this['_revisionTracker']['addRevisionData'](_0x4c74cb);this['listenTo'](_0x120eaf,'change:_isConnected',(_0x38d819,_0x107320,_0x4bfe3e)=>{_0x4bfe3e&&(this['_oldOffset']=_0x120eaf['_offset'],_0x38d819['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3a4268,'state',_0x155d3e=>_0x155d3e===_0x2bb5ea['CONNECTED']);}async['reconnect'](){const _0x40a373=this['editor']['plugins']['get'](c),_0x9c463a=this['editor']['plugins']['get'](l),_0x38f48f=async()=>{const _0x30d9d4=this['_revisionTracker']['currentRevision'],_0x4f0836=_0x30d9d4['id'],_0x23a32a=_0x4f0836!==_0x9c463a['sessionId'];if(_0x23a32a){const _0x16ed7a=_0x9c463a['_offset']-this['_oldOffset'],_0x2de1dc=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x30d9d4['toVersion']+_0x16ed7a!==_0x2de1dc){const _0x15c147=_0x30d9d4['fromVersion']+_0x16ed7a,_0x65033a=this['editor']['plugins']['get'](_0x33926),_0x2f58d2=this['_revisionTracker']['buildRevisionData']({'revision':_0x30d9d4,'from':_0x15c147,'to':_0x2de1dc});_0x2f58d2['id']=_0x30d9d4['id'];const _0x395cb5=_0x2f58d2['authorsIds']['map'](_0x17dfe5=>_0x65033a['getUser'](_0x17dfe5));_0x30d9d4['_update']({..._0x2f58d2,'authors':_0x395cb5},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x30d9d4['id'],_0x2f58d2,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2de1dc,(_0x30d9d4['toVersion']===_0x30d9d4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4f0836)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4f0836),this['_revisionTracker']['_createCurrentRevision'](_0x2de1dc));}const {revisions:_0x37ca28,requestId:_0x52a0c1}=await this['_revisionHistoryService']['reconnect'](_0x40a373['connection'],this['_lastRequestId']);_0x23a32a&&_0x37ca28['length']>0x0?_0x9c463a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x37ca28),this['_handleRevisionsUpdate'](_0x37ca28,_0x52a0c1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x9c463a['_isConnected']?_0x38f48f():new Promise((_0x541b1f,_0x4451bb)=>{_0x9c463a['once']('change:_isConnected',()=>{_0x38f48f()['then'](_0x541b1f)['catch'](_0x4451bb);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x321112=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x48a285=>{_0x48a285['off'](),_0x321112();});});}['_getLatestVersionFromServerOperations'](){const _0xad7e02=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0xefcf35 of _0xad7e02)if('marker'!==_0xefcf35['type']||_0xefcf35['affectsData'])return _0xefcf35['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b15b6=this['editor']['plugins']['get'](l);return new Promise(_0x3adb0c=>{_0x1b15b6['_isPendingUpdate']?_0x1b15b6['once']('change:_isPendingUpdate',()=>{_0x3adb0c(this['_getLatestVersionFromServerOperations']());}):_0x3adb0c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x17905c,_0x12f9d3){const _0x43c764=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x12f9d3;for(const _0x138b3b of _0x17905c){const _0x2e09c1=_0x43c764['getRevision'](_0x138b3b['id']);if(_0x2e09c1){if((_0x138b3b['fromVersion']||_0x138b3b['toVersion'])&&(_0x138b3b['diffData']=null),_0x2e09c1===this['_revisionTracker']['currentRevision']){const _0x442440=Math['max'](_0x2e09c1['toVersion'],_0x138b3b['toVersion']),_0x260a12=Math['max'](_0x2e09c1['fromVersion'],_0x138b3b['fromVersion']);let _0x15b684;_0x2e09c1['toVersion']===_0x138b3b['toVersion']&&_0x2e09c1['fromVersion']===_0x138b3b['fromVersion']?(_0x15b684=!0x0,this['_preventResendingRevisionData'](_0x138b3b)):_0x138b3b['toVersion']===_0x442440&&_0x138b3b['fromVersion']===_0x260a12?_0x15b684=!0x1:(_0x2e09c1['toVersion']===_0x442440&&_0x2e09c1['fromVersion']===_0x260a12||this['_fixRevision']({'revision':_0x2e09c1,'from':_0x260a12,'to':_0x442440}),_0x15b684=!0x0),_0x15b684&&(delete _0x138b3b['fromVersion'],delete _0x138b3b['toVersion'],delete _0x138b3b['diffData'],delete _0x138b3b['createdAt'],delete _0x138b3b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x138b3b),this['_preventResendingRevisionData'](_0x138b3b);}else this['_revisionTracker']['addRevisionData'](_0x138b3b);}const _0x2b5d70=_0x43c764['getRevisions']();_0x2b5d70['reverse']();for(let _0x5d4e88=0x0;_0x5d4e88<_0x2b5d70['length']-0x1;_0x5d4e88++){const _0x558feb=_0x2b5d70[_0x5d4e88],_0x59786f=_0x2b5d70[_0x5d4e88+0x1];if(_0x558feb['fromVersion']<_0x59786f['toVersion']){const _0x4890c7=_0x59786f['toVersion'],_0x23db74=Math['max'](_0x4890c7,_0x558feb['toVersion']);this['_fixRevision']({'revision':_0x558feb,'from':_0x4890c7,'to':_0x23db74});}}}['_fixRevision']({revision:_0x1b0c4a,from:_0x5f4d74,to:_0x5b2f8e}={}){const _0x29c1e9=this['editor']['plugins']['get'](_0x33926),_0x5e0891=this['_revisionTracker']['buildRevisionData']({'revision':_0x1b0c4a,'from':_0x5f4d74,'to':_0x5b2f8e});_0x5e0891['authors']=_0x5e0891['authorsIds']['map'](_0xbe4793=>_0x29c1e9['getUser'](_0xbe4793)),_0x1b0c4a['_update'](_0x5e0891);}['_preventResendingRevisionData'](_0x1a271){const _0x3d6c3d={};_0x3d6c3d['id']=_0x1a271['id'];for(const _0x15ebcd of Object['keys'](_0x1a271))'id'!==_0x15ebcd&&(_0x3d6c3d[_0x15ebcd]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3d6c3d['id'],_0x3d6c3d,!0x0);}async['_fetchMissingUsers'](_0x47ab8f){const _0x469a32=this['editor']['plugins']['get'](_0x33926),{connection:_0x405773}=this['editor']['plugins']['get'](c),_0x2ad0fe=new Set();for(const _0x2320cd of _0x47ab8f){for(const _0xacf529 of _0x2320cd['authorsIds'])_0x144ed3(_0xacf529);_0x2320cd['creatorId']&&_0x144ed3(_0x2320cd['creatorId']);}if(0x0===_0x2ad0fe['size'])return;const _0x2f7bfe=await mt['getMany'](_0x405773,Array['from'](_0x2ad0fe));for(const _0x25c5db of _0x2f7bfe)_0x469a32['getUser'](_0x25c5db['id'])||_0x469a32['addUser'](_0x25c5db);function _0x144ed3(_0x24e64c){_0x469a32['getUser'](_0x24e64c)||_0x2ad0fe['add'](_0x24e64c);}}}function rt(_0x38101d){return _0x38101d['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x38101d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x38101d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0xa7b1dc{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0x385240{constructor(_0x1745df){super(_0x1745df);const _0x1593ba=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x1593ba['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x1593ba['to']('usersCount',_0x2a3387=>B(_0x1745df,'CONNECTED_USERS',_0x2a3387))}]});}}class es extends _0x385240{['items'];['keystrokes'];constructor(_0x249130){super(_0x249130);const _0x58a8d1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5b37f4(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x58a8d1['if']('hasPopup'),'aria-expanded':_0x58a8d1['to']('isExpanded',_0x23ec78=>this['hasPopup']&&String(_0x23ec78)),'aria-label':_0x58a8d1['to']('hasPopup',_0x2be9e6=>B(_0x249130,_0x2be9e6?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x58a8d1['to']('hasPopup',_0x3afc40=>!!_0x3afc40&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x58a8d1['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x57c85b,_0x397a20,_0x2d13a8)=>{this['element']&&(_0x2d13a8?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 L extends _0x385240{['counterView'];['inlineListView'];constructor(_0xc76b03){super(_0xc76b03);const _0x1cacdf=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0xc76b03),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x281af7 of this['inlineListView']['items'])_0x281af7['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',_0x1cacdf['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x385240{['listWrapperView'];constructor(_0xd7da29,_0x1d20a8){super(_0xd7da29),this['listWrapperView']=new vt(_0xd7da29,_0x1d20a8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':B(_0xd7da29,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x53e168{constructor(_0x386bca,_0x7609f8){super(_0x386bca);const _0x4fdce0=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x7609f8?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4fdce0['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4fdce0['to']('role'),'aria-label':_0x4fdce0['to']('ariaLabel'),'aria-labelledby':_0x4fdce0['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4bd3f5['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x22ad99=this['element'];_0x22ad99&&(this['_isScrollable']=Math['max'](_0x22ad99['scrollHeight'],_0x22ad99['clientHeight'])>0.8*window['innerHeight']);}}class k extends ct{['userView'];constructor(_0x2b68b5,_0x49d38c,_0x355ddf){super(_0x2b68b5);const _0x2a74b3=this['bindTemplate'];this['userView']=new lt(_0x2b68b5,_0x49d38c);const _0x97e11d={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x49d38c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x49d38c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x49d38c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x355ddf&&(_0x97e11d['tag']='button',_0x97e11d['on']={'click':_0x2a74b3['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x97e11d);}['focus'](){this['element']['focus']();}}class y extends _0x385240{['userView'];['markerView'];constructor(_0x3e734b,_0x2b41bb,_0x18a9da){super(_0x3e734b);const _0x4311b5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new lt(_0x3e734b,_0x2b41bb),this['markerView']=new dt(_0x3e734b,_0x2b41bb);const _0x295d83=new pt(_0x3e734b);_0x295d83['template']['tag']='span',_0x295d83['text']=_0x2b41bb['name'];const _0x2636fa={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4311b5['to']('isFocusable',_0xee6d23=>!!_0xee6d23&&0x0),'aria-labelledby':_0x295d83['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4311b5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4311b5['to']('hasTooltip',_0x15c5a8=>!_0x15c5a8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x295d83]};_0x18a9da&&(_0x2636fa['tag']='button',_0x2636fa['on']={'click':_0x4311b5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2636fa);}}class dt extends _0x385240{constructor(_0x3940af,_0x1ee82b){super(_0x3940af),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1ee82b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x536a58{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x287df0){super(_0x287df0),this['context']['config']['define']('presenceList',A);const _0x3d07a4=_0x287df0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3d07a4)throw new _0x3e942c('presencelist-collapseat-invalid-format',this);if(_0x3d07a4<0x1)throw new _0x3e942c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x29beb2(),this['balloonPanelView']=new _0x19bb9a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x4b90e5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4b90e5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x147fd0,_0x4fdc09)=>{this['_handleUserAdd'](_0x4fdc09);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x21f2c8,_0x5e1ee2)=>{this['_handleUserRemove'](_0x5e1ee2);});}['_createView'](){const _0x4d40a3=this['context'],_0x385988=new L(this['context']['locale']),_0x285063=this['balloonPanelView'];if(!_0x1d376a(_0x4d40a3['config']['get']('presenceList.container')))throw new _0x3e942c('presencelist-missing-container',this);return _0x385988['counterView']['bind']('usersCount')['to'](this),_0x385988['bind']('isCollapsed')['to'](this,'usersCount',_0x2cfb1d=>{const {collapseAt:_0xebe0d9,displayMe:_0x3399b4}=_0x4d40a3['config']['get']('presenceList'),_0x53cd46=_0x2cfb1d>=_0xebe0d9;return _0x385988['counterView']['isHidden']=!(0x1==_0x2cfb1d&&_0x3399b4||_0x53cd46),_0x53cd46||this['hideDropdown'](),_0x53cd46;}),_0x385988['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4b2132=>{const _0x1538e1=_0x4d40a3['config']['get']('presenceList'),_0x661c81=new y(_0x4d40a3['locale'],_0x4b2132,!!_0x1538e1['onClick']);return _0x661c81['bind']('hasTooltip')['to'](_0x385988,'isCollapsed',_0x43cb05=>!_0x43cb05),_0x661c81['bind']('isFocusable')['to'](_0x385988,'isCollapsed',_0x756db0=>!_0x756db0),_0x1538e1['onClick']&&this['listenTo'](_0x661c81,'execute',()=>{this['view']['isCollapsed']||_0x1538e1['onClick'](_0x4b2132,_0x661c81['element']);}),_0x661c81;}),this['listenTo'](_0x385988['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x385988['inlineListView']['keystrokes']['set']('Enter',(_0x123bc0,_0x1a04c0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1a04c0());}),_0x385988['render'](),_0x285063['render'](),_0x1293dd({'emitter':_0x385988,'activator':()=>_0x285063['isVisible'],'contextElements':[_0x285063['element'],_0x385988['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4d40a3['config']['get']('presenceList.container')['appendChild'](_0x385988['element']),this['_bodyCollection']=new _0x54173d(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x385988;}['_handleUserAdd'](_0x431baf){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x431baf['isMe'])return;const _0x14fc9b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x14fc9b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x4aff74=_0x431baf['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x431baf,_0x4aff74);}['_handleUserRemove'](_0x44126d){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x44126d['id'])&&(this['currentDisplayedUsers']['remove'](_0x44126d['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x443cce of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x443cce['id']))return void this['currentDisplayedUsers']['add'](_0x443cce,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x2ba537=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x2ba537['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x1d1809}=this['presenceDropdownView'];_0x1d1809['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x264f9b=>{if(!_0x2ba537['displayMe']&&_0x264f9b['isMe'])return null;const _0x241b95=new k(this['context']['locale'],_0x264f9b,!!_0x2ba537['onClick']);return _0x2ba537['onClick']&&this['listenTo'](_0x241b95,'execute',()=>{_0x2ba537['onClick'](_0x264f9b,_0x241b95['element']);}),_0x241b95;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1d1809['focus'](),_0x1d1809['checkIfScrollable']();const _0x5c7d11=(_0x105b00,_0xc028bc)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc028bc();};_0x1d1809['keystrokes']['set']('Esc',_0x5c7d11),_0x1d1809['keystrokes']['set']('Shift+Tab',_0x5c7d11),_0x1d1809['keystrokes']['set']('Tab',(_0x4740bf,_0x1c60db)=>{!function(_0x5f05df){const _0x2ba971=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x55d974=>_0x55d974+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x53e52a=[...document['body']['querySelectorAll'](_0x2ba971)]['filter'](_0x2d1b51=>_0x2d1b51===document['activeElement']||_0x2d1b51['offsetWidth']+_0x2d1b51['offsetHeight']>0x0)['sort']((_0x1c068c,_0x3a5548)=>(_0x1c068c['tabIndex']||0x0)-(_0x3a5548['tabIndex']||0x0)),_0x1d8e74=_0x53e52a['indexOf'](_0x5f05df),_0x40058c=_0x53e52a[(_0x1d8e74+0x1)%_0x53e52a['length']];_0x40058c&&_0x40058c['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1c60db();}),_0x1d1809['focusTracker']['add'](this['view']['element']),_0x1d1809['focusTracker']['on']('change:isFocused',(_0x40e28e,_0x127b59,_0x37318d)=>{_0x37318d||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 i extends _0x536a58{static get['requires'](){return[r,s];}static get['pluginName'](){return'PresenceList';}}export{a as CloudServicesCommentsAdapter,v as CloudServicesRevisionHistoryAdapter,g as CloudServicesTrackChangesAdapter,i as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,d as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-real-time-collaboration",
3
- "version": "43.2.0-alpha.2",
3
+ "version": "43.2.0-alpha.4",
4
4
  "description": "A set of CKEditor 5 features enabling real-time collaboration within the editor using CKEditor Cloud Services.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "CKSource (http://cksource.com/)",
@@ -42,14 +42,14 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "@ckeditor/ckeditor-cloud-services-collaboration": "52.6.10",
45
- "@ckeditor/ckeditor5-core": "43.2.0-alpha.2",
46
- "@ckeditor/ckeditor5-engine": "43.2.0-alpha.2",
47
- "@ckeditor/ckeditor5-operations-compressor": "43.2.0-alpha.2",
48
- "@ckeditor/ckeditor5-theme-lark": "43.2.0-alpha.2",
49
- "@ckeditor/ckeditor5-ui": "43.2.0-alpha.2",
50
- "@ckeditor/ckeditor5-utils": "43.2.0-alpha.2",
51
- "ckeditor5": "43.2.0-alpha.2",
52
- "ckeditor5-collaboration": "43.2.0-alpha.2",
45
+ "@ckeditor/ckeditor5-core": "43.2.0-alpha.4",
46
+ "@ckeditor/ckeditor5-engine": "43.2.0-alpha.4",
47
+ "@ckeditor/ckeditor5-operations-compressor": "43.2.0-alpha.4",
48
+ "@ckeditor/ckeditor5-theme-lark": "43.2.0-alpha.4",
49
+ "@ckeditor/ckeditor5-ui": "43.2.0-alpha.4",
50
+ "@ckeditor/ckeditor5-utils": "43.2.0-alpha.4",
51
+ "ckeditor5": "43.2.0-alpha.4",
52
+ "ckeditor5-collaboration": "43.2.0-alpha.4",
53
53
  "lodash-es": "4.17.21"
54
54
  },
55
55
  "types": "src/index.d.ts",