@ckeditor/ckeditor5-real-time-collaboration 46.0.1-alpha.13 → 46.0.1-alpha.14

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 _0x34f6b7,Plugin as _0x4f70c8,PendingActions as _0x1c56c5,Context as _0x64503e}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4f9f74,CKEditorError as _0x1b863e,Collection as _0x500cda,global as _0x5b5001,version as nt,uid as _0x58108b,KeystrokeHandler as _0x490620}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5325f5,View as _0x4c7c82,ListView as _0x4e50d2,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x501a5c,clickOutsideHandler as _0xb632d8,BodyCollection as _0x262a4c}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x45431c,History as _0x2a2a2f,NoOperation as _0x524ede,InsertOperation as _0x5133d3,MarkerOperation as _0x5e6631,RootAttributeOperation as _0x742914,transformOperationSets as _0x1eddcf,OperationFactory as _0x4a12de}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x539b55,User as lt,CommentsService as _0x1be594,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x12033b,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xeae0b}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x189cec}from'es-toolkit/compat';class n extends _0x34f6b7{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x5325f5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x251b56){super(_0x251b56),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4f9f74())();}['init'](){const _0x2cd1cc=this['context'],_0x5c4914=_0x2cd1cc['plugins']['get']('CloudServices'),_0x594054=_0x2cd1cc['plugins']['get'](_0x5325f5);if(!_0x5c4914['token'])throw new _0x1b863e('websocketgateway-missing-token',this);if(!_0x5c4914['webSocketUrl'])throw new _0x1b863e('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x5c4914['token'],_0x5c4914['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x267462=>{if(this['connection']=_0x267462,this['bind']('state')['to'](_0x267462,'state',this,'_isBrowserOffline',(_0x55e67d,_0x44ece1)=>('connected'!==_0x55e67d&&(this['_shouldPluginsReconnect']=!0x0),_0x44ece1||_0x55e67d!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x38cd71,_0x6fca02)=>{if('limitExceeded'!==_0x6fca02['code'])throw console['error'](_0x6fca02),new _0x1b863e('cloudservices-init',null,{'originalError':_0x6fca02});_0x594054['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'});}),!_0x267462['me'])return new Promise(_0x580a9a=>_0x267462['on']('change:me',_0x580a9a));})['catch'](_0x350be0=>{throw console['error'](_0x350be0),new _0x1b863e('cloudservices-init',null,{'originalError':_0x350be0});});}['addToReconnectionStack'](_0x23b311){if('function'!=typeof _0x23b311['reconnect'])throw new _0x1b863e('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x23b311))throw new _0x1b863e('websocketgateway-plugin-already-registered',this,{'name':_0x23b311['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x23b311);}['removeFromReconnectionStack'](_0x22fcdd){this['_reconnectionStack']['delete'](_0x22fcdd);}['isInReconnectionStack'](_0x332dc8){return this['_reconnectionStack']['has'](_0x332dc8);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xf5b332=>_0xf5b332['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0xd67e5=>{throw console['error'](_0xd67e5),new _0x1b863e('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x34f6b7{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x12033b];}constructor(_0x2e1862){super(_0x2e1862),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x500cda(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x12033b);}['init'](){const _0x1a7628=this['context']['plugins']['get'](n);this['listenTo'](_0x1a7628,'change:state',(_0x593244,_0x520800,_0x791451)=>{if('connected'!==_0x791451)this['channelSessions']['forEach'](_0x25765f=>_0x25765f['clear']()),this['channelConnectedUsers']['forEach'](_0x4ef859=>_0x4ef859['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x16dc1f,_0x45b651]of this['_registeredSessions'])for(const _0x196ed5 of _0x45b651)this['_handleSessionAdd'](_0x16dc1f,_0x196ed5);}}),this['_createUser'](_0x1a7628['connection']['me'],!0x0);}['register'](_0x265b69,_0x3a3e8e){if(this['_registeredSessions']['has'](_0x265b69))throw new _0x1b863e('sessions-register-already-registered',null,{'channelId':_0x265b69});this['_registeredSessions']['set'](_0x265b69,_0x3a3e8e),this['channelSessions']['set'](_0x265b69,new _0x500cda()),this['channelConnectedUsers']['set'](_0x265b69,new _0x500cda()),this['listenTo'](_0x3a3e8e,'add',(_0x1f2300,_0x19c4d8)=>this['_handleSessionAdd'](_0x265b69,_0x19c4d8)),this['listenTo'](_0x3a3e8e,'remove',(_0x3df99c,_0x325cc8)=>this['_handleSessionRemove'](_0x265b69,_0x325cc8));for(const _0x54c929 of _0x3a3e8e)this['_handleSessionAdd'](_0x265b69,_0x54c929);}['unregister'](_0x270a57){if(!this['_registeredSessions']['has'](_0x270a57))throw new _0x1b863e('sessions-unregister-not-exist',null,{'channelId':_0x270a57});const _0x2d3cf6=this['_registeredSessions']['get'](_0x270a57);this['stopListening'](_0x2d3cf6);for(const _0x1fc81b of _0x2d3cf6)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x270a57,_0x1fc81b);this['_registeredSessions']['delete'](_0x270a57),this['channelSessions']['delete'](_0x270a57),this['channelConnectedUsers']['delete'](_0x270a57);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x36289c){for(const _0x333e9f of this['channelSessions']['values']())for(const _0x453e04 of _0x333e9f)if(_0x453e04['id']===_0x36289c)return _0x453e04['user'];}['getUserSessions'](_0x179e6b,_0x4dc16d){const _0x277012=_0x4dc16d?[this['channelSessions']['get'](_0x4dc16d)]:this['channelSessions']['values'](),_0x5e5a1d=new Set();for(const _0x451fed of _0x277012)for(const _0x2cfc3f of _0x451fed)_0x2cfc3f['user']['id']===_0x179e6b['id']&&_0x5e5a1d['add'](_0x2cfc3f['id']);return _0x5e5a1d;}['getUserRole'](_0x228fad){for(const _0x5629dd of this['channelSessions']['values']())for(const _0x57616d of _0x5629dd)if(_0x57616d['user']===_0x228fad)return _0x57616d['role'];}['_handleSessionAdd'](_0x21fd22,_0x14ee31){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x34a8b2=_0x14ee31['user'],_0x367a46=this['_users']['getUser'](_0x34a8b2['id'])||this['_createUser'](_0x34a8b2),_0xaa36a6=Object['assign']({},_0x14ee31,{'user':_0x367a46});this['channelSessions']['get'](_0x21fd22)['add'](_0xaa36a6);const _0x457c29=this['channelConnectedUsers']['get'](_0x21fd22);_0x457c29['has'](_0x367a46['id'])||_0x457c29['add'](_0x367a46),this['allConnectedUsers']['has'](_0x367a46['id'])||this['allConnectedUsers']['add'](_0x367a46,_0x367a46['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x21fd22,{'channelId':_0x21fd22,'session':_0xaa36a6});}['_handleSessionRemove'](_0x1b37d4,_0x44e4b7){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x28f5bd=this['channelConnectedUsers']['get'](_0x1b37d4),_0x513cb0=_0x44e4b7['user'];_0x513cb0['id']&&(this['channelSessions']['get'](_0x1b37d4)['remove'](_0x44e4b7['id']),_0x28f5bd['has'](_0x513cb0['id'])&&!this['getUserSessions'](_0x513cb0,_0x1b37d4)['size']&&_0x28f5bd['remove'](_0x513cb0['id']),this['allConnectedUsers']['get'](_0x513cb0['id'])&&!this['getUserSessions'](_0x513cb0)['size']&&this['allConnectedUsers']['remove'](_0x513cb0['id']));}['_createUser'](_0xede6,_0x3ebb1f){const _0x4a3c14=this['_users']['addUser'](_0xede6);return _0x3ebb1f&&this['_users']['defineMe'](_0xede6['id']),_0x4a3c14['orderNumber']=this['_uniqueUsersCount']++,_0x4a3c14;}}class H extends _0x4f70c8{['_domEmitter']=new(_0x4f9f74())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5e2b0e=this['editor'],_0x55b1f0=_0x5e2b0e['plugins']['get'](i);_0x5e2b0e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x287b91,{writer:_0x1c94e9})=>function(_0x2105c8,_0x1106eb,_0x4c13bb,_0x2d25e9){const _0x4b3069=_0x2105c8['markerName']['split'](':')[0x2],_0x12c991=_0x4c13bb['getUserBySessionId'](_0x4b3069);if(!_0x12c991||_0x4b3069===_0x4c13bb['mySessionId'])return;if(!_0x2d25e9['model']['schema']['checkChild'](_0x2105c8['markerRange']['start'],'$text'))return;const _0x5c0f49={'class':'ck-user__marker\x20'+_0x12c991['color']['getMarkerClass'](),'data-name':_0x12c991['name'],'data-session-id':_0x4b3069},_0x223ee3=_0x2d25e9['model']['markers']['get'](_0x2105c8['markerName']),_0x9e83a5=_0x223ee3['getStart'](),_0x18cc87=_0x9e83a5['nodeAfter'],_0xc9c9c2=_0x2d25e9['model']['schema'];if(_0x18cc87&&_0xc9c9c2['isObject'](_0x18cc87)&&_0xc9c9c2['isInline'](_0x18cc87)&&!_0x2d25e9['model']['markers']['get']('user:range:'+_0x4b3069)['getRange']()['isCollapsed'])return;const _0x4bff40=_0x9e83a5['parent'];return _0x2d25e9['model']['schema']['isLimit'](_0x4bff40)&&!_0x2d25e9['model']['hasContent'](_0x4bff40)&&(_0x5c0f49['contenteditable']=!0x1),function(_0x2f4588,_0x4bd5d5,_0x3be432){const _0x1f3c1b=_0x2f4588['createUIElement']('span',_0x4bd5d5);return _0x2f4588['setCustomProperty']('userPositionMarker',!0x0,_0x1f3c1b),_0x1f3c1b['render']=function(_0x320c9d){const _0x6f4086=this['toDomElement'](_0x320c9d),_0x49996b=document['createElement']('span');return _0x49996b['classList']['add']('ck-user__marker-tooltip'),_0x49996b['setAttribute']('contenteditable','false'),_0x49996b['setAttribute']('spellcheck','false'),_0x49996b['textContent']=_0x3be432['name'],_0x6f4086['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x49996b['outerHTML']+'⁠',_0x6f4086['addEventListener']('mouseenter',()=>{_0x6f4086['classList']['add']('ck-user__marker_hovered');}),_0x6f4086['addEventListener']('mouseleave',()=>{_0x6f4086['classList']['remove']('ck-user__marker_hovered');}),_0x6f4086;},_0x1f3c1b['isSimilar']=function(_0x32b524){return!(!this['getCustomProperty']('userPositionMarker')||!_0x32b524['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x32b524['getAttribute']('data-session-id'));},_0x1f3c1b;}(_0x1106eb,_0x5c0f49,_0x12c991);}(_0x287b91,_0x1c94e9,_0x55b1f0,_0x5e2b0e)}),_0x5e2b0e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x270ccc=>function(_0x5eadaf,_0x522f40){const _0x553cb0=_0x5eadaf['markerName']['split'](':')[0x2];if(_0x553cb0===_0x522f40['mySessionId'])return null;const _0x4756db=_0x522f40['getUserBySessionId'](_0x553cb0);if(!_0x4756db)return{'id':_0x553cb0,'classes':[]};return{'id':_0x553cb0,'classes':['ck-user__selection',_0x4756db['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x553cb0},'priority':0x7d0+_0x4756db['orderNumber']};}(_0x270ccc,_0x55b1f0)}),function(_0x4c3137){const _0x226d45=_0x4c3137['model'],_0xab0419=new Map(),_0x4ae566=_0x4c3137['plugins']['get'](i);_0x226d45['markers']['on']('update:user:range',(_0x334091,_0x5e376e,_0x475a2e,_0x2aacd9)=>{if(!_0x2aacd9&&_0xab0419['get'](_0x5e376e['name']))return _0xab0419['get'](_0x5e376e['name'])['detach'](),void _0xab0419['delete'](_0x5e376e['name']);const _0x17667b=_0x5e376e['name']['split'](':')[0x2];if(_0x17667b===_0x4ae566['mySessionId'])return;const _0x495c0e='user:position:'+_0x17667b;_0x226d45['markers']['has'](_0x495c0e)&&_0x4c3137['editing']['reconvertMarker'](_0x495c0e),_0x5e376e['on']('change:range',(_0x562858,_0x5c2ddd,_0x5445cb)=>{if('$graveyard'!=_0x5c2ddd['root']['rootName']&&'$graveyard'==_0x5e376e['getRange']()['root']['rootName']&&!_0xab0419['has'](_0x5e376e['name'])){const _0x5bf7cb=_0x226d45['schema']['getNearestSelectionRange'](_0x5445cb['deletionPosition']);if(_0x5bf7cb){const _0x5f1eb5=_0x45431c['fromRange'](_0x5bf7cb);_0xab0419['set'](_0x5e376e['name'],_0x5f1eb5),_0x5f1eb5['on']('change:range',(_0x22f635,_0x164e74,_0x575a9f)=>{if('$graveyard'==_0x5f1eb5['root']['rootName']){const _0x13d839=_0x226d45['schema']['getNearestSelectionRange'](_0x575a9f['deletionPosition']);_0x13d839?(_0x5f1eb5['start']=_0x13d839['start'],_0x5f1eb5['end']=_0x13d839['end']):(_0xab0419['delete'](_0x5e376e['name']),_0x5f1eb5['detach']());}});}}});}),_0x226d45['document']['on']('change',()=>{_0xab0419['size']>0x0&&_0x226d45['enqueueChange']({'isUndoable':!0x1},_0xe161f4=>{for(const [_0x55bc4b,_0x1ceed7]of _0xab0419)'$graveyard'==_0x226d45['markers']['get'](_0x55bc4b)['getRange']()['root']['rootName']&&(Z(_0x55bc4b['split'](':')[0x2],_0x1ceed7['toRange'](),_0x226d45,_0xe161f4),_0x1ceed7['detach']());_0xab0419['clear']();});});}(_0x5e2b0e),this['_domEmitter']['listenTo'](_0x5b5001['document'],'keydown',(_0x40ae2f,{key:_0x4323a2})=>{'Escape'===_0x4323a2&&function(_0x4c9948){_0x4c9948['editing']['view']['change'](_0x384bf0=>{for(const _0x4ea4bb of _0x4c9948['model']['markers']){if(!_0x4ea4bb['name']['startsWith']('user:position'))continue;const _0x175e46=_0x4c9948['editing']['mapper']['markerNameToElements'](_0x4ea4bb['name']);if(_0x175e46){for(const _0x27aa8a of _0x175e46)_0x384bf0['removeClass']('ck-user__marker_hovered',_0x27aa8a);}}});}(_0x5e2b0e);},{'useCapture':!0x0});}['afterInit'](){const _0x1e3955=this['editor'],_0x549ab9=_0x1e3955['commands']['get']('undo');_0x549ab9&&_0x1e3955['model']['on']('applyOperation',(_0x525341,_0x1daab6)=>{const _0x38d55c=_0x1daab6[0x0];if(!_0x38d55c['isDocumentOperation'])return;if('marker'!=_0x38d55c['type']||!_0x38d55c['name']['startsWith']('user:'))return;const _0x5bd792=_0x38d55c['batch'];_0x549ab9['_createdBatches']['has'](_0x5bd792)&&(_0x38d55c['newRange']=_0x38d55c['oldRange']?_0x1e3955['model']['createRange'](_0x38d55c['oldRange']['start'],_0x38d55c['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1cd4ae=this['editor'],_0x50ccb4=_0x1cd4ae['model']['document'],_0x171580=_0x1cd4ae['plugins']['get'](i);_0x1cd4ae['model']['enqueueChange']({'isUndoable':!0x1},_0x4b73e0=>{const _0xb29e8e='user:range:'+_0x171580['mySessionId'],_0x365436='user:position:'+_0x171580['mySessionId'],_0x307c5a=_0x1cd4ae['model']['markers']['has'](_0xb29e8e);_0x1cd4ae['editing']['view']['hasDomSelection']?Z(_0x171580['mySessionId'],_0x50ccb4['selection']['getFirstRange'](),_0x1cd4ae['model'],_0x4b73e0):_0x307c5a&&(_0x4b73e0['removeMarker'](_0xb29e8e),_0x4b73e0['removeMarker'](_0x365436));});}}function Z(_0x5495a9,_0x3cc9a7,_0x381da6,_0x40ff9a){const _0x1deff2='user:range:'+_0x5495a9,_0x4331bd='user:position:'+_0x5495a9,_0x3c7c85=_0x3cc9a7['getContainedElement']();let _0x5766f1=_0x3cc9a7['start'];if(_0x3c7c85&&_0x3c7c85['is']('element','tableCell')){const _0x5169b0=function(_0x3321f7,_0x544f41){for(const _0x2b3cf4 of _0x3321f7['getPositions']())if(_0x544f41['schema']['checkChild'](_0x2b3cf4,'$text'))return _0x2b3cf4;}(_0x3cc9a7,_0x381da6);_0x5169b0&&(_0x5766f1=_0x5169b0,_0x3cc9a7=_0x40ff9a['createRange'](_0x5766f1));}const _0xcaf135=_0x40ff9a['createRange'](_0x5766f1);_0x381da6['markers']['has'](_0x1deff2)?(_0x40ff9a['updateMarker'](_0x1deff2,{'range':_0x3cc9a7}),_0x40ff9a['updateMarker'](_0x4331bd,{'range':_0xcaf135})):(_0x40ff9a['addMarker'](_0x1deff2,{'range':_0x3cc9a7,'usingOperation':!0x0}),_0x40ff9a['addMarker'](_0x4331bd,{'range':_0xcaf135,'usingOperation':!0x0}));}function V(_0xdda00b,_0x3456e1,_0x2e06f2){const _0x46c17c=_0xdda00b['t'],t=_0xdda00b['t'];switch(_0x3456e1){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 _0x46c17c({'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'},_0x2e06f2);default:return'';}}let G=0x1;class l extends _0x4f70c8{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x539b55)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x1c56c5,_0x12033b,_0x5325f5];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x4a3aa1=this['serverHistory']['getOperations']();for(let _0x5950b6=_0x4a3aa1['length']-0x1;_0x5950b6>=0x0;_0x5950b6--){const _0xc60892=_0x4a3aa1[_0x5950b6];if(!this['_disconnectionOperations']['has'](_0xc60892))return _0xc60892['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xd8641a){if(super(_0xd8641a),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2a2a2f(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1b863e('collaboration-missing-channelid',this);const _0x21da09=_0xd8641a['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x21da09,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xeae0b(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x2d59e4=this['editor'],_0x1aa3e1=_0x2d59e4['plugins']['get'](_0x12033b),_0x44aff0=_0x2d59e4['plugins']['get'](n);this['listenTo'](_0x1aa3e1,'getOperationAuthor',(_0xad1ee7,_0x2e0a36)=>{const _0x28dd8b=_0x2e0a36[0x0];_0x28dd8b['_authorId']&&(_0xad1ee7['return']=_0x1aa3e1['getUser'](_0x28dd8b['_authorId']),_0xad1ee7['stop']()),null===_0x28dd8b['_authorId']&&(_0xad1ee7['return']=null,_0xad1ee7['stop']());},{'priority':'high'}),this['listenTo'](_0x2d59e4['model']['document']['selection'],'change:range',(_0x3641b1,_0x1590a6)=>{_0x1590a6['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2d59e4['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2d59e4['model']['on']('applyOperation',(_0xcf763e,_0x50963a)=>{const _0x566ff9=_0x50963a[0x0];_0x566ff9['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x566ff9),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x44aff0,'state',this,'_hasSynchronizationProblem',(_0x12d39a,_0x4bbe56)=>'connected'===_0x12d39a&&!_0x4bbe56),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2d59e4['disableReadOnlyMode']('rtc-offline'):_0x2d59e4['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2d59e4['disableReadOnlyMode']('rtc-offline'):_0x2d59e4['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x42bb64=this['editor']['plugins']['get'](i),_0x531e16=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x42bb64['unregister'](this['_channelId']);const _0x59f538=await this['_service']['reconnect'](_0x531e16['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x59f538)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x40dc36=await this['_service']['getConnectedSessions']();_0x42bb64['register'](this['_channelId'],_0x40dc36),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1dba84){if(function(_0x32f22e){return'404'===_0x32f22e['code'];}(_0x1dba84)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x520cf3){return'409'===_0x520cf3['code'];}(_0x1dba84)){const _0x429af4=V(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x429af4);}else{if(!(_0x1dba84 instanceof $))throw _0x1dba84;this['_handleReconnectionError']();}}}}['destroy'](){const _0x202e09=this['editor']['plugins']['get'](n),_0x43e7b3=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x43e7b3['channelSessions']['has'](this['_channelId'])&&_0x43e7b3['unregister'](this['_channelId']),_0x202e09['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xb072e1){if(this['sessionId']!==_0xb072e1['sessionId']&&this['_lastSyncedOperationId']!==_0xb072e1['lastOperationId'])throw new $();return this['sessionId']=_0xb072e1['sessionId'],this['_handleServerResponse']([],{..._0xb072e1,'wereChangesApplied':!0x1,'data':_0xb072e1['data']},'reconnect');}async['_connectService'](_0x2806a3,_0x7b4239=!0x1){const {connection:_0x5eb67f}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x5eb67f,this['_channelId'])['then'](_0x524a5b=>this['_initSessionsHandling'](_0x524a5b))['catch'](_0x3ec87c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3ec87c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5e43ce,_0x5b70da)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5b70da);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x35d078=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2806a3);this['_isPendingUpdate']=!0x0;const _0x2a5928=await this['_service']['connect'](_0x5eb67f,this['_compressOperations'](_0x2806a3),_0x35d078);if(this['sessionId']=_0x2a5928['sessionId'],_0x7b4239){if(!_0x2a5928['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2a5928['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2806a3,_0x2a5928,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2a5928,_0x2806a3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x93c3a7=this['editor']['plugins']['get'](i),_0xbce21a=this['editor']['plugins']['get'](H),_0x101378=_0x93c3a7['channelSessions']['get'](this['_channelId']);_0x101378&&_0x101378['length']>0x1?_0xbce21a['createUserMarkerOperations']():this['listenTo'](_0x93c3a7,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x93c3a7['channelSessions']['get'](this['_channelId'])['length']&&_0xbce21a['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1fe283,_0x35363a,_0x343720,_0x2c876e){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x35363a){const _0x441c4a=this['_decompressOperations'](_0x343720,_0x2c876e);await this['_fetchMissingUsers'](_0x441c4a),this['_handleExternalOperations'](_0x441c4a,_0x35363a,_0x343720['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x35e80a}=this['editor'];let _0x161ed5;try{_0x161ed5=await this['_service']['getDocumentDetails']();}catch{const _0x25fe82=V(_0x35e80a,'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'](_0x25fe82);}const _0x330345=_0x161ed5['currentDocumentSession']||_0x161ed5['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x330345['lastOperationId']){const _0x373d24=V(_0x35e80a,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x373d24);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x24df5e){const _0x4b5394=this['editor']['plugins']['get'](i);this['listenTo'](_0x4b5394,'sessionAdd:'+this['_channelId'],(_0x494e8b,{session:_0x25c386})=>{if(_0x25c386['id']===_0x4b5394['mySessionId']){_0x494e8b['off']();const _0x2a66ea=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x181b54=_0x25c386['permissions'];_0x2a66ea&&_0x2a66ea['isEnabled']&&(_0x181b54=_0x181b54['filter'](_0xd050a4=>'document:write'!==_0xd050a4)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x181b54,this['_channelId']);}}),_0x4b5394['register'](this['_channelId'],_0x24df5e);}['_initThrowingOnDataSet'](){const _0x4cc445=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x56e778)=>{if(!_0x56e778[_0x56e778['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1b863e('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x4cc445['apply'](this['editor']['data'],_0x56e778);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4bac33,[_0x1c07fb])=>{if(this['_document']['version'])throw new _0x1b863e('realtimecollaborationclient-init-document-already-initialized',this);_0x4bac33['stop'](),this['_setPendingAction']();const _0x209386=this['editor']['config']['get']('rootsAttributes'),_0x507006=this['_getOperationsFromInitData'](_0x1c07fb,_0x209386);0x0==_0x507006['length']&&_0x507006['push'](new _0x524ede(0x0)),_0x4bac33['return']=this['_connectService'](_0x507006)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5a8054=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5a8054))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x497f1c,[_0x352163,_0x208f25])=>{_0x497f1c['stop']();const _0x20b87f=this['editor']['model']['document']['getRoot'](_0x352163);if(!this['_knownRootNames']['has'](_0x352163)){const _0x3ec045=_0x208f25&&_0x208f25['data']?_0x208f25['data']:'',_0x403006=_0x208f25&&_0x208f25['attributes']?_0x208f25['attributes']:{};await this['_loadRoot'](_0x352163,_0x3ec045,_0x403006);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x20b87f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x20b87f);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5bc48c){const _0x52b18b=this['editor']['plugins']['get'](_0x12033b),{connection:_0x714c16}=this['editor']['plugins']['get'](n),_0x62ae5e=new Set();for(const _0x3e2415 of _0x5bc48c){const _0x3a9475=_0x3e2415['_authorId'];_0x3a9475&&!_0x52b18b['getUser'](_0x3a9475)&&_0x62ae5e['add'](_0x3a9475);}if(0x0===_0x62ae5e['size'])return;const _0x40cb84=await lt['getMany'](_0x714c16,Array['from'](_0x62ae5e));for(const _0x28dffc of _0x40cb84)_0x52b18b['getUser'](_0x28dffc['id'])||_0x52b18b['addUser'](_0x28dffc);}['_getOperationsFromInitData'](_0x5982e2,_0x4801dc={}){const _0x2f28b4=this['editor']['model'],_0x538cb7=[];let _0x1b3c71=0x0;const _0x4f0f5a='string'==typeof _0x5982e2?{'main':_0x5982e2}:_0x5982e2;for(const _0x571550 of Object['keys'](_0x4f0f5a)){if(!this['_document']['roots']['has'](_0x571550))throw new _0x1b863e('realtimecollaborationclient-init-non-existent-root',this);const _0x4d63a1=this['editor']['data']['parse'](_0x4f0f5a[_0x571550]),_0x490279=this['_document']['getRoot'](_0x571550),_0x1398e6=new _0x5133d3(_0x2f28b4['createPositionAt'](_0x490279,0x0),_0x4d63a1,_0x1b3c71++);_0x538cb7['push'](_0x1398e6);for(const [_0x2789c0,_0x570a54]of _0x4d63a1['markers']){const _0x241243=_0x2f28b4['createRange'](_0x2f28b4['createPositionFromPath'](_0x490279,_0x570a54['start']['path']['slice']()),_0x2f28b4['createPositionFromPath'](_0x490279,_0x570a54['end']['path']['slice']())),_0x30fc9b=new _0x5e6631(_0x2789c0,null,_0x241243,_0x2f28b4['markers'],!0x0,_0x1b3c71++);_0x538cb7['push'](_0x30fc9b);}}if(_0x4801dc)for(const [_0x1172e7,_0x4d67c4]of Object['entries'](_0x4801dc)){const _0x4ef2ea=_0x2f28b4['document']['getRoot'](_0x1172e7);if(!_0x4ef2ea)throw new _0x1b863e('multi-root-editor-root-attributes-no-root',null);for(const [_0x2eed80,_0x23bbad]of Object['entries'](_0x4d67c4))if(null!==_0x23bbad){const _0x4536e9=new _0x742914(_0x4ef2ea,_0x2eed80,null,_0x23bbad,_0x1b3c71++);_0x538cb7['push'](_0x4536e9);}}return _0x538cb7;}async['_loadRoot'](_0x2db01a,_0x462e06,_0x12b71f){this['_getOperationsFromInitData']({[_0x2db01a]:_0x462e06},{[_0x2db01a]:_0x12b71f})['forEach']((_0x2dd573,_0x42c18a)=>{_0x2dd573['baseVersion']=this['_document']['version']+_0x42c18a,_0x2dd573['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2dd573);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2467b2,_0x396d17){let _0x1b91da;this['_offset']=_0x2467b2['offset'];const _0x5d98fe=_0x2467b2['wereChangesApplied']&&!_0x2467b2['initData'],_0x3313ca=_0x5d98fe?0x0:_0x2467b2['data']['baseVersion'];if(_0x396d17['forEach'](_0x50543c=>{_0x50543c['_isInit']=!0x0,_0x50543c['createdAt']=_0x2467b2['sessionCreatedAt'],_0x50543c['_authorId']=null;}),_0x5d98fe)_0x1b91da=_0x396d17,this['_applyOperationsSet'](_0x1b91da,_0x5d98fe);else{if(_0x2467b2['initData']){const _0x2fd6d5=this['_getOperationsFromInitData'](_0x2467b2['initData']);this['_document']['history']['version']=-_0x2fd6d5['length'],_0x2fd6d5['forEach'](_0x5d7344=>{_0x5d7344['baseVersion']-=_0x2fd6d5['length'],_0x5d7344['createdAt']=_0x2467b2['sessionCreatedAt'],_0x5d7344['_isInit']=!0x0,_0x5d7344['_authorId']=null;}),this['_applyOperationsSet'](_0x2fd6d5,!0x0),this['serverHistory']['version']=-_0x2fd6d5['length']+this['_offset'],this['_updateServerHistory'](_0x2fd6d5);}this['_document']['history']['version']=_0x3313ca,_0x1b91da=this['_decompressOperations'](_0x2467b2['data'],_0x2467b2['metadata']),await this['_fetchMissingUsers'](_0x1b91da),this['_applyOperationsSet'](_0x1b91da,_0x5d98fe);}_0x2467b2['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1b91da,_0x2467b2['lastOperationId']),this['_lastSyncedOperationId']=_0x2467b2['lastOperationId']),this['serverHistory']['version']=_0x3313ca+this['_offset'],this['_updateServerHistory'](_0x1b91da),_0x396d17['filter'](_0x4130bc=>{const _0x1290ba=this['_getAffectedRoot'](_0x4130bc);return _0x1290ba&&!this['_knownRootNames']['has'](_0x1290ba);})['forEach']((_0x2e47db,_0x72ff4c)=>{_0x2e47db['baseVersion']=this['_document']['version']+_0x72ff4c,this['_saveOperationInBuffer'](_0x2e47db);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2c00d7,_0x59e223){const _0x27f443=_0x59e223&&_0x59e223['message'];if(_0x27f443&&_0x27f443['startsWith']('realtimecollaborationclient'))throw _0x59e223;const _0x2f740c=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x2f740c['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1b863e(_0x2c00d7,this['editor'],_0x27f443?{'originalError':_0x27f443}:void 0x0);}['_saveOperationInBuffer'](_0x451d62){this['_knownOperations']['has'](_0x451d62)||(this['_knownOperations']['add'](_0x451d62),this['_bufferedOperations']['push'](_0x451d62),this['_pendingAction']||'marker'==_0x451d62['type']&&!_0x451d62['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xcfab30=!0x1){!_0xcfab30&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3d27d8=>{_0x3d27d8&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xcf19d6=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x33138e){return _0x33138e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x33138e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x33138e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xcf19d6)||this['_crash'](_0xcf19d6['message'],_0xcf19d6);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5b3033=>{this['on']('change:_isPendingUpdate',()=>{_0x5b3033();});});}async['_sendBufferedOperations'](){const _0xd2c265=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0xd2c265['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5fbae8=[...this['_bufferedOperations']];for(const _0x2905ba of _0x5fbae8)_0x2905ba['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2905ba);const _0x167ece=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5fbae8),_0x20aee8=G++,_0x2d5d34=this['_compressOperations'](_0x5fbae8),_0x4b6951=await this['_service']['sendOperations'](_0x2d5d34,_0x2d5d34['baseVersion'],_0x167ece);try{return await this['_handleServerResponse'](_0x5fbae8,_0x4b6951,_0x20aee8);}catch(_0x21a135){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x21a135);}}async['_handleServerResponse'](_0x23e094,_0x5dd43f,_0x32e3af){if('error'in _0x5dd43f)throw _0x5dd43f['error'];let _0x5a5dec=!0x1;if(_0x5dd43f['wereChangesApplied']){_0x5dd43f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5dd43f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x330387=>!_0x23e094['includes'](_0x330387));for(const _0x36dea9 of _0x23e094)_0x36dea9['createdAt']='lastOperationAcceptedAt'in _0x5dd43f&&_0x5dd43f['lastOperationAcceptedAt']||void 0x0;K(_0x23e094,_0x5dd43f['version']-_0x23e094['length']),this['_updateServerHistory'](_0x23e094);const _0x164ed1=_0x23e094['filter'](_0x1466d6=>{if(!_0x1466d6['_isInit'])return!0x1;const _0x26fa6b=this['_getAffectedRoot'](_0x1466d6);return _0x26fa6b&&!this['_knownRootNames']['has'](_0x26fa6b);});K(_0x164ed1,this['_document']['version']),this['_applyOperationsSet'](_0x164ed1),_0x5a5dec=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x59c500=this['_decompressOperations'](_0x5dd43f['data'],_0x5dd43f['metadata'])['filter'](_0x5e1e89=>_0x5e1e89['baseVersion']>=this['_lastServerVersion']);_0x59c500['forEach'](_0x1a4d95=>this['_addKnownRoot'](_0x1a4d95)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x36da97=>!_0x36da97['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x36da97))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x59c500),_0x5a5dec=this['_handleExternalOperations'](_0x59c500,_0x5dd43f['version'],_0x5dd43f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5a5dec?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xe4cabf,_0x519eae,_0x361556){try{const _0x3b6aaa={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2e1308,operationsB:_0xbc4622,originalOperations:_0x45ce1d}=_0x1eddcf(_0xe4cabf,this['_bufferedOperations'],_0x3b6aaa);K(_0x2e1308,this['_document']['version']),K(_0xbc4622,_0x519eae);for(const _0x122d24 of _0x2e1308){const _0x4ae42f=_0x45ce1d['get'](_0x122d24);_0x122d24['_authorId']=_0x4ae42f?_0x4ae42f['_authorId']:null;}_0x361556&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xe4cabf,_0x361556),this['_lastSyncedOperationId']=_0x361556),this['_bufferedOperations']=[..._0xbc4622],this['_applyOperationsSet'](_0x2e1308),this['_updateServerHistory'](_0xe4cabf);}catch(_0x45e126){return console['error'](_0x45e126),!0x1;}return!0x0;}['_applyOperationsSet'](_0x168dd1,_0x470667=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x27c141=>{for(const _0x2d7a5e of _0x168dd1)this['_knownOperations']['add'](_0x2d7a5e),this['_addKnownRoot'](_0x2d7a5e),_0x27c141['batch']['addOperation'](_0x2d7a5e),this['editor']['model']['applyOperation'](_0x2d7a5e);});}['_addKnownRoot'](_0x3784d1){const _0x5d23ad=this['_getAffectedRoot'](_0x3784d1);_0x5d23ad&&this['_knownRootNames']['add'](_0x5d23ad);}['_getAffectedRoot'](_0xd45886){let _0x37a050,_0x27ad86;switch(_0xd45886['type']){case'insert':_0x37a050=_0xd45886['position']['root'];break;case'marker':if(_0x27ad86=_0xd45886['newRange'],!_0x27ad86)return null;_0x37a050=_0x27ad86['root'];break;case'addRootAttribute':_0x37a050=_0xd45886['root'];break;case'addRoot':_0x37a050=_0xd45886['affectedSelectable'];break;case'move':_0x37a050=_0xd45886['targetPosition']['root'];break;default:return null;}return _0x37a050['rootName'];}['_updateServerHistory'](_0x1ba9d3){_0x1ba9d3['forEach'](_0x335307=>{const _0xc30ccd=_0x335307['clone']();_0xc30ccd['_authorId']=_0x335307['_authorId'],_0xc30ccd['_isInit']=!!_0x335307['_isInit'],_0xc30ccd['createdAt']=_0x335307['createdAt'],_0xc30ccd['baseVersion']+=this['_offset'],_0x335307['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xc30ccd),this['serverHistory']['addOperation'](_0xc30ccd);});}['_handleReconnectionError'](_0x2c0c13){const _0x34f8e9=this['editor']['plugins']['get']('Notification'),_0x2480e8=this['editor']['locale'];_0x2c0c13||(_0x2c0c13=V(_0x2480e8,'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.')),_0x34f8e9['showWarning'](_0x2c0c13,{'title':V(_0x2480e8,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1c56c5)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1c56c5)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3356b2){const _0x3f8dec=_0x3356b2['map'](_0x1dfc06=>_0x1dfc06['toJSON']());return this['_compressor']['compress'](_0x3f8dec);}['_decompressOperations'](_0x5d1be8,_0x545005){return this['_compressor']['decompress'](_0x5d1be8)['map']((_0x5ed967,_0x43cd01)=>{const _0x5e9d7b='init'==_0x545005[_0x43cd01]['type'];if('InsertOperation'==_0x5ed967['__className']){const _0x178f57=_0x5ed967['position']['root'];!this['_document']['getRoot'](_0x178f57)&&(this['_document']['createRoot']('$root',_0x178f57)['_isAttached']=!0x1);}const _0x628606=_0x4a12de['fromJSON'](_0x5ed967,this['_document']);return _0x628606['wasUndone']=_0x5ed967['wasUndone'],_0x628606['_isInit']=_0x5e9d7b,_0x628606['_authorId']=_0x5e9d7b?null:_0x545005[_0x43cd01]['userId'],_0x628606['_isDisconnection']='cs:removeUser'===_0x545005[_0x43cd01]['type'],_0x628606['createdAt']=_0x545005[_0x43cd01]['createdAt'],_0x628606;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3e54f4=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3e54f4&&_0x3e54f4['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x5ac0b0,_0x443d86){for(const _0x3e2d55 of _0x5ac0b0)_0x3e2d55['baseVersion']=_0x443d86++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x3a9537){this['_ignoredOperations']=_0x3a9537,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1bc0d6){let _0x3e9788=_0x1bc0d6['length'];for(;_0x3e9788--;){const _0x3ae370=_0x1bc0d6[_0x3e9788];if(!this['_ignoredOperations']['has'](_0x3ae370)){if(!this['_operationToId']['has'](_0x3ae370)){const _0x267259=_0x58108b()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3ae370,_0x267259);}return this['_operationToId']['get'](_0x3ae370);}}}['setIdForTheLastOperation'](_0x1f605e,_0x563cef){if(!_0x563cef)return;let _0x5c50cd=_0x1f605e['length'];for(;_0x5c50cd--;){const _0x5ed7b6=_0x1f605e[_0x5c50cd];this['_ignoredOperations']['has'](_0x5ed7b6)||this['_operationToId']['set'](_0x5ed7b6,_0x563cef);}}}class a extends _0x4f70c8{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x34f6b7{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x1be594)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x12033b];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2673ad){super(_0x2673ad),this['_services']=new Map();}async['init'](){const _0x452e5f=this['context'],_0x5e068f=_0x452e5f['plugins']['get']('CommentsRepository');if(_0x452e5f['plugins']['get'](n)['addToReconnectionStack'](this),_0x5e068f['adapter']={'addCommentThread':async({channelId:_0x4ec735,threadId:_0x439ee0,comments:_0x2b745c,resolvedAt:_0x3e8abf,resolvedBy:_0x3628e5,context:_0x5a2ae4,attributes:_0x513ff8})=>{const _0x2c7ad3=await this['_getService'](_0x4ec735)['addCommentThread']({'commentThreadId':_0x439ee0,'comments':_0x2b745c['map'](_0x26de45=>function(_0x49d910,_0x3fde0d,_0x363607){return{'commentThreadId':_0x363607,'commentId':_0x49d910['commentId'],'userId':_0x49d910['authorId'],'content':_0x49d910['content'],'documentId':_0x3fde0d,'createdAt':_0x49d910['createdAt'],'attributes':_0x49d910['attributes']||{}};}(_0x26de45,_0x4ec735,_0x439ee0)),'resolvedAt':_0x3e8abf,'resolvedBy':_0x3628e5,'context':_0x5a2ae4,'attributes':_0x513ff8})['catch'](dt);return{'threadId':_0x2c7ad3['commentThreadId'],'comments':_0x2c7ad3['comments']};},'getCommentThread':async({channelId:_0x15c4d4,threadId:_0x3a495d})=>{const _0x2f0a3d=await this['_getService'](_0x15c4d4)['getCommentThread'](_0x3a495d)['catch'](dt);return _0x2f0a3d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2f0a3d]),{'threadId':_0x2f0a3d['commentThreadId'],'comments':_0x2f0a3d['comments']['map'](B),'context':_0x2f0a3d['context'],'resolvedAt':_0x2f0a3d['resolvedAt'],'resolvedBy':_0x2f0a3d['resolvedBy'],'attributes':_0x2f0a3d['attributes']||{}});},'updateCommentThread':async({channelId:_0x287824,threadId:_0x1521ed,context:_0x29e3b0,unlinkedAt:_0x322b0b,attributes:_0x2b0123})=>this['_getService'](_0x287824)['updateCommentThread']({'commentThreadId':_0x1521ed,'context':_0x29e3b0,'attributes':_0x2b0123,'unlinkedAt':_0x322b0b})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x541d54,threadId:_0x4227fe})=>{const _0x5ea811=await this['_getService'](_0x541d54)['resolveCommentThread'](_0x4227fe)['catch'](F)['catch'](dt);return{'threadId':_0x5ea811['commentThreadId'],'resolvedAt':_0x5ea811['resolvedAt'],'resolvedBy':_0x5ea811['resolvedBy']};},'reopenCommentThread':async({channelId:_0x32192a,threadId:_0x3f1167})=>this['_getService'](_0x32192a)['reopenCommentThread'](_0x3f1167)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x3cac72,threadId:_0x5b485d})=>this['_getService'](_0x3cac72)['removeCommentThread'](_0x5b485d)['catch'](F)['catch'](dt),'addComment':({channelId:_0x427010,threadId:_0x5a3ffb,commentId:_0x169a93,content:_0x3f18b0,attributes:_0x56811a})=>this['_getService'](_0x427010)['addComment'](_0x5a3ffb,_0x169a93,_0x3f18b0,_0x56811a)['catch'](dt),'updateComment':({channelId:_0x4b0f60,threadId:_0x32f194,commentId:_0x5b2048,content:_0x4a3255,attributes:_0x36eb3f})=>this['_getService'](_0x4b0f60)['updateComment'](_0x32f194,_0x5b2048,_0x4a3255,_0x36eb3f)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x4f720b,threadId:_0xb0224e,commentId:_0x26c6a9})=>this['_getService'](_0x4f720b)['removeComment'](_0xb0224e,_0x26c6a9)['catch'](F)['catch'](dt)},_0x452e5f instanceof _0x64503e){const _0xb2e3e=_0x452e5f['config']['get']('collaboration.channelId'),_0x48fb05=_0x452e5f['plugins']['get'](i);await this['_setUpService'](_0xb2e3e);const _0x4811de=await this['_services']['get'](_0xb2e3e)['getConnectedSessions']();this['listenTo'](_0x48fb05,'sessionAdd:'+_0xb2e3e,(_0x5efe5d,{session:_0x59de2a})=>{_0x59de2a['id']===_0x48fb05['mySessionId']&&(_0x5efe5d['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x59de2a['permissions'],_0xb2e3e));}),_0x48fb05['register'](_0xb2e3e,_0x4811de);}}async['_setUpService'](_0x3366d9){if(this['_services']['has'](_0x3366d9))throw new _0x1b863e('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3366d9});const _0x4edc21=this['context']['plugins']['get']('CommentsRepository'),_0x4d3c8f=new s['CommentsService'](_0x3366d9);this['_services']['set'](_0x3366d9,_0x4d3c8f),this['listenTo'](_0x4d3c8f,'commentThreadAdded',(_0x598060,_0x9f332f)=>{const {commentThreadId:_0x19e2a2,documentId:_0xef3b8a,context:_0x51f1a5,attributes:_0xc2cb55,resolvedAt:_0x145a8f,resolvedBy:_0x40f86f,comments:_0xef9c99}=_0x9f332f;_0x4edc21['getCommentThread'](_0x19e2a2)||_0x4edc21['addCommentThread']({'threadId':_0x19e2a2,'channelId':_0xef3b8a,'comments':_0xef9c99?_0xef9c99['map'](B):[],'context':_0x51f1a5,'attributes':_0xc2cb55,'resolvedAt':_0x145a8f,'resolvedBy':_0x40f86f,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentThreadUpdated',(_0x4b58c6,{commentThreadId:_0xd05ea8,documentId:_0xb3d20e,context:_0x43c518,unlinkedAt:_0x86dc6f,attributes:_0x4c2581})=>{_0x4edc21['getCommentThread'](_0xd05ea8)&&_0x4edc21['updateCommentThread']({'threadId':_0xd05ea8,'channelId':_0xb3d20e,'context':_0x43c518,'unlinkedAt':_0x86dc6f,'attributes':_0x4c2581,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentThreadResolved',(_0x302aaf,{commentThreadId:_0x33f194,resolvedBy:_0x195e0d,resolvedAt:_0x3297c0})=>{const _0x3b9f65=_0x4edc21['getCommentThread'](_0x33f194);_0x3b9f65&&_0x3b9f65['resolve']({'resolvedBy':_0x195e0d,'resolvedAt':_0x3297c0,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentThreadReopened',(_0x502f8f,{commentThreadId:_0x13cd24})=>{const _0x5c0f31=_0x4edc21['getCommentThread'](_0x13cd24);_0x5c0f31&&_0x5c0f31['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentThreadRemoved',(_0x414c73,{commentThreadId:_0x3ab248})=>{const _0x2b7712=_0x4edc21['getCommentThread'](_0x3ab248);_0x2b7712&&_0x2b7712['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentAdded',(_0x5e0855,_0x294952)=>{const _0x30b5a2=_0x294952['commentThreadId'],_0x551b9a=_0x4edc21['getCommentThread'](_0x30b5a2);_0x551b9a&&_0x551b9a['addComment']({...B(_0x294952),'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentUpdated',(_0x535cde,{commentThreadId:_0x5a5be1,commentId:_0x45ad72,content:_0x40c979,attributes:_0x3658a0})=>{const _0x4554a9=_0x4edc21['getCommentThread'](_0x5a5be1);if(_0x4554a9){const _0x1c58af=_0x4554a9['getComment'](_0x45ad72);_0x1c58af&&_0x1c58af['update']({'content':_0x40c979,'attributes':_0x3658a0,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4d3c8f,'commentRemoved',(_0x34e575,{commentThreadId:_0x553fc1,commentId:_0x10d3d1})=>{const _0x1f2d62=_0x4edc21['getCommentThread'](_0x553fc1);if(_0x1f2d62){const _0x4a176b=_0x1f2d62['getComment'](_0x10d3d1);_0x4a176b&&_0x4a176b['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3366d9);}['destroy'](){if(this['context']instanceof _0x64503e){const _0x265546=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x265546);}}['_terminateService'](_0x38f148){if(!this['_services']['has'](_0x38f148))throw new _0x1b863e('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x38f148});this['_getService'](_0x38f148)['disconnect'](),this['_services']['delete'](_0x38f148);}async['reconnect'](){for(const _0x21f468 of this['_services']['keys']())await this['_connectService'](_0x21f468);if(this['context']instanceof _0x64503e){const _0x24079c=this['context']['config']['get']('collaboration.channelId'),_0x19689f=this['context']['plugins']['get'](i);_0x19689f['unregister'](_0x24079c);const _0xe4cdf7=await this['_services']['get'](_0x24079c)['getConnectedSessions']();_0x19689f['register'](_0x24079c,_0xe4cdf7);}}async['_connectService'](_0xc0af9e){const {connection:_0xd8ce8b}=this['context']['plugins']['get'](n),_0x18138e=this['context']['plugins']['get']('CommentsRepository'),_0x271c2c=this['_services']['get'](_0xc0af9e),_0x5a435a=await _0x271c2c['connect'](_0xd8ce8b);await this['_fetchMissingUsersForThreads'](_0x5a435a);const _0xdb7a10=new Set(Array['from'](_0x18138e['getCommentThreads']({'channelId':_0xc0af9e}),_0x4c4b4c=>_0x4c4b4c['id']));for(const _0x32433f of _0x5a435a)_0x32433f['deletedAt']||_0xdb7a10['delete'](_0x32433f['commentThreadId']);for(const _0x18de07 of _0xdb7a10)_0x18138e['getCommentThread'](_0x18de07)['remove']({'isFromAdapter':!0x0});for(const _0x18d495 of _0x5a435a){let _0x1f7a1b=_0x18138e['getCommentThread'](_0x18d495['commentThreadId']);const {commentThreadId:_0x300c11,context:_0x116a7f,attributes:_0x41d6e8,resolvedBy:_0x17aebf,resolvedAt:_0x41fe93,unlinkedAt:_0x359da4,deletedAt:_0x5508cf}=_0x18d495;if(_0x5508cf)continue;_0x1f7a1b||(_0x1f7a1b=_0x18138e['addCommentThread']({'channelId':_0xc0af9e,'threadId':_0x300c11,'context':_0x116a7f,'attributes':_0x41d6e8||{},'resolvedBy':_0x17aebf,'resolvedAt':_0x41fe93,'unlinkedAt':_0x359da4,'isFromAdapter':!0x0}));const _0x2976df=new Set(Array['from'](_0x1f7a1b['comments'],_0x54c8dd=>_0x54c8dd['id']));for(const _0x2230e3 of _0x18d495['comments'])_0x2976df['delete'](_0x2230e3['commentId']);for(const _0x57357f of _0x2976df)_0x1f7a1b['getComment'](_0x57357f)['remove']({'isFromAdapter':!0x0});for(const _0x46a336 of _0x18d495['comments']){const _0x49f35d=_0x1f7a1b['getComment'](_0x46a336['commentId']);_0x49f35d?_0x49f35d['content']!==_0x46a336['content']&&_0x49f35d['update']({'content':_0x46a336['content'],'isFromAdapter':!0x0}):_0x1f7a1b['addComment'](Object['assign'](B(_0x46a336),{'isFromAdapter':!0x0}));}}}['_getService'](_0x329857){if(!this['_services']['has'](_0x329857))throw new _0x1b863e('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x329857});return this['_services']['get'](_0x329857);}async['_fetchMissingUsersForThreads'](_0x1de276){const _0x19796c=this['context']['plugins']['get'](_0x12033b),{connection:_0x1e946e}=this['context']['plugins']['get'](n),_0x35ee68=new Set();for(const {resolvedBy:_0x55460c,comments:_0x4f5b92}of _0x1de276){_0x55460c&&!_0x19796c['getUser'](_0x55460c)&&_0x35ee68['add'](_0x55460c);for(const {userId:_0x5bb5c6}of _0x4f5b92)_0x19796c['getUser'](_0x5bb5c6)||_0x35ee68['add'](_0x5bb5c6);}if(0x0===_0x35ee68['size'])return;const _0x53dbae=await lt['getMany'](_0x1e946e,Array['from'](_0x35ee68));for(const _0x470833 of _0x53dbae)_0x19796c['getUser'](_0x470833['id'])||_0x19796c['addUser'](_0x470833);}}async function F(_0x28334b){if('404'!==_0x28334b['code'])throw _0x28334b;}function dt(_0x350c04){if((_0x368908=_0x350c04)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x368908['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x368908['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x368908;throw _0x350c04;}function B(_0x205d91){return{'threadId':_0x205d91['commentThreadId'],'commentId':_0x205d91['commentId'],'content':_0x205d91['content'],'createdAt':_0x205d91['createdAt'],'authorId':_0x205d91['userId'],'attributes':_0x205d91['attributes']||{}};}class m extends _0x4f70c8{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bf072){super(_0x1bf072);const _0x11b5bc=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x11b5bc);}['init'](){const _0x243b71=this['editor']['plugins']['get'](n),_0xe10001=this['editor']['plugins']['get']('TrackChangesEditing');return _0xe10001['adapter']={'getSuggestion':async _0xd1e274=>{await this['_waitForServiceReady']();const _0x9affb7=await this['_trackChangesService']['get'](_0xd1e274)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x9affb7]),_0x9affb7;},'addSuggestion':async({id:_0xcd1f66,type:_0x17efd1,data:_0x122980,originalSuggestionId:_0x3719e2,attributes:_0x23b6c1})=>{await this['_waitForServiceReady']();const _0x24c8c8={'id':_0xcd1f66,'type':_0x17efd1,'data':_0x122980,'originalSuggestionId':_0x3719e2,'attributes':_0x23b6c1},_0x56210a=await this['_trackChangesService']['add'](_0xcd1f66,_0x17efd1,_0x122980,_0x3719e2,_0x23b6c1)['catch'](_0x2d8147=>{if(ut(_0x2d8147))return new Promise(_0x4bfad0=>{this['_bufferedRequests']['set'](_0xcd1f66,{'resolve':_0x4bfad0,'suggestionData':_0x24c8c8});});throw _0x2d8147;});return this['_bufferedRequests']['delete'](_0xcd1f66),_0x56210a;},'updateSuggestion':async(_0x4b2a6b,_0x268310)=>{if(await this['_waitForServiceReady'](),'open'!==_0x268310['state'])return this['_trackChangesService']['update'](_0x4b2a6b,_0x268310)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x8b69a6,_0x1747ad)=>{_0xe10001['hasSuggestion'](_0x1747ad['id'])&&(_0xe10001['getSuggestion'](_0x1747ad['id'])['attributes']=_0x1747ad['attributes']);}),this['_trackChangesService']['connect'](_0x243b71['connection'])['then'](_0x29a553=>(_0x243b71['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x29a553)['then'](()=>{for(const _0x3afee5 of _0x29a553){_0xe10001['addSuggestionData'](_0x3afee5)['_saved']=!0x0;}})));}async['reconnect'](){const _0x37462d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x26a2d0}=this['editor']['plugins']['get'](n),_0x1b8d35=await this['_trackChangesService']['connect'](_0x26a2d0);await this['_fetchMissingUsersForThreads'](_0x1b8d35);for(const {suggestionData:_0xf9d776,resolve:_0x1d6a0b}of this['_bufferedRequests']['values']()){let _0x221018=_0x1b8d35['find'](_0x10215a=>_0x10215a['id']===_0xf9d776['id']);_0x221018||(_0x221018=await this['_trackChangesService']['add'](_0xf9d776['id'],_0xf9d776['type'],_0xf9d776['data'],_0xf9d776['originalSuggestionId'])),_0x1d6a0b(_0x221018);}for(const _0x4776a6 of _0x1b8d35)_0x37462d['hasSuggestion'](_0x4776a6['id'])||_0x37462d['addSuggestionData'](_0x4776a6);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x548d76=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2f88b2=>{_0x2f88b2['off'](),_0x548d76();});});}async['_fetchMissingUsersForThreads'](_0x289bf6){const _0x3a5520=this['editor']['plugins']['get'](_0x12033b),{connection:_0x4bb214}=this['editor']['plugins']['get'](n),_0x3b6809=new Set();for(const {authorId:_0x252051}of _0x289bf6)_0x3a5520['getUser'](_0x252051)||_0x3b6809['add'](_0x252051);if(0x0===_0x3b6809['size'])return;const _0x257623=await lt['getMany'](_0x4bb214,Array['from'](_0x3b6809));for(const _0xe224a6 of _0x257623)_0x3a5520['getUser'](_0xe224a6['id'])||_0x3a5520['addUser'](_0xe224a6);}}function k(_0x215458){if(ut(_0x215458))return new Promise(()=>{});throw _0x215458;}function ut(_0x2dc902){return _0x2dc902['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dc902['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4f70c8{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x216e7a=this['editor']['plugins']['get'](n),_0x156134=this['editor']['plugins']['get']('CommentsEditing'),_0x80d05d=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x216e7a,'change:state',(_0x29af80,_0x4d5915,_0xd65b27)=>{_0x156134['isThreadsLoadingPaused']='connected'!==_0xd65b27;});}),this['listenTo'](_0x216e7a,'change:state',(_0x1d9743,_0x7c1d03,_0x328003)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x328003);}),_0x80d05d['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x4f70c8{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x4f70c8{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x12033b];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x596a2c){super(_0x596a2c);const _0x5a250f=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5a250f);}async['init'](){const _0x497540=this['editor']['plugins']['get'](l),_0x5ed7fa=_0x497540['serverHistory'],_0x4adbcb=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x5ed7fa,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x497540['sessionId']});const _0x47eb6d=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x11363f=await tt['isBundleUploaded'](_0x4adbcb['connection'],_0x47eb6d);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x411b8f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x411b8f)),'updateRevisions':async _0x25930c=>{await this['_waitForServiceReady']();const _0x16882a=this['_revisionTracker']['currentRevision'];if(_0x11363f&&0x1===_0x25930c['length']&&_0x25930c[0x0]['id']===_0x16882a['id'])return _0x25930c;for(const _0x2f3b71 of _0x25930c)_0x2f3b71['id']===_0x16882a['id']&&(_0x2f3b71['isEmptyCurrent']=_0x2f3b71['fromVersion']===_0x2f3b71['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x25930c,this['_lastRequestId'])['then'](_0x2242ca=>(this['_lastRequestId']=_0x2242ca,_0x25930c))['catch'](_0x4a700b=>{if(st(_0x4a700b)||'400'===_0x4a700b['code']&&void 0x0!==_0x4a700b['data']['wrongRequestId']){for(const _0x5563f7 of _0x25930c){!this['_revisionTracker']['repository']['getRevision'](_0x5563f7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5563f7['id'],_0x5563f7,!0x1);}if(st(_0x4a700b))throw _0x4a700b;return _0x25930c;}throw _0x4a700b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4eb4c4,{revisionsData:_0x1a17a3,requestId:_0x3f483a})=>{Math['max'](..._0x1a17a3['map'](_0xaa7e64=>_0xaa7e64['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1a17a3,_0x3f483a);}):this['_handleRevisionsUpdate'](_0x1a17a3,_0x3f483a);});const {revisions:_0x2b9dcd,requestId:_0x1404bc}=await this['_revisionHistoryService']['connect'](_0x4adbcb['connection']);_0x4adbcb['addToReconnectionStack'](this),this['_lastRequestId']=_0x1404bc,await this['_fetchMissingUsers'](_0x2b9dcd);for(const _0x3192b0 of _0x2b9dcd)this['_revisionTracker']['addRevisionData'](_0x3192b0);this['listenTo'](_0x497540,'change:_isConnected',(_0x2543c8,_0x58c2cb,_0x2dc3c1)=>{_0x2dc3c1&&(this['_oldOffset']=_0x497540['_offset'],_0x2543c8['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4adbcb,'state',_0x261211=>_0x261211===te['CONNECTED']);}async['reconnect'](){const _0x48484c=this['editor']['plugins']['get'](n),_0x4820a9=this['editor']['plugins']['get'](l),_0x1e31a9=async()=>{const _0x413511=this['_revisionTracker']['currentRevision'],_0x2d9aa8=_0x413511['id'],_0x40fcf2=_0x2d9aa8!==_0x4820a9['sessionId'];if(_0x40fcf2){const _0x42b741=_0x4820a9['_offset']-this['_oldOffset'],_0x3b415d=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x413511['toVersion']+_0x42b741!==_0x3b415d){const _0x25dd6b=_0x413511['fromVersion']+_0x42b741,_0x30f3be=this['editor']['plugins']['get'](_0x12033b),_0x37cb3c=this['_revisionTracker']['buildRevisionData']({'revision':_0x413511,'from':_0x25dd6b,'to':_0x3b415d});_0x37cb3c['id']=_0x413511['id'];const _0xe3e943=_0x37cb3c['authorsIds']['map'](_0x1365f0=>_0x30f3be['getUser'](_0x1365f0));_0x413511['_update']({..._0x37cb3c,'authors':_0xe3e943},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x413511['id'],_0x37cb3c,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3b415d,(_0x413511['toVersion']===_0x413511['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2d9aa8)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2d9aa8),this['_revisionTracker']['_createCurrentRevision'](_0x3b415d));}const {revisions:_0x45b579,requestId:_0x3a1c8d}=await this['_revisionHistoryService']['reconnect'](_0x48484c['connection'],this['_lastRequestId']);_0x40fcf2&&_0x45b579['length']>0x0?_0x4820a9['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x45b579),this['_handleRevisionsUpdate'](_0x45b579,_0x3a1c8d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4820a9['_isConnected']?_0x1e31a9():new Promise((_0x2962e2,_0x5869f4)=>{_0x4820a9['once']('change:_isConnected',()=>{_0x1e31a9()['then'](_0x2962e2)['catch'](_0x5869f4);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3e8666=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x15ed4e=>{_0x15ed4e['off'](),_0x3e8666();});});}['_getLatestVersionFromServerOperations'](){const _0x4565ed=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0xacaec2 of _0x4565ed)if('marker'!==_0xacaec2['type']||_0xacaec2['affectsData'])return _0xacaec2['baseVersion']+0x1;}['_getLatestVersion'](){const _0x19d518=this['editor']['plugins']['get'](l);return new Promise(_0x19361e=>{_0x19d518['_isPendingUpdate']?_0x19d518['once']('change:_isPendingUpdate',()=>{_0x19361e(this['_getLatestVersionFromServerOperations']());}):_0x19361e(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x35b6eb,_0x47a466){const _0x76aff2=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x47a466;for(const _0x399165 of _0x35b6eb){const _0x3829b0=_0x76aff2['getRevision'](_0x399165['id']);if(_0x3829b0){if((_0x399165['fromVersion']||_0x399165['toVersion'])&&(_0x399165['diffData']=null),_0x3829b0===this['_revisionTracker']['currentRevision']){const _0x43e72e=Math['max'](_0x3829b0['toVersion'],_0x399165['toVersion']),_0xd7c01f=Math['max'](_0x3829b0['fromVersion'],_0x399165['fromVersion']);let _0x16d814;_0x3829b0['toVersion']===_0x399165['toVersion']&&_0x3829b0['fromVersion']===_0x399165['fromVersion']?(_0x16d814=!0x0,this['_preventResendingRevisionData'](_0x399165)):_0x399165['toVersion']===_0x43e72e&&_0x399165['fromVersion']===_0xd7c01f?_0x16d814=!0x1:(_0x3829b0['toVersion']===_0x43e72e&&_0x3829b0['fromVersion']===_0xd7c01f||this['_fixRevision']({'revision':_0x3829b0,'from':_0xd7c01f,'to':_0x43e72e}),_0x16d814=!0x0),_0x16d814&&(delete _0x399165['fromVersion'],delete _0x399165['toVersion'],delete _0x399165['diffData'],delete _0x399165['createdAt'],delete _0x399165['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x399165),this['_preventResendingRevisionData'](_0x399165);}else this['_revisionTracker']['addRevisionData'](_0x399165);}const _0x9563f2=_0x76aff2['getRevisions']();_0x9563f2['reverse']();for(let _0x53dfe7=0x0;_0x53dfe7<_0x9563f2['length']-0x1;_0x53dfe7++){const _0x5537a4=_0x9563f2[_0x53dfe7],_0x5fe438=_0x9563f2[_0x53dfe7+0x1];if(_0x5537a4['fromVersion']<_0x5fe438['toVersion']){const _0x5b7919=_0x5fe438['toVersion'],_0x562443=Math['max'](_0x5b7919,_0x5537a4['toVersion']);this['_fixRevision']({'revision':_0x5537a4,'from':_0x5b7919,'to':_0x562443});}}}['_fixRevision']({revision:_0x2c7143,from:_0x595468,to:_0x5eb39d}={}){const _0x34a894=this['editor']['plugins']['get'](_0x12033b),_0x1f0899=this['_revisionTracker']['buildRevisionData']({'revision':_0x2c7143,'from':_0x595468,'to':_0x5eb39d});_0x1f0899['authors']=_0x1f0899['authorsIds']['map'](_0x22bac8=>_0x34a894['getUser'](_0x22bac8)),_0x2c7143['_update'](_0x1f0899);}['_preventResendingRevisionData'](_0x1c17a2){const _0x34abdc={};_0x34abdc['id']=_0x1c17a2['id'];for(const _0x355467 of Object['keys'](_0x1c17a2))'id'!==_0x355467&&(_0x34abdc[_0x355467]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x34abdc['id'],_0x34abdc,!0x0);}async['_fetchMissingUsers'](_0xdd7a3f){const _0x2ea2a4=this['editor']['plugins']['get'](_0x12033b),{connection:_0x385ce9}=this['editor']['plugins']['get'](n),_0x5d3500=new Set();for(const _0x1bfd02 of _0xdd7a3f){for(const _0x560f90 of _0x1bfd02['authorsIds'])_0x2f68c0(_0x560f90);_0x1bfd02['creatorId']&&_0x2f68c0(_0x1bfd02['creatorId']);}if(0x0===_0x5d3500['size'])return;const _0x25ac08=await lt['getMany'](_0x385ce9,Array['from'](_0x5d3500));for(const _0x5ccd09 of _0x25ac08)_0x2ea2a4['getUser'](_0x5ccd09['id'])||_0x2ea2a4['addUser'](_0x5ccd09);function _0x2f68c0(_0x4040c8){_0x2ea2a4['getUser'](_0x4040c8)||_0x5d3500['add'](_0x4040c8);}}}function st(_0x26c6ee){return _0x26c6ee['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x26c6ee['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26c6ee['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x4f70c8{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x4c7c82{['_collapseAt'];constructor(_0x506342,_0x542318=0x6){super(_0x506342);const _0xcde1b6=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x542318,this['bind']('isHidden')['to'](this,'usersCount',_0x35ca53=>_0x35ca53<_0x542318),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xcde1b6['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0xcde1b6['to']('usersCount',_0x45796b=>'+'+(_0x45796b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x4c7c82{['items'];['keystrokes'];constructor(_0x2b4bb4){super(_0x2b4bb4);const _0x4703b5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x490620(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4703b5['if']('hasPopup'),'aria-expanded':_0x4703b5['to']('isExpanded',_0x5ad456=>this['hasPopup']&&String(_0x5ad456)),'aria-label':_0x4703b5['to']('hasPopup',_0x27d27f=>V(_0x2b4bb4,_0x27d27f?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4703b5['to']('hasPopup',_0x28b49c=>!!_0x28b49c&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4703b5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4703b5['to'](_0x46188a=>{const _0x3d0b1f=_0x46188a,_0x5223b3=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5b585c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5223b3?.['contains'](_0x3d0b1f['relatedTarget'])||_0x5b585c?.['contains'](_0x3d0b1f['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0xc8db4,_0x48c89a,_0x19a2d4)=>{this['element']&&(_0x19a2d4?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x4c7c82{['counterView'];['inlineListView'];constructor(_0x1ef353,_0xe798e5=0x6){super(_0x1ef353);const _0x5ee057=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0xe798e5),this['inlineListView']=new is(_0x1ef353),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x51946f of this['inlineListView']['items'])_0x51946f['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',_0x5ee057['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x4c7c82{['listWrapperView'];constructor(_0x2a9d44,_0x2247c1){super(_0x2a9d44);const _0x4dd08e=this['bindTemplate'];this['listWrapperView']=new pt(_0x2a9d44,_0x2247c1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x2a9d44,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4dd08e['to'](_0x43ef1b=>{const _0x1fc9b2=_0x43ef1b,_0x17272b=document['querySelector']('.ck-presence-list__list'),_0x45baf9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x17272b?.['contains'](_0x1fc9b2['relatedTarget'])||_0x45baf9?.['contains'](_0x1fc9b2['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x4e50d2{constructor(_0x38125e,_0x4376c3){super(_0x38125e);const _0x4d78d3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4376c3?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4d78d3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4d78d3['to']('role'),'aria-label':_0x4d78d3['to']('ariaLabel'),'aria-labelledby':_0x4d78d3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5b5001['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x14f4b3=this['element'];_0x14f4b3&&(this['_isScrollable']=Math['max'](_0x14f4b3['scrollHeight'],_0x14f4b3['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x857440,_0x5a29fd,_0x2a3b6f){super(_0x857440);const _0xc999ba=this['bindTemplate'];this['userView']=new ct(_0x857440,_0x5a29fd);const _0x7f42ed={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5a29fd['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5a29fd['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5a29fd['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2a3b6f&&(_0x7f42ed['tag']='button',_0x7f42ed['on']={'click':_0xc999ba['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x7f42ed);}['focus'](){this['element']['focus']();}}class A extends _0x4c7c82{['userView'];['markerView'];constructor(_0x29671d,_0x1bb2e1,_0x1d2312){super(_0x29671d);const _0x2d7ce9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x29671d,_0x1bb2e1),this['markerView']=new at(_0x29671d,_0x1bb2e1);const _0x558225=new ot(_0x29671d);_0x558225['template']['tag']='span',_0x558225['text']=_0x1bb2e1['name'];const _0x4b1816={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2d7ce9['to']('isFocusable',_0x2427f8=>!!_0x2427f8&&0x0),'aria-labelledby':_0x558225['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2d7ce9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2d7ce9['to']('hasTooltip',_0x29ce46=>!_0x29ce46),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x558225]};_0x1d2312&&(_0x4b1816['tag']='button',_0x4b1816['on']={'click':_0x2d7ce9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4b1816);}}class at extends _0x4c7c82{constructor(_0x480579,_0x2dae71){super(_0x480579),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2dae71['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x34f6b7{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdf3da3){super(_0xdf3da3),this['context']['config']['define']('presenceList',x);const _0x5effcc=_0xdf3da3['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5effcc)throw new _0x1b863e('presencelist-collapseat-invalid-format',this);if(_0x5effcc<0x1)throw new _0x1b863e('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x500cda(),this['balloonPanelView']=new _0x501a5c(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x141ba6 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x141ba6);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1040ae,_0x2313a3)=>{this['_handleUserAdd'](_0x2313a3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x18087c,_0x548162)=>{this['_handleUserRemove'](_0x548162);});}['_createView'](){const _0x88841c=this['context'],_0x2091cd=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x150b84=this['balloonPanelView'];if(!_0x189cec(_0x88841c['config']['get']('presenceList.container')))throw new _0x1b863e('presencelist-missing-container',this);return _0x2091cd['counterView']['bind']('usersCount')['to'](this),_0x2091cd['bind']('isCollapsed')['to'](this,'usersCount',_0x3ab795=>{const {collapseAt:_0x4fcf5a}=_0x88841c['config']['get']('presenceList'),_0x52a555=_0x3ab795>=_0x4fcf5a;if(_0x52a555&&!_0x2091cd['inlineListView']['items']['find'](_0x3de8aa=>_0x3de8aa instanceof b)){const _0x4b6ba6=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4b6ba6&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2091cd['inlineListView']['items']['add'](_0x2091cd['counterView']);}return _0x52a555||this['hideDropdown'](),_0x52a555;}),_0x2091cd['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xf5a11=>{const _0x37c3ed=_0x88841c['config']['get']('presenceList'),_0x331afc=new A(_0x88841c['locale'],_0xf5a11,!!_0x37c3ed['onClick']);return _0x331afc['bind']('hasTooltip')['to'](_0x2091cd,'isCollapsed',_0x3f69db=>!_0x3f69db),_0x331afc['bind']('isFocusable')['to'](_0x2091cd,'isCollapsed',_0x3c3f44=>!_0x3c3f44),_0x37c3ed['onClick']&&this['listenTo'](_0x331afc,'execute',()=>{this['view']['isCollapsed']||_0x37c3ed['onClick'](_0xf5a11,_0x331afc['element']);}),_0x331afc;}),this['listenTo'](_0x2091cd['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2091cd['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2091cd['inlineListView']['keystrokes']['set']('Enter',(_0x342eaf,_0x5446f7)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5446f7());}),_0x2091cd['render'](),_0x150b84['render'](),_0xb632d8({'emitter':_0x2091cd,'activator':()=>_0x150b84['isVisible'],'contextElements':[_0x150b84['element'],_0x2091cd['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x88841c['config']['get']('presenceList.container')['appendChild'](_0x2091cd['element']),this['_bodyCollection']=new _0x262a4c(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2091cd;}['_handleUserAdd'](_0x596af3){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x596af3['isMe'])return;const _0x52d847=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x52d847-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x6e3741=_0x596af3['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x596af3,_0x6e3741);}['_handleUserRemove'](_0x2fd8a8){this['usersCount']--;const {collapseAt:_0x555267}=this['context']['config']['get']('presenceList'),_0x55e69b=this['usersCount']>=_0x555267;if(this['currentDisplayedUsers']['get'](_0x2fd8a8['id']))this['currentDisplayedUsers']['remove'](_0x2fd8a8['id']);else{if(_0x55e69b&&this['currentDisplayedUsers']['length']+0x1===_0x555267-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x55e69b?0x1:0x0)<this['usersCount']){for(const _0x3685e5 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3685e5['id'])&&(this['currentDisplayedUsers']['add'](_0x3685e5,Math['min'](this['currentDisplayedUsers']['length']-(_0x55e69b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x55e69b?0x1:0x0)===_0x555267-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x53a4cd=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x53a4cd['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x282cd1}=this['presenceDropdownView'];_0x282cd1['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1e713c=>{if(!_0x53a4cd['displayMe']&&_0x1e713c['isMe'])return null;const _0x45528e=new j(this['context']['locale'],_0x1e713c,!!_0x53a4cd['onClick']);return _0x53a4cd['onClick']&&this['listenTo'](_0x45528e,'execute',()=>{_0x53a4cd['onClick'](_0x1e713c,_0x45528e['element']);}),_0x45528e;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x282cd1['focus'](),_0x282cd1['checkIfScrollable']();const _0xbd8d49=(_0x47f2d9,_0x1440e5)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1440e5();};_0x282cd1['keystrokes']['set']('Esc',_0xbd8d49),_0x282cd1['keystrokes']['set']('Shift+Tab',_0xbd8d49),_0x282cd1['keystrokes']['set']('Tab',(_0x405c8a,_0x4f2211)=>{!function(_0x1bd4fa){const _0x3cc46e=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x10b5f5=>_0x10b5f5+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x10f7f8=[...document['body']['querySelectorAll'](_0x3cc46e)]['filter'](_0x5ebdf3=>_0x5ebdf3===document['activeElement']||_0x5ebdf3['offsetWidth']+_0x5ebdf3['offsetHeight']>0x0)['sort']((_0x178717,_0x296b83)=>(_0x178717['tabIndex']||0x0)-(_0x296b83['tabIndex']||0x0)),_0x49bea3=_0x10f7f8['indexOf'](_0x1bd4fa),_0x2a0095=_0x10f7f8[(_0x49bea3+0x1)%_0x10f7f8['length']];_0x2a0095&&_0x2a0095['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4f2211();}),_0x282cd1['focusTracker']['add'](this['view']['element']),_0x282cd1['focusTracker']['on']('change:isFocused',(_0x2a5fe5,_0x26f8e6,_0x18f495)=>{_0x18f495||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x34f6b7{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x310930,Plugin as _0x20bbef,PendingActions as _0x3e7a8c,Context as et}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x34df2e,CKEditorError as _0x21045a,Collection as _0x4b7163,global as _0x46ec17,version as ht,uid as _0xda88c4,KeystrokeHandler as _0x46a387}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x57a024,View as _0x5c72d1,ListView as _0x215c68,ListItemView as rt,LabelView as at,BalloonPanelView as _0x240326,clickOutsideHandler as _0x210d43,BodyCollection as _0x4e4cc}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x5380b7,History as _0x23e16c,NoOperation as _0x42d262,InsertOperation as _0x570f7c,MarkerOperation as _0x1a07d4,RootAttributeOperation as _0x1e2a7e,transformOperationSets as _0x5478d1,OperationFactory as _0x2f2c38}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x293cb5,CollaborativeEditingService as _0x5d70ef,User as ut,CommentsService as ot,TrackChangesService as tt,RevisionHistoryService as _0x273624,EditorService as _0x1fc74e}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0xcebe00,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x51f779}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x5bed0f}from'es-toolkit/compat';class n extends _0x310930{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x57a024];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x495e62){super(_0x495e62),this['set']('state',_0x293cb5['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x34df2e())();}['init'](){const _0x49029f=this['context'],_0x465525=_0x49029f['plugins']['get']('CloudServices'),_0x14dc8a=_0x49029f['plugins']['get'](_0x57a024);if(!_0x465525['token'])throw new _0x21045a('websocketgateway-missing-token',this);if(!_0x465525['webSocketUrl'])throw new _0x21045a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x465525['token'],_0x465525['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x21bb08=>{if(this['connection']=_0x21bb08,this['bind']('state')['to'](_0x21bb08,'state',this,'_isBrowserOffline',(_0x369723,_0x589750)=>('connected'!==_0x369723&&(this['_shouldPluginsReconnect']=!0x0),_0x589750||_0x369723!==_0x293cb5['CONNECTED']?_0x293cb5['DISCONNECTED']:this['state']==_0x293cb5['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x293cb5['CONNECTING']):_0x293cb5['CONNECTED'])),this['connection']['on']('error',(_0x306acc,_0x4b343f)=>{if('limitExceeded'!==_0x4b343f['code'])throw console['error'](_0x4b343f),new _0x21045a('cloudservices-init',null,{'originalError':_0x4b343f});_0x14dc8a['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'});}),!_0x21bb08['me'])return new Promise(_0x68ccf2=>_0x21bb08['on']('change:me',_0x68ccf2));})['catch'](_0x1462b4=>{throw console['error'](_0x1462b4),new _0x21045a('cloudservices-init',null,{'originalError':_0x1462b4});});}['addToReconnectionStack'](_0x1aef0b){if('function'!=typeof _0x1aef0b['reconnect'])throw new _0x21045a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1aef0b))throw new _0x21045a('websocketgateway-plugin-already-registered',this,{'name':_0x1aef0b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1aef0b);}['removeFromReconnectionStack'](_0xdce958){this['_reconnectionStack']['delete'](_0xdce958);}['isInReconnectionStack'](_0x5678a5){return this['_reconnectionStack']['has'](_0x5678a5);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5c6b28=>_0x5c6b28['reconnect']())))['then'](()=>this['state']=_0x293cb5['CONNECTED'])['catch'](_0x19203d=>{throw console['error'](_0x19203d),new _0x21045a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x293cb5['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x310930{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0xcebe00];}constructor(_0x518ecb){super(_0x518ecb),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4b7163(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0xcebe00);}['init'](){const _0x5b5740=this['context']['plugins']['get'](n);this['listenTo'](_0x5b5740,'change:state',(_0xd0a031,_0x4cd64c,_0x2a8ee0)=>{if('connected'!==_0x2a8ee0)this['channelSessions']['forEach'](_0x612acb=>_0x612acb['clear']()),this['channelConnectedUsers']['forEach'](_0x7cc7c4=>_0x7cc7c4['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x19ed94,_0xecac08]of this['_registeredSessions'])for(const _0x3f61fe of _0xecac08)this['_handleSessionAdd'](_0x19ed94,_0x3f61fe);}}),this['_createUser'](_0x5b5740['connection']['me'],!0x0);}['register'](_0x44ffc9,_0x88878d){if(this['_registeredSessions']['has'](_0x44ffc9))throw new _0x21045a('sessions-register-already-registered',null,{'channelId':_0x44ffc9});this['_registeredSessions']['set'](_0x44ffc9,_0x88878d),this['channelSessions']['set'](_0x44ffc9,new _0x4b7163()),this['channelConnectedUsers']['set'](_0x44ffc9,new _0x4b7163()),this['listenTo'](_0x88878d,'add',(_0x47184d,_0x3c3c2a)=>this['_handleSessionAdd'](_0x44ffc9,_0x3c3c2a)),this['listenTo'](_0x88878d,'remove',(_0x401bab,_0x12034c)=>this['_handleSessionRemove'](_0x44ffc9,_0x12034c));for(const _0x4f4c11 of _0x88878d)this['_handleSessionAdd'](_0x44ffc9,_0x4f4c11);}['unregister'](_0x30f0e0){if(!this['_registeredSessions']['has'](_0x30f0e0))throw new _0x21045a('sessions-unregister-not-exist',null,{'channelId':_0x30f0e0});const _0x2d3ab4=this['_registeredSessions']['get'](_0x30f0e0);this['stopListening'](_0x2d3ab4);for(const _0x380687 of _0x2d3ab4)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x30f0e0,_0x380687);this['_registeredSessions']['delete'](_0x30f0e0),this['channelSessions']['delete'](_0x30f0e0),this['channelConnectedUsers']['delete'](_0x30f0e0);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x3b5649){for(const _0x1443ba of this['channelSessions']['values']())for(const _0x49b31d of _0x1443ba)if(_0x49b31d['id']===_0x3b5649)return _0x49b31d['user'];}['getUserSessions'](_0x20387c,_0x18fb3e){const _0x51b14b=_0x18fb3e?[this['channelSessions']['get'](_0x18fb3e)]:this['channelSessions']['values'](),_0x2e4b9e=new Set();for(const _0x5a1c19 of _0x51b14b)for(const _0x159d01 of _0x5a1c19)_0x159d01['user']['id']===_0x20387c['id']&&_0x2e4b9e['add'](_0x159d01['id']);return _0x2e4b9e;}['getUserRole'](_0x1d255c){for(const _0x4140be of this['channelSessions']['values']())for(const _0x58e1d9 of _0x4140be)if(_0x58e1d9['user']===_0x1d255c)return _0x58e1d9['role'];}['_handleSessionAdd'](_0x4a5d1a,_0x257455){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x40ab7e=_0x257455['user'],_0x6a64f6=this['_users']['getUser'](_0x40ab7e['id'])||this['_createUser'](_0x40ab7e),_0x303979=Object['assign']({},_0x257455,{'user':_0x6a64f6});this['channelSessions']['get'](_0x4a5d1a)['add'](_0x303979);const _0x2aeb64=this['channelConnectedUsers']['get'](_0x4a5d1a);_0x2aeb64['has'](_0x6a64f6['id'])||_0x2aeb64['add'](_0x6a64f6),this['allConnectedUsers']['has'](_0x6a64f6['id'])||this['allConnectedUsers']['add'](_0x6a64f6,_0x6a64f6['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x4a5d1a,{'channelId':_0x4a5d1a,'session':_0x303979});}['_handleSessionRemove'](_0x500057,_0x47020f){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3f4b6b=this['channelConnectedUsers']['get'](_0x500057),_0x49bcb5=_0x47020f['user'];_0x49bcb5['id']&&(this['channelSessions']['get'](_0x500057)['remove'](_0x47020f['id']),_0x3f4b6b['has'](_0x49bcb5['id'])&&!this['getUserSessions'](_0x49bcb5,_0x500057)['size']&&_0x3f4b6b['remove'](_0x49bcb5['id']),this['allConnectedUsers']['get'](_0x49bcb5['id'])&&!this['getUserSessions'](_0x49bcb5)['size']&&this['allConnectedUsers']['remove'](_0x49bcb5['id']));}['_createUser'](_0x26f068,_0x53ae98){const _0x1176b7=this['_users']['addUser'](_0x26f068);return _0x53ae98&&this['_users']['defineMe'](_0x26f068['id']),_0x1176b7['orderNumber']=this['_uniqueUsersCount']++,_0x1176b7;}}class H extends _0x20bbef{['_domEmitter']=new(_0x34df2e())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x23fbb6=this['editor'],_0x146391=_0x23fbb6['plugins']['get'](i);_0x23fbb6['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4c78f0,{writer:_0x38bbe4})=>function(_0x54ebc9,_0x4c9aea,_0x454a66,_0x527d0c){const _0x29ace1=_0x54ebc9['markerName']['split'](':')[0x2],_0x26b75c=_0x454a66['getUserBySessionId'](_0x29ace1);if(!_0x26b75c||_0x29ace1===_0x454a66['mySessionId'])return;if(!_0x527d0c['model']['schema']['checkChild'](_0x54ebc9['markerRange']['start'],'$text'))return;const _0x3ac5d9={'class':'ck-user__marker\x20'+_0x26b75c['color']['getMarkerClass'](),'data-name':_0x26b75c['name'],'data-session-id':_0x29ace1},_0x37f8c1=_0x527d0c['model']['markers']['get'](_0x54ebc9['markerName']),_0x50793c=_0x37f8c1['getStart'](),_0xe55027=_0x50793c['nodeAfter'],_0x58304e=_0x527d0c['model']['schema'];if(_0xe55027&&_0x58304e['isObject'](_0xe55027)&&_0x58304e['isInline'](_0xe55027)&&!_0x527d0c['model']['markers']['get']('user:range:'+_0x29ace1)['getRange']()['isCollapsed'])return;const _0x1894ee=_0x50793c['parent'];return _0x527d0c['model']['schema']['isLimit'](_0x1894ee)&&!_0x527d0c['model']['hasContent'](_0x1894ee)&&(_0x3ac5d9['contenteditable']=!0x1),function(_0x40c4b1,_0xf9eeae,_0x2a0a40){const _0x21fd2b=_0x40c4b1['createUIElement']('span',_0xf9eeae);return _0x40c4b1['setCustomProperty']('userPositionMarker',!0x0,_0x21fd2b),_0x21fd2b['render']=function(_0x407f80){const _0xededcc=this['toDomElement'](_0x407f80),_0x36a72b=document['createElement']('span');return _0x36a72b['classList']['add']('ck-user__marker-tooltip'),_0x36a72b['setAttribute']('contenteditable','false'),_0x36a72b['setAttribute']('spellcheck','false'),_0x36a72b['textContent']=_0x2a0a40['name'],_0xededcc['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x36a72b['outerHTML']+'⁠',_0xededcc['addEventListener']('mouseenter',()=>{_0xededcc['classList']['add']('ck-user__marker_hovered');}),_0xededcc['addEventListener']('mouseleave',()=>{_0xededcc['classList']['remove']('ck-user__marker_hovered');}),_0xededcc;},_0x21fd2b['isSimilar']=function(_0x4a9297){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4a9297['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4a9297['getAttribute']('data-session-id'));},_0x21fd2b;}(_0x4c9aea,_0x3ac5d9,_0x26b75c);}(_0x4c78f0,_0x38bbe4,_0x146391,_0x23fbb6)}),_0x23fbb6['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x207d2b=>function(_0x21ff01,_0x292fdb){const _0x1454de=_0x21ff01['markerName']['split'](':')[0x2];if(_0x1454de===_0x292fdb['mySessionId'])return null;const _0x4f3f55=_0x292fdb['getUserBySessionId'](_0x1454de);if(!_0x4f3f55)return{'id':_0x1454de,'classes':[]};return{'id':_0x1454de,'classes':['ck-user__selection',_0x4f3f55['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1454de},'priority':0x7d0+_0x4f3f55['orderNumber']};}(_0x207d2b,_0x146391)}),function(_0x2be15f){const _0x4a81f1=_0x2be15f['model'],_0x31a55c=new Map(),_0x245269=_0x2be15f['plugins']['get'](i);_0x4a81f1['markers']['on']('update:user:range',(_0xfa073,_0x44a94b,_0x3a3235,_0x1fedfa)=>{if(!_0x1fedfa&&_0x31a55c['get'](_0x44a94b['name']))return _0x31a55c['get'](_0x44a94b['name'])['detach'](),void _0x31a55c['delete'](_0x44a94b['name']);const _0x2e89b9=_0x44a94b['name']['split'](':')[0x2];if(_0x2e89b9===_0x245269['mySessionId'])return;const _0x315542='user:position:'+_0x2e89b9;_0x4a81f1['markers']['has'](_0x315542)&&_0x2be15f['editing']['reconvertMarker'](_0x315542),_0x44a94b['on']('change:range',(_0x5963a0,_0x41ff1e,_0x22fd05)=>{if('$graveyard'!=_0x41ff1e['root']['rootName']&&'$graveyard'==_0x44a94b['getRange']()['root']['rootName']&&!_0x31a55c['has'](_0x44a94b['name'])){const _0x4f35f2=_0x4a81f1['schema']['getNearestSelectionRange'](_0x22fd05['deletionPosition']);if(_0x4f35f2){const _0x3e94e8=_0x5380b7['fromRange'](_0x4f35f2);_0x31a55c['set'](_0x44a94b['name'],_0x3e94e8),_0x3e94e8['on']('change:range',(_0xdbeb21,_0x3ff211,_0x1f1b34)=>{if('$graveyard'==_0x3e94e8['root']['rootName']){const _0xb096d1=_0x4a81f1['schema']['getNearestSelectionRange'](_0x1f1b34['deletionPosition']);_0xb096d1?(_0x3e94e8['start']=_0xb096d1['start'],_0x3e94e8['end']=_0xb096d1['end']):(_0x31a55c['delete'](_0x44a94b['name']),_0x3e94e8['detach']());}});}}});}),_0x4a81f1['document']['on']('change',()=>{_0x31a55c['size']>0x0&&_0x4a81f1['enqueueChange']({'isUndoable':!0x1},_0x2e8643=>{for(const [_0x26f8c1,_0x2954cc]of _0x31a55c)'$graveyard'==_0x4a81f1['markers']['get'](_0x26f8c1)['getRange']()['root']['rootName']&&(Y(_0x26f8c1['split'](':')[0x2],_0x2954cc['toRange'](),_0x4a81f1,_0x2e8643),_0x2954cc['detach']());_0x31a55c['clear']();});});}(_0x23fbb6),this['_domEmitter']['listenTo'](_0x46ec17['document'],'keydown',(_0x1d586d,{key:_0x1bc407})=>{'Escape'===_0x1bc407&&function(_0x263c3a){_0x263c3a['editing']['view']['change'](_0x26584f=>{for(const _0x333e80 of _0x263c3a['model']['markers']){if(!_0x333e80['name']['startsWith']('user:position'))continue;const _0x459c94=_0x263c3a['editing']['mapper']['markerNameToElements'](_0x333e80['name']);if(_0x459c94){for(const _0x4ad025 of _0x459c94)_0x26584f['removeClass']('ck-user__marker_hovered',_0x4ad025);}}});}(_0x23fbb6);},{'useCapture':!0x0});}['afterInit'](){const _0x569a08=this['editor'],_0x246340=_0x569a08['commands']['get']('undo');_0x246340&&_0x569a08['model']['on']('applyOperation',(_0x449a46,_0x2fe403)=>{const _0x43de2a=_0x2fe403[0x0];if(!_0x43de2a['isDocumentOperation'])return;if('marker'!=_0x43de2a['type']||!_0x43de2a['name']['startsWith']('user:'))return;const _0x11ace8=_0x43de2a['batch'];_0x246340['_createdBatches']['has'](_0x11ace8)&&(_0x43de2a['newRange']=_0x43de2a['oldRange']?_0x569a08['model']['createRange'](_0x43de2a['oldRange']['start'],_0x43de2a['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x436279=this['editor'],_0x2a963d=_0x436279['model']['document'],_0x404fba=_0x436279['plugins']['get'](i);_0x436279['model']['enqueueChange']({'isUndoable':!0x1},_0x24c833=>{const _0x7e2876='user:range:'+_0x404fba['mySessionId'],_0xd7504b='user:position:'+_0x404fba['mySessionId'],_0x20200d=_0x436279['model']['markers']['has'](_0x7e2876);_0x436279['editing']['view']['hasDomSelection']?Y(_0x404fba['mySessionId'],_0x2a963d['selection']['getFirstRange'](),_0x436279['model'],_0x24c833):_0x20200d&&(_0x24c833['removeMarker'](_0x7e2876),_0x24c833['removeMarker'](_0xd7504b));});}}function Y(_0x4703d5,_0xad91bd,_0x1f2b4b,_0x241f52){const _0x419758='user:range:'+_0x4703d5,_0x514b96='user:position:'+_0x4703d5,_0x3ca8d1=_0xad91bd['getContainedElement']();let _0x39fcb0=_0xad91bd['start'];if(_0x3ca8d1&&_0x3ca8d1['is']('element','tableCell')){const _0x4644f6=function(_0x4a9447,_0x11e0d6){for(const _0x2bd3d8 of _0x4a9447['getPositions']())if(_0x11e0d6['schema']['checkChild'](_0x2bd3d8,'$text'))return _0x2bd3d8;}(_0xad91bd,_0x1f2b4b);_0x4644f6&&(_0x39fcb0=_0x4644f6,_0xad91bd=_0x241f52['createRange'](_0x39fcb0));}const _0x220fdd=_0x241f52['createRange'](_0x39fcb0);_0x1f2b4b['markers']['has'](_0x419758)?(_0x241f52['updateMarker'](_0x419758,{'range':_0xad91bd}),_0x241f52['updateMarker'](_0x514b96,{'range':_0x220fdd})):(_0x241f52['addMarker'](_0x419758,{'range':_0xad91bd,'usingOperation':!0x0}),_0x241f52['addMarker'](_0x514b96,{'range':_0x220fdd,'usingOperation':!0x0}));}function V(_0x18a70e,_0x4658de,_0x2c357a){const _0x40ed36=_0x18a70e['t'],t=_0x18a70e['t'];switch(_0x4658de){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 _0x40ed36({'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'},_0x2c357a);default:return'';}}let q=0x1;class l extends _0x20bbef{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x5d70ef)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x3e7a8c,_0xcebe00,_0x57a024];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x3e0a96=this['serverHistory']['getOperations']();for(let _0x320406=_0x3e0a96['length']-0x1;_0x320406>=0x0;_0x320406--){const _0x1a56c6=_0x3e0a96[_0x320406];if(!this['_disconnectionOperations']['has'](_0x1a56c6))return _0x1a56c6['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x361305){if(super(_0x361305),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x23e16c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x21045a('collaboration-missing-channelid',this);const _0x169041=_0x361305['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x169041,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x51f779(),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 K(this['_disconnectionOperations']);}['init'](){const _0x4473d8=this['editor'],_0x481d12=_0x4473d8['plugins']['get'](_0xcebe00),_0x2fb4c3=_0x4473d8['plugins']['get'](n);this['listenTo'](_0x481d12,'getOperationAuthor',(_0x520d6e,_0x35fb99)=>{const _0x12a0e5=_0x35fb99[0x0];_0x12a0e5['_authorId']&&(_0x520d6e['return']=_0x481d12['getUser'](_0x12a0e5['_authorId']),_0x520d6e['stop']()),null===_0x12a0e5['_authorId']&&(_0x520d6e['return']=null,_0x520d6e['stop']());},{'priority':'high'}),this['listenTo'](_0x4473d8['model']['document']['selection'],'change:range',(_0x1e6fba,_0x393ab2)=>{_0x393ab2['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4473d8['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4473d8['model']['on']('applyOperation',(_0x38c4e6,_0x5dd73c)=>{const _0x332cb1=_0x5dd73c[0x0];_0x332cb1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x332cb1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2fb4c3,'state',this,'_hasSynchronizationProblem',(_0x52d0e0,_0x139bc3)=>'connected'===_0x52d0e0&&!_0x139bc3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4473d8['disableReadOnlyMode']('rtc-offline'):_0x4473d8['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4473d8['disableReadOnlyMode']('rtc-offline'):_0x4473d8['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x13d1cd=this['editor']['plugins']['get'](i),_0x23876d=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x13d1cd['unregister'](this['_channelId']);const _0x316988=await this['_service']['reconnect'](_0x23876d['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x316988)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4b707b=await this['_service']['getConnectedSessions']();_0x13d1cd['register'](this['_channelId'],_0x4b707b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x170722){if(function(_0x467ef5){return'404'===_0x467ef5['code'];}(_0x170722)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4b65ac){return'409'===_0x4b65ac['code'];}(_0x170722)){const _0x52486e=V(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x52486e);}else{if(!(_0x170722 instanceof G))throw _0x170722;this['_handleReconnectionError']();}}}}['destroy'](){const _0x33997e=this['editor']['plugins']['get'](n),_0x4462a7=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4462a7['channelSessions']['has'](this['_channelId'])&&_0x4462a7['unregister'](this['_channelId']),_0x33997e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2d4bdb){if(this['sessionId']!==_0x2d4bdb['sessionId']&&this['_lastSyncedOperationId']!==_0x2d4bdb['lastOperationId'])throw new G();return this['sessionId']=_0x2d4bdb['sessionId'],this['_handleServerResponse']([],{..._0x2d4bdb,'wereChangesApplied':!0x1,'data':_0x2d4bdb['data']},'reconnect');}async['_connectService'](_0x20126c,_0xbb69af=!0x1){const {connection:_0x2b6e06}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x2b6e06,this['_channelId'])['then'](_0x7c6594=>this['_initSessionsHandling'](_0x7c6594))['catch'](_0xacd3ce=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xacd3ce);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x14e2c3,_0x17d026)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x17d026);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4170c1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x20126c);this['_isPendingUpdate']=!0x0;const _0x3d86c9=await this['_service']['connect'](_0x2b6e06,this['_compressOperations'](_0x20126c),_0x4170c1);if(this['sessionId']=_0x3d86c9['sessionId'],_0xbb69af){if(!_0x3d86c9['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3d86c9['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x20126c,_0x3d86c9,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3d86c9,_0x20126c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x48876e=this['editor']['plugins']['get'](i),_0x1475c2=this['editor']['plugins']['get'](H),_0x436c3e=_0x48876e['channelSessions']['get'](this['_channelId']);_0x436c3e&&_0x436c3e['length']>0x1?_0x1475c2['createUserMarkerOperations']():this['listenTo'](_0x48876e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x48876e['channelSessions']['get'](this['_channelId'])['length']&&_0x1475c2['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2d20c8,_0x192b19,_0x18d571,_0x36eb8f){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x192b19){const _0x5d0a89=this['_decompressOperations'](_0x18d571,_0x36eb8f);await this['_fetchMissingUsers'](_0x5d0a89),this['_handleExternalOperations'](_0x5d0a89,_0x192b19,_0x18d571['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2cb8c4}=this['editor'];let _0x58488f;try{_0x58488f=await this['_service']['getDocumentDetails']();}catch{const _0x584a75=V(_0x2cb8c4,'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'](_0x584a75);}const _0x5ebf1d=_0x58488f['currentDocumentSession']||_0x58488f['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5ebf1d['lastOperationId']){const _0x346f57=V(_0x2cb8c4,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x346f57);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3d6c94){const _0x20483e=this['editor']['plugins']['get'](i);this['listenTo'](_0x20483e,'sessionAdd:'+this['_channelId'],(_0x2a8030,{session:_0x417c78})=>{if(_0x417c78['id']===_0x20483e['mySessionId']){_0x2a8030['off']();const _0x333d5a=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x231551=_0x417c78['permissions'];_0x333d5a&&_0x333d5a['isEnabled']&&(_0x231551=_0x231551['filter'](_0x31b02b=>'document:write'!==_0x31b02b)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x231551,this['_channelId']);}}),_0x20483e['register'](this['_channelId'],_0x3d6c94);}['_initThrowingOnDataSet'](){const _0x4b4f02=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5eeef5)=>{if(!_0x5eeef5[_0x5eeef5['length']-0x1]['suppressErrorInCollaboration'])throw new _0x21045a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x4b4f02['apply'](this['editor']['data'],_0x5eeef5);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2cbda0,[_0x3178c2])=>{if(this['_document']['version'])throw new _0x21045a('realtimecollaborationclient-init-document-already-initialized',this);_0x2cbda0['stop'](),this['_setPendingAction']();const _0x2989f3=this['editor']['config']['get']('rootsAttributes'),_0x398a21=this['_getOperationsFromInitData'](_0x3178c2,_0x2989f3);0x0==_0x398a21['length']&&_0x398a21['push'](new _0x42d262(0x0)),_0x2cbda0['return']=this['_connectService'](_0x398a21)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x8acad1=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x8acad1))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x41ffdd,[_0x4b6d9a,_0x236075])=>{_0x41ffdd['stop']();const _0x1f049e=this['editor']['model']['document']['getRoot'](_0x4b6d9a);if(!this['_knownRootNames']['has'](_0x4b6d9a)){const _0x2cbcdc=_0x236075&&_0x236075['data']?_0x236075['data']:'',_0x1e15da=_0x236075&&_0x236075['attributes']?_0x236075['attributes']:{};await this['_loadRoot'](_0x4b6d9a,_0x2cbcdc,_0x1e15da);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1f049e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1f049e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x38210c){const _0x40b365=this['editor']['plugins']['get'](_0xcebe00),{connection:_0x25ecac}=this['editor']['plugins']['get'](n),_0x502141=new Set();for(const _0x5ad6e2 of _0x38210c){const _0x28a63b=_0x5ad6e2['_authorId'];_0x28a63b&&!_0x40b365['getUser'](_0x28a63b)&&_0x502141['add'](_0x28a63b);}if(0x0===_0x502141['size'])return;const _0x3e2f5f=await ut['getMany'](_0x25ecac,Array['from'](_0x502141));for(const _0x2ba87c of _0x3e2f5f)_0x40b365['getUser'](_0x2ba87c['id'])||_0x40b365['addUser'](_0x2ba87c);}['_getOperationsFromInitData'](_0x556cfb,_0x2e8676={}){const _0x3fa8dd=this['editor']['model'],_0x2068f2=[];let _0x1f3bb1=0x0;const _0x3157f8='string'==typeof _0x556cfb?{'main':_0x556cfb}:_0x556cfb;for(const _0x43e347 of Object['keys'](_0x3157f8)){if(!this['_document']['roots']['has'](_0x43e347))throw new _0x21045a('realtimecollaborationclient-init-non-existent-root',this);const _0x1516ca=this['editor']['data']['parse'](_0x3157f8[_0x43e347]),_0x54c31a=this['_document']['getRoot'](_0x43e347),_0x3ad11e=new _0x570f7c(_0x3fa8dd['createPositionAt'](_0x54c31a,0x0),_0x1516ca,_0x1f3bb1++);_0x2068f2['push'](_0x3ad11e);for(const [_0x4c5b29,_0xa49a3b]of _0x1516ca['markers']){const _0xe4686b=_0x3fa8dd['createRange'](_0x3fa8dd['createPositionFromPath'](_0x54c31a,_0xa49a3b['start']['path']['slice']()),_0x3fa8dd['createPositionFromPath'](_0x54c31a,_0xa49a3b['end']['path']['slice']())),_0x5c3941=new _0x1a07d4(_0x4c5b29,null,_0xe4686b,_0x3fa8dd['markers'],!0x0,_0x1f3bb1++);_0x2068f2['push'](_0x5c3941);}}if(_0x2e8676)for(const [_0x3d5f8,_0x334d01]of Object['entries'](_0x2e8676)){const _0x1b47ac=_0x3fa8dd['document']['getRoot'](_0x3d5f8);if(!_0x1b47ac)throw new _0x21045a('multi-root-editor-root-attributes-no-root',null);for(const [_0x35b00f,_0x5c5c9a]of Object['entries'](_0x334d01))if(null!==_0x5c5c9a){const _0x93ca9c=new _0x1e2a7e(_0x1b47ac,_0x35b00f,null,_0x5c5c9a,_0x1f3bb1++);_0x2068f2['push'](_0x93ca9c);}}return _0x2068f2;}async['_loadRoot'](_0x1e01e6,_0x47ba29,_0x2e0f24){this['_getOperationsFromInitData']({[_0x1e01e6]:_0x47ba29},{[_0x1e01e6]:_0x2e0f24})['forEach']((_0x25dfb5,_0x3d58e7)=>{_0x25dfb5['baseVersion']=this['_document']['version']+_0x3d58e7,_0x25dfb5['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x25dfb5);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xbcdb6b,_0x4e87a0){let _0x58a007;this['_offset']=_0xbcdb6b['offset'];const _0x29aad1=_0xbcdb6b['wereChangesApplied']&&!_0xbcdb6b['initData'],_0x3981e4=_0x29aad1?0x0:_0xbcdb6b['data']['baseVersion'];if(_0x4e87a0['forEach'](_0x20d9de=>{_0x20d9de['_isInit']=!0x0,_0x20d9de['createdAt']=_0xbcdb6b['sessionCreatedAt'],_0x20d9de['_authorId']=null;}),_0x29aad1)_0x58a007=_0x4e87a0,this['_applyOperationsSet'](_0x58a007,_0x29aad1);else{if(_0xbcdb6b['initData']){const _0x17f763=this['_getOperationsFromInitData'](_0xbcdb6b['initData']);this['_document']['history']['version']=-_0x17f763['length'],_0x17f763['forEach'](_0x32e962=>{_0x32e962['baseVersion']-=_0x17f763['length'],_0x32e962['createdAt']=_0xbcdb6b['sessionCreatedAt'],_0x32e962['_isInit']=!0x0,_0x32e962['_authorId']=null;}),this['_applyOperationsSet'](_0x17f763,!0x0),this['serverHistory']['version']=-_0x17f763['length']+this['_offset'],this['_updateServerHistory'](_0x17f763);}this['_document']['history']['version']=_0x3981e4,_0x58a007=this['_decompressOperations'](_0xbcdb6b['data'],_0xbcdb6b['metadata']),await this['_fetchMissingUsers'](_0x58a007),this['_applyOperationsSet'](_0x58a007,_0x29aad1);}_0xbcdb6b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x58a007,_0xbcdb6b['lastOperationId']),this['_lastSyncedOperationId']=_0xbcdb6b['lastOperationId']),this['serverHistory']['version']=_0x3981e4+this['_offset'],this['_updateServerHistory'](_0x58a007),_0x4e87a0['filter'](_0xaee306=>{const _0x29aab3=this['_getAffectedRoot'](_0xaee306);return _0x29aab3&&!this['_knownRootNames']['has'](_0x29aab3);})['forEach']((_0x74ef7d,_0x57538e)=>{_0x74ef7d['baseVersion']=this['_document']['version']+_0x57538e,this['_saveOperationInBuffer'](_0x74ef7d);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2a42e8,_0x5ad22e){const _0x5f31d=_0x5ad22e&&_0x5ad22e['message'];if(_0x5f31d&&_0x5f31d['startsWith']('realtimecollaborationclient'))throw _0x5ad22e;const _0x44aee7=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x44aee7['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x21045a(_0x2a42e8,this['editor'],_0x5f31d?{'originalError':_0x5f31d}:void 0x0);}['_saveOperationInBuffer'](_0x1e18ee){this['_knownOperations']['has'](_0x1e18ee)||(this['_knownOperations']['add'](_0x1e18ee),this['_bufferedOperations']['push'](_0x1e18ee),this['_pendingAction']||'marker'==_0x1e18ee['type']&&!_0x1e18ee['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x51398f=!0x1){!_0x51398f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x185c65=>{_0x185c65&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x544c5f=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1658c9){return _0x1658c9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1658c9['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1658c9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x544c5f)||this['_crash'](_0x544c5f['message'],_0x544c5f);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x580e4c=>{this['on']('change:_isPendingUpdate',()=>{_0x580e4c();});});}async['_sendBufferedOperations'](){const _0x53c2d7=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x53c2d7['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x106760=[...this['_bufferedOperations']];for(const _0x3539c1 of _0x106760)_0x3539c1['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3539c1);const _0x1f6014=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x106760),_0xf82527=q++,_0x2d7790=this['_compressOperations'](_0x106760),_0x58bbbe=await this['_service']['sendOperations'](_0x2d7790,_0x2d7790['baseVersion'],_0x1f6014);try{return await this['_handleServerResponse'](_0x106760,_0x58bbbe,_0xf82527);}catch(_0x26d39d){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x26d39d);}}async['_handleServerResponse'](_0x277e00,_0x30950b,_0x4b66e7){if('error'in _0x30950b)throw _0x30950b['error'];let _0x1a3695=!0x1;if(_0x30950b['wereChangesApplied']){_0x30950b['lastOperationId']&&(this['_lastSyncedOperationId']=_0x30950b['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x230457=>!_0x277e00['includes'](_0x230457));for(const _0x435117 of _0x277e00)_0x435117['createdAt']='lastOperationAcceptedAt'in _0x30950b&&_0x30950b['lastOperationAcceptedAt']||void 0x0;$(_0x277e00,_0x30950b['version']-_0x277e00['length']),this['_updateServerHistory'](_0x277e00);const _0x374e9e=_0x277e00['filter'](_0x5ebd26=>{if(!_0x5ebd26['_isInit'])return!0x1;const _0x218441=this['_getAffectedRoot'](_0x5ebd26);return _0x218441&&!this['_knownRootNames']['has'](_0x218441);});$(_0x374e9e,this['_document']['version']),this['_applyOperationsSet'](_0x374e9e),_0x1a3695=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xab02d7=this['_decompressOperations'](_0x30950b['data'],_0x30950b['metadata'])['filter'](_0x11fbbe=>_0x11fbbe['baseVersion']>=this['_lastServerVersion']);_0xab02d7['forEach'](_0x39605b=>this['_addKnownRoot'](_0x39605b)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5dd2bf=>!_0x5dd2bf['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5dd2bf))),this['_bufferedOperations']['length']&&$(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xab02d7),_0x1a3695=this['_handleExternalOperations'](_0xab02d7,_0x30950b['version'],_0x30950b['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1a3695?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3bfbf2,_0x1d9ffc,_0x34068a){try{const _0x323459={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2373eb,operationsB:_0x3c4389,originalOperations:_0x554dc0}=_0x5478d1(_0x3bfbf2,this['_bufferedOperations'],_0x323459);$(_0x2373eb,this['_document']['version']),$(_0x3c4389,_0x1d9ffc);for(const _0x36311e of _0x2373eb){const _0x1c13c8=_0x554dc0['get'](_0x36311e);_0x36311e['_authorId']=_0x1c13c8?_0x1c13c8['_authorId']:null;}_0x34068a&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3bfbf2,_0x34068a),this['_lastSyncedOperationId']=_0x34068a),this['_bufferedOperations']=[..._0x3c4389],this['_applyOperationsSet'](_0x2373eb),this['_updateServerHistory'](_0x3bfbf2);}catch(_0x1428de){return console['error'](_0x1428de),!0x1;}return!0x0;}['_applyOperationsSet'](_0x48944f,_0x13ba3a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5683f3=>{for(const _0x4b01c1 of _0x48944f)this['_knownOperations']['add'](_0x4b01c1),this['_addKnownRoot'](_0x4b01c1),_0x5683f3['batch']['addOperation'](_0x4b01c1),this['editor']['model']['applyOperation'](_0x4b01c1);});}['_addKnownRoot'](_0x497aa1){const _0x55b864=this['_getAffectedRoot'](_0x497aa1);_0x55b864&&this['_knownRootNames']['add'](_0x55b864);}['_getAffectedRoot'](_0x178429){let _0x10ca11,_0x46f115;switch(_0x178429['type']){case'insert':_0x10ca11=_0x178429['position']['root'];break;case'marker':if(_0x46f115=_0x178429['newRange'],!_0x46f115)return null;_0x10ca11=_0x46f115['root'];break;case'addRootAttribute':_0x10ca11=_0x178429['root'];break;case'addRoot':_0x10ca11=_0x178429['affectedSelectable'];break;case'move':_0x10ca11=_0x178429['targetPosition']['root'];break;default:return null;}return _0x10ca11['rootName'];}['_updateServerHistory'](_0x505a7f){_0x505a7f['forEach'](_0x4b1d0c=>{const _0x547818=_0x4b1d0c['clone']();_0x547818['_authorId']=_0x4b1d0c['_authorId'],_0x547818['_isInit']=!!_0x4b1d0c['_isInit'],_0x547818['createdAt']=_0x4b1d0c['createdAt'],_0x547818['baseVersion']+=this['_offset'],_0x4b1d0c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x547818),this['serverHistory']['addOperation'](_0x547818);});}['_handleReconnectionError'](_0x41bd99){const _0x3d639f=this['editor']['plugins']['get']('Notification'),_0x3535a9=this['editor']['locale'];_0x41bd99||(_0x41bd99=V(_0x3535a9,'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.')),_0x3d639f['showWarning'](_0x41bd99,{'title':V(_0x3535a9,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3e7a8c)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3e7a8c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4f27c9){const _0x1bf532=_0x4f27c9['map'](_0x13f9fb=>_0x13f9fb['toJSON']());return this['_compressor']['compress'](_0x1bf532);}['_decompressOperations'](_0x47251e,_0x196592){return this['_compressor']['decompress'](_0x47251e)['map']((_0x1b0fd2,_0x552fd6)=>{const _0x108db5='init'==_0x196592[_0x552fd6]['type'];if('InsertOperation'==_0x1b0fd2['__className']){const _0x49b476=_0x1b0fd2['position']['root'];!this['_document']['getRoot'](_0x49b476)&&(this['_document']['createRoot']('$root',_0x49b476)['_isAttached']=!0x1);}const _0xcb734f=_0x2f2c38['fromJSON'](_0x1b0fd2,this['_document']);return _0xcb734f['wasUndone']=_0x1b0fd2['wasUndone'],_0xcb734f['_isInit']=_0x108db5,_0xcb734f['_authorId']=_0x108db5?null:_0x196592[_0x552fd6]['userId'],_0xcb734f['_isDisconnection']='cs:removeUser'===_0x196592[_0x552fd6]['type'],_0xcb734f['createdAt']=_0x196592[_0x552fd6]['createdAt'],_0xcb734f;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4a0e5b=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4a0e5b&&_0x4a0e5b['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class G extends Error{}function $(_0x12ae83,_0x57637d){for(const _0xd58284 of _0x12ae83)_0xd58284['baseVersion']=_0x57637d++;}class K{['_ignoredOperations'];['_operationToId'];constructor(_0x491cd8){this['_ignoredOperations']=_0x491cd8,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xfab486){let _0x17fd9a=_0xfab486['length'];for(;_0x17fd9a--;){const _0x59119d=_0xfab486[_0x17fd9a];if(!this['_ignoredOperations']['has'](_0x59119d)){if(!this['_operationToId']['has'](_0x59119d)){const _0x271040=_0xda88c4()['slice'](0x1,0x12);this['_operationToId']['set'](_0x59119d,_0x271040);}return this['_operationToId']['get'](_0x59119d);}}}['setIdForTheLastOperation'](_0x54442f,_0x52ce8a){if(!_0x52ce8a)return;let _0x3c9000=_0x54442f['length'];for(;_0x3c9000--;){const _0xd80466=_0x54442f[_0x3c9000];this['_ignoredOperations']['has'](_0xd80466)||this['_operationToId']['set'](_0xd80466,_0x52ce8a);}}}class a extends _0x20bbef{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x310930{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>ot)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0xcebe00];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x48d91e){super(_0x48d91e),this['_services']=new Map();}async['init'](){const _0x4a30fc=this['context'],_0x4eb16f=_0x4a30fc['plugins']['get']('CommentsRepository');if(_0x4a30fc['plugins']['get'](n)['addToReconnectionStack'](this),_0x4eb16f['adapter']={'addCommentThread':async({channelId:_0xef143a,threadId:_0x1767f7,comments:_0xb12337,resolvedAt:_0x1a3310,resolvedBy:_0x1902f0,context:_0x36c194,attributes:_0x1caeb7})=>{const _0x194f7a=await this['_getService'](_0xef143a)['addCommentThread']({'commentThreadId':_0x1767f7,'comments':_0xb12337['map'](_0x4320bc=>function(_0x4675ef,_0x5d3e1c,_0x1f3ed2){return{'commentThreadId':_0x1f3ed2,'commentId':_0x4675ef['commentId'],'userId':_0x4675ef['authorId'],'content':_0x4675ef['content'],'documentId':_0x5d3e1c,'createdAt':_0x4675ef['createdAt'],'attributes':_0x4675ef['attributes']||{}};}(_0x4320bc,_0xef143a,_0x1767f7)),'resolvedAt':_0x1a3310,'resolvedBy':_0x1902f0,'context':_0x36c194,'attributes':_0x1caeb7})['catch'](ft);return{'threadId':_0x194f7a['commentThreadId'],'comments':_0x194f7a['comments']};},'getCommentThread':async({channelId:_0x402daf,threadId:_0x3eb6b1})=>{const _0x3373f5=await this['_getService'](_0x402daf)['getCommentThread'](_0x3eb6b1)['catch'](ft);return _0x3373f5['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3373f5]),{'threadId':_0x3373f5['commentThreadId'],'comments':_0x3373f5['comments']['map'](st),'context':_0x3373f5['context'],'resolvedAt':_0x3373f5['resolvedAt'],'resolvedBy':_0x3373f5['resolvedBy'],'attributes':_0x3373f5['attributes']||{}});},'updateCommentThread':async({channelId:_0x489fef,threadId:_0x3c6991,context:_0x300a92,unlinkedAt:_0x335051,attributes:_0x191b6d})=>this['_getService'](_0x489fef)['updateCommentThread']({'commentThreadId':_0x3c6991,'context':_0x300a92,'attributes':_0x191b6d,'unlinkedAt':_0x335051})['catch'](nt)['catch'](ft),'resolveCommentThread':async({channelId:_0x6d5f4b,threadId:_0x5b6ab7})=>{const _0x54357f=await this['_getService'](_0x6d5f4b)['resolveCommentThread'](_0x5b6ab7)['catch'](nt)['catch'](ft);return{'threadId':_0x54357f['commentThreadId'],'resolvedAt':_0x54357f['resolvedAt'],'resolvedBy':_0x54357f['resolvedBy']};},'reopenCommentThread':async({channelId:_0x249f22,threadId:_0x10fd74})=>this['_getService'](_0x249f22)['reopenCommentThread'](_0x10fd74)['catch'](nt)['catch'](ft),'removeCommentThread':({channelId:_0x410d0f,threadId:_0x243ec9})=>this['_getService'](_0x410d0f)['removeCommentThread'](_0x243ec9)['catch'](nt)['catch'](ft),'addComment':({channelId:_0x1317c6,threadId:_0x38263a,commentId:_0x4f4fca,content:_0x51c7b3,attributes:_0xbd8dc})=>this['_getService'](_0x1317c6)['addComment'](_0x38263a,_0x4f4fca,_0x51c7b3,_0xbd8dc)['catch'](ft),'updateComment':({channelId:_0x3aa441,threadId:_0x13d8b5,commentId:_0x3c4491,content:_0x49f3b6,attributes:_0x182979})=>this['_getService'](_0x3aa441)['updateComment'](_0x13d8b5,_0x3c4491,_0x49f3b6,_0x182979)['catch'](nt)['catch'](ft),'removeComment':({channelId:_0x56eae9,threadId:_0x334829,commentId:_0x49107c})=>this['_getService'](_0x56eae9)['removeComment'](_0x334829,_0x49107c)['catch'](nt)['catch'](ft)},_0x4a30fc instanceof et){const _0x3176be=_0x4a30fc['config']['get']('collaboration.channelId'),_0x2a05d3=_0x4a30fc['plugins']['get'](i);await this['_setUpService'](_0x3176be);const _0x4214cb=await this['_services']['get'](_0x3176be)['getConnectedSessions']();this['listenTo'](_0x2a05d3,'sessionAdd:'+_0x3176be,(_0x10d013,{session:_0x19cce5})=>{_0x19cce5['id']===_0x2a05d3['mySessionId']&&(_0x10d013['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x19cce5['permissions'],_0x3176be));}),_0x2a05d3['register'](_0x3176be,_0x4214cb);}}async['_setUpService'](_0x5219e7){if(this['_services']['has'](_0x5219e7))throw new _0x21045a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5219e7});const _0x4bf20f=this['context']['plugins']['get']('CommentsRepository'),_0x3e75db=new s['CommentsService'](_0x5219e7);this['_services']['set'](_0x5219e7,_0x3e75db),this['listenTo'](_0x3e75db,'commentThreadAdded',(_0x3c09e4,_0x21c1af)=>{const {commentThreadId:_0x3effe3,documentId:_0x457e7c,context:_0x180de2,attributes:_0x1d4972,resolvedAt:_0x4b4830,resolvedBy:_0x5ece6d,comments:_0x42c2a0}=_0x21c1af;_0x4bf20f['getCommentThread'](_0x3effe3)||_0x4bf20f['addCommentThread']({'threadId':_0x3effe3,'channelId':_0x457e7c,'comments':_0x42c2a0?_0x42c2a0['map'](st):[],'context':_0x180de2,'attributes':_0x1d4972,'resolvedAt':_0x4b4830,'resolvedBy':_0x5ece6d,'isFromAdapter':!0x0});}),this['listenTo'](_0x3e75db,'commentThreadUpdated',(_0x821010,{commentThreadId:_0x54ef3c,documentId:_0x12c864,context:_0x59ba31,unlinkedAt:_0x26f22c,attributes:_0x270ac7})=>{_0x4bf20f['getCommentThread'](_0x54ef3c)&&_0x4bf20f['updateCommentThread']({'threadId':_0x54ef3c,'channelId':_0x12c864,'context':_0x59ba31,'unlinkedAt':_0x26f22c,'attributes':_0x270ac7,'isFromAdapter':!0x0});}),this['listenTo'](_0x3e75db,'commentThreadResolved',(_0x35fa81,{commentThreadId:_0x51a20f,resolvedBy:_0x1542e4,resolvedAt:_0x410ab4})=>{const _0x151a2d=_0x4bf20f['getCommentThread'](_0x51a20f);_0x151a2d&&_0x151a2d['resolve']({'resolvedBy':_0x1542e4,'resolvedAt':_0x410ab4,'isFromAdapter':!0x0});}),this['listenTo'](_0x3e75db,'commentThreadReopened',(_0x159352,{commentThreadId:_0x295ae3})=>{const _0x2533ba=_0x4bf20f['getCommentThread'](_0x295ae3);_0x2533ba&&_0x2533ba['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3e75db,'commentThreadRemoved',(_0x41e923,{commentThreadId:_0x2e8a52})=>{const _0x24addb=_0x4bf20f['getCommentThread'](_0x2e8a52);_0x24addb&&_0x24addb['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3e75db,'commentAdded',(_0x2dae83,_0x468800)=>{const _0x2203ab=_0x468800['commentThreadId'],_0x1116cb=_0x4bf20f['getCommentThread'](_0x2203ab);_0x1116cb&&_0x1116cb['addComment']({...st(_0x468800),'isFromAdapter':!0x0});}),this['listenTo'](_0x3e75db,'commentUpdated',(_0x22cc01,{commentThreadId:_0x3d9388,commentId:_0x3871d3,content:_0x300fb7,attributes:_0x3b5635})=>{const _0x5844ed=_0x4bf20f['getCommentThread'](_0x3d9388);if(_0x5844ed){const _0x10a7d7=_0x5844ed['getComment'](_0x3871d3);_0x10a7d7&&_0x10a7d7['update']({'content':_0x300fb7,'attributes':_0x3b5635,'isFromAdapter':!0x0});}}),this['listenTo'](_0x3e75db,'commentRemoved',(_0x374271,{commentThreadId:_0x24e045,commentId:_0x1ca647})=>{const _0x1de7ba=_0x4bf20f['getCommentThread'](_0x24e045);if(_0x1de7ba){const _0x9bc6c4=_0x1de7ba['getComment'](_0x1ca647);_0x9bc6c4&&_0x9bc6c4['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5219e7);}['destroy'](){if(this['context']instanceof et){const _0x1e7e96=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1e7e96);}}['_terminateService'](_0x1ee88f){if(!this['_services']['has'](_0x1ee88f))throw new _0x21045a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1ee88f});this['_getService'](_0x1ee88f)['disconnect'](),this['_services']['delete'](_0x1ee88f);}async['reconnect'](){for(const _0xe58559 of this['_services']['keys']())await this['_connectService'](_0xe58559);if(this['context']instanceof et){const _0x389a22=this['context']['config']['get']('collaboration.channelId'),_0x44e8b2=this['context']['plugins']['get'](i);_0x44e8b2['unregister'](_0x389a22);const _0x58e9cd=await this['_services']['get'](_0x389a22)['getConnectedSessions']();_0x44e8b2['register'](_0x389a22,_0x58e9cd);}}async['_connectService'](_0x2bb9a4){const {connection:_0x3e31df}=this['context']['plugins']['get'](n),_0x4d4f50=this['context']['plugins']['get']('CommentsRepository'),_0xf675ab=this['_services']['get'](_0x2bb9a4),_0x5dbfff=await _0xf675ab['connect'](_0x3e31df);await this['_fetchMissingUsersForThreads'](_0x5dbfff);const _0x263944=new Set(Array['from'](_0x4d4f50['getCommentThreads']({'channelId':_0x2bb9a4}),_0x263c27=>_0x263c27['id']));for(const _0x2b22d8 of _0x5dbfff)_0x2b22d8['deletedAt']||_0x263944['delete'](_0x2b22d8['commentThreadId']);for(const _0x5378d6 of _0x263944)_0x4d4f50['getCommentThread'](_0x5378d6)['remove']({'isFromAdapter':!0x0});for(const _0x3bf5b1 of _0x5dbfff){let _0xa11452=_0x4d4f50['getCommentThread'](_0x3bf5b1['commentThreadId']);const {commentThreadId:_0x4ed280,context:_0x28054d,attributes:_0x41385a,resolvedBy:_0x19bb57,resolvedAt:_0xdc80,unlinkedAt:_0x3ce13b,deletedAt:_0x454e03}=_0x3bf5b1;if(_0x454e03)continue;_0xa11452||(_0xa11452=_0x4d4f50['addCommentThread']({'channelId':_0x2bb9a4,'threadId':_0x4ed280,'context':_0x28054d,'attributes':_0x41385a||{},'resolvedBy':_0x19bb57,'resolvedAt':_0xdc80,'unlinkedAt':_0x3ce13b,'isFromAdapter':!0x0}));const _0x5c0820=new Set(Array['from'](_0xa11452['comments'],_0x35f443=>_0x35f443['id']));for(const _0x23b8aa of _0x3bf5b1['comments'])_0x5c0820['delete'](_0x23b8aa['commentId']);for(const _0x1f38a2 of _0x5c0820)_0xa11452['getComment'](_0x1f38a2)['remove']({'isFromAdapter':!0x0});for(const _0x3577a7 of _0x3bf5b1['comments']){const _0x3d0848=_0xa11452['getComment'](_0x3577a7['commentId']);_0x3d0848?_0x3d0848['content']!==_0x3577a7['content']&&_0x3d0848['update']({'content':_0x3577a7['content'],'isFromAdapter':!0x0}):_0xa11452['addComment'](Object['assign'](st(_0x3577a7),{'isFromAdapter':!0x0}));}}}['_getService'](_0x393142){if(!this['_services']['has'](_0x393142))throw new _0x21045a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x393142});return this['_services']['get'](_0x393142);}async['_fetchMissingUsersForThreads'](_0x58707b){const _0x5dd169=this['context']['plugins']['get'](_0xcebe00),{connection:_0x2c0026}=this['context']['plugins']['get'](n),_0xe24e46=new Set();for(const {resolvedBy:_0x5706db,comments:_0x3b1361}of _0x58707b){_0x5706db&&!_0x5dd169['getUser'](_0x5706db)&&_0xe24e46['add'](_0x5706db);for(const {userId:_0x8ffc06}of _0x3b1361)_0x5dd169['getUser'](_0x8ffc06)||_0xe24e46['add'](_0x8ffc06);}if(0x0===_0xe24e46['size'])return;const _0x27e024=await ut['getMany'](_0x2c0026,Array['from'](_0xe24e46));for(const _0xf734d7 of _0x27e024)_0x5dd169['getUser'](_0xf734d7['id'])||_0x5dd169['addUser'](_0xf734d7);}}async function nt(_0x27c722){if('404'!==_0x27c722['code'])throw _0x27c722;}function ft(_0x5735ad){if((_0x171cb8=_0x5735ad)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x171cb8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x171cb8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x171cb8;throw _0x5735ad;}function st(_0x592f21){return{'threadId':_0x592f21['commentThreadId'],'commentId':_0x592f21['commentId'],'content':_0x592f21['content'],'createdAt':_0x592f21['createdAt'],'authorId':_0x592f21['userId'],'attributes':_0x592f21['attributes']||{}};}class m extends _0x20bbef{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe5aa34){super(_0xe5aa34);const _0x4ef187=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x4ef187);}['init'](){const _0x34f968=this['editor']['plugins']['get'](n),_0x329e16=this['editor']['plugins']['get']('TrackChangesEditing');return _0x329e16['adapter']={'getSuggestion':async _0x2aaa50=>{await this['_waitForServiceReady']();const _0x145586=await this['_trackChangesService']['get'](_0x2aaa50)['catch'](it);return await this['_fetchMissingUsersForThreads']([_0x145586]),_0x145586;},'addSuggestion':async({id:_0x594e02,type:_0x4ad47f,data:_0x40e99e,originalSuggestionId:_0x3f0bba,attributes:_0xe85dd1})=>{await this['_waitForServiceReady']();const _0x5224a0={'id':_0x594e02,'type':_0x4ad47f,'data':_0x40e99e,'originalSuggestionId':_0x3f0bba,'attributes':_0xe85dd1},_0x54d0c4=await this['_trackChangesService']['add'](_0x594e02,_0x4ad47f,_0x40e99e,_0x3f0bba,_0xe85dd1)['catch'](_0x2d438f=>{if(mt(_0x2d438f))return new Promise(_0x1f774c=>{this['_bufferedRequests']['set'](_0x594e02,{'resolve':_0x1f774c,'suggestionData':_0x5224a0});});throw _0x2d438f;});return this['_bufferedRequests']['delete'](_0x594e02),_0x54d0c4;},'updateSuggestion':async(_0x359755,_0x2f48a9)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2f48a9['state'])return this['_trackChangesService']['update'](_0x359755,_0x2f48a9)['catch'](it);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x46074d,_0x457906)=>{_0x329e16['hasSuggestion'](_0x457906['id'])&&(_0x329e16['getSuggestion'](_0x457906['id'])['attributes']=_0x457906['attributes']);}),this['_trackChangesService']['connect'](_0x34f968['connection'])['then'](_0x244661=>(_0x34f968['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x244661)['then'](()=>{for(const _0x22c07c of _0x244661){_0x329e16['addSuggestionData'](_0x22c07c)['_saved']=!0x0;}})));}async['reconnect'](){const _0x558805=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x39e690}=this['editor']['plugins']['get'](n),_0x91bfb1=await this['_trackChangesService']['connect'](_0x39e690);await this['_fetchMissingUsersForThreads'](_0x91bfb1);for(const {suggestionData:_0x23fc96,resolve:_0x5a2226}of this['_bufferedRequests']['values']()){let _0x4fbde5=_0x91bfb1['find'](_0x3e390b=>_0x3e390b['id']===_0x23fc96['id']);_0x4fbde5||(_0x4fbde5=await this['_trackChangesService']['add'](_0x23fc96['id'],_0x23fc96['type'],_0x23fc96['data'],_0x23fc96['originalSuggestionId'])),_0x5a2226(_0x4fbde5);}for(const _0x492937 of _0x91bfb1)_0x558805['hasSuggestion'](_0x492937['id'])||_0x558805['addSuggestionData'](_0x492937);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x311543=>{this['listenTo'](this['_trackChangesService'],'connected',_0xfffe=>{_0xfffe['off'](),_0x311543();});});}async['_fetchMissingUsersForThreads'](_0x305092){const _0x19e1ee=this['editor']['plugins']['get'](_0xcebe00),{connection:_0x55f490}=this['editor']['plugins']['get'](n),_0xd9264d=new Set();for(const {authorId:_0x1ba3c3}of _0x305092)_0x19e1ee['getUser'](_0x1ba3c3)||_0xd9264d['add'](_0x1ba3c3);if(0x0===_0xd9264d['size'])return;const _0x1097df=await ut['getMany'](_0x55f490,Array['from'](_0xd9264d));for(const _0x463cfd of _0x1097df)_0x19e1ee['getUser'](_0x463cfd['id'])||_0x19e1ee['addUser'](_0x463cfd);}}function it(_0x3f7a8e){if(mt(_0x3f7a8e))return new Promise(()=>{});throw _0x3f7a8e;}function mt(_0xbeac2a){return _0xbeac2a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xbeac2a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x20bbef{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x6b3e9=this['editor']['plugins']['get'](n),_0x512710=this['editor']['plugins']['get']('CommentsEditing'),_0xf4d568=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x6b3e9,'change:state',(_0x39533c,_0x36183d,_0x2d6235)=>{_0x512710['isThreadsLoadingPaused']='connected'!==_0x2d6235;});}),this['listenTo'](_0x6b3e9,'change:state',(_0x91c732,_0x238aaf,_0x257bc2)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x257bc2);}),_0xf4d568['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x20bbef{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x20bbef{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x273624)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0xcebe00];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x596485){super(_0x596485);const _0x43b2c3=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x43b2c3);}async['init'](){const _0x5eca58=this['editor']['plugins']['get'](l),_0x3f4b6c=_0x5eca58['serverHistory'],_0x448bd5=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3f4b6c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5eca58['sessionId']});const _0x27013a=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x5f4d58=await _0x1fc74e['isBundleUploaded'](_0x448bd5['connection'],_0x27013a);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x27037b})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x27037b)),'updateRevisions':async _0x259227=>{await this['_waitForServiceReady']();const _0x3bd704=this['_revisionTracker']['currentRevision'];if(_0x5f4d58&&0x1===_0x259227['length']&&_0x259227[0x0]['id']===_0x3bd704['id'])return _0x259227;for(const _0x7b03d5 of _0x259227)_0x7b03d5['id']===_0x3bd704['id']&&(_0x7b03d5['isEmptyCurrent']=_0x7b03d5['fromVersion']===_0x7b03d5['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x259227,this['_lastRequestId'])['then'](_0x13c3e5=>(this['_lastRequestId']=_0x13c3e5,_0x259227))['catch'](_0x236325=>{if(P(_0x236325)||'400'===_0x236325['code']&&void 0x0!==_0x236325['data']['wrongRequestId']){for(const _0x40c756 of _0x259227){!this['_revisionTracker']['repository']['getRevision'](_0x40c756['id'])||this['_revisionTracker']['_bufferUpdate'](_0x40c756['id'],_0x40c756,!0x1);}if(P(_0x236325))throw _0x236325;return _0x259227;}throw _0x236325;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1e3918,{revisionsData:_0x43d282,requestId:_0x57cdba})=>{Math['max'](..._0x43d282['map'](_0x500b2d=>_0x500b2d['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x43d282,_0x57cdba);}):this['_handleRevisionsUpdate'](_0x43d282,_0x57cdba);});const {revisions:_0x5bcb76,requestId:_0x51665f}=await this['_revisionHistoryService']['connect'](_0x448bd5['connection']);_0x448bd5['addToReconnectionStack'](this),this['_lastRequestId']=_0x51665f,await this['_fetchMissingUsers'](_0x5bcb76);for(const _0x39582c of _0x5bcb76)this['_revisionTracker']['addRevisionData'](_0x39582c);this['listenTo'](_0x5eca58,'change:_isConnected',(_0x1bba96,_0x133e5c,_0x3d9ca2)=>{_0x3d9ca2&&(this['_oldOffset']=_0x5eca58['_offset'],_0x1bba96['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x448bd5,'state',_0x2cc6b5=>_0x2cc6b5===_0x293cb5['CONNECTED']);}async['reconnect'](){const _0x33f530=this['editor']['plugins']['get'](n),_0x295948=this['editor']['plugins']['get'](l),_0x3958b4=async()=>{const _0x43c322=this['_revisionTracker']['currentRevision'],_0x539284=_0x43c322['id'],_0x453040=_0x539284!==_0x295948['sessionId'];if(_0x453040){const _0x51fce7=_0x295948['_offset']-this['_oldOffset'],_0x133a0b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x43c322['toVersion']+_0x51fce7!==_0x133a0b){const _0x26eafa=_0x43c322['fromVersion']+_0x51fce7,_0x404e7a=this['editor']['plugins']['get'](_0xcebe00),_0x412900=this['_revisionTracker']['buildRevisionData']({'revision':_0x43c322,'from':_0x26eafa,'to':_0x133a0b});_0x412900['id']=_0x43c322['id'];const _0x3ba079=_0x412900['authorsIds']['map'](_0x11e351=>_0x404e7a['getUser'](_0x11e351));_0x43c322['_update']({..._0x412900,'authors':_0x3ba079},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x43c322['id'],_0x412900,!0x0);}this['_revisionTracker']['_startingVersion']=_0x133a0b,(_0x43c322['toVersion']===_0x43c322['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x539284)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x539284),this['_revisionTracker']['_createCurrentRevision'](_0x133a0b));}const {revisions:_0x38e3fa,requestId:_0x4979c0}=await this['_revisionHistoryService']['reconnect'](_0x33f530['connection'],this['_lastRequestId']);_0x453040&&_0x38e3fa['length']>0x0?_0x295948['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x38e3fa),this['_handleRevisionsUpdate'](_0x38e3fa,_0x4979c0),this['_revisionTracker']['sendBufferedUpdates']());};return _0x295948['_isConnected']?_0x3958b4():new Promise((_0x55f857,_0x1f1cf7)=>{_0x295948['once']('change:_isConnected',()=>{_0x3958b4()['then'](_0x55f857)['catch'](_0x1f1cf7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3d4c12=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x47ffdf=>{_0x47ffdf['off'](),_0x3d4c12();});});}['_getLatestVersionFromServerOperations'](){const _0x23455e=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x34d53e of _0x23455e)if('marker'!==_0x34d53e['type']||_0x34d53e['affectsData'])return _0x34d53e['baseVersion']+0x1;}['_getLatestVersion'](){const _0x59cd3a=this['editor']['plugins']['get'](l);return new Promise(_0xeb3b6e=>{_0x59cd3a['_isPendingUpdate']?_0x59cd3a['once']('change:_isPendingUpdate',()=>{_0xeb3b6e(this['_getLatestVersionFromServerOperations']());}):_0xeb3b6e(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x36c1ed,_0x31cbae){const _0x67ec4=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x31cbae;for(const _0x3a2a7c of _0x36c1ed){const _0x42a022=_0x67ec4['getRevision'](_0x3a2a7c['id']);if(_0x42a022){if((_0x3a2a7c['fromVersion']||_0x3a2a7c['toVersion'])&&(_0x3a2a7c['diffData']=null),_0x42a022===this['_revisionTracker']['currentRevision']){const _0x4a0f6f=Math['max'](_0x42a022['toVersion'],_0x3a2a7c['toVersion']),_0x4cf886=Math['max'](_0x42a022['fromVersion'],_0x3a2a7c['fromVersion']);let _0x4d9682;_0x42a022['toVersion']===_0x3a2a7c['toVersion']&&_0x42a022['fromVersion']===_0x3a2a7c['fromVersion']?(_0x4d9682=!0x0,this['_preventResendingRevisionData'](_0x3a2a7c)):_0x3a2a7c['toVersion']===_0x4a0f6f&&_0x3a2a7c['fromVersion']===_0x4cf886?_0x4d9682=!0x1:(_0x42a022['toVersion']===_0x4a0f6f&&_0x42a022['fromVersion']===_0x4cf886||this['_fixRevision']({'revision':_0x42a022,'from':_0x4cf886,'to':_0x4a0f6f}),_0x4d9682=!0x0),_0x4d9682&&(delete _0x3a2a7c['fromVersion'],delete _0x3a2a7c['toVersion'],delete _0x3a2a7c['diffData'],delete _0x3a2a7c['createdAt'],delete _0x3a2a7c['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3a2a7c),this['_preventResendingRevisionData'](_0x3a2a7c);}else this['_revisionTracker']['addRevisionData'](_0x3a2a7c);}const _0x592758=_0x67ec4['getRevisions']();_0x592758['reverse']();for(let _0x4d75fd=0x0;_0x4d75fd<_0x592758['length']-0x1;_0x4d75fd++){const _0xf7ad83=_0x592758[_0x4d75fd],_0x595e94=_0x592758[_0x4d75fd+0x1];if(_0xf7ad83['fromVersion']<_0x595e94['toVersion']){const _0x229a70=_0x595e94['toVersion'],_0x103591=Math['max'](_0x229a70,_0xf7ad83['toVersion']);this['_fixRevision']({'revision':_0xf7ad83,'from':_0x229a70,'to':_0x103591});}}}['_fixRevision']({revision:_0x304437,from:_0xe21177,to:_0x41c8d3}={}){const _0x3ade9d=this['editor']['plugins']['get'](_0xcebe00),_0x30320a=this['_revisionTracker']['buildRevisionData']({'revision':_0x304437,'from':_0xe21177,'to':_0x41c8d3});_0x30320a['authors']=_0x30320a['authorsIds']['map'](_0x210811=>_0x3ade9d['getUser'](_0x210811)),_0x304437['_update'](_0x30320a);}['_preventResendingRevisionData'](_0x228279){const _0x30c654={};_0x30c654['id']=_0x228279['id'];for(const _0x5d1259 of Object['keys'](_0x228279))'id'!==_0x5d1259&&(_0x30c654[_0x5d1259]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x30c654['id'],_0x30c654,!0x0);}async['_fetchMissingUsers'](_0x1cd617){const _0x4d1248=this['editor']['plugins']['get'](_0xcebe00),{connection:_0x1afc76}=this['editor']['plugins']['get'](n),_0x494dfa=new Set();for(const _0xaa46e7 of _0x1cd617){for(const _0x807273 of _0xaa46e7['authorsIds'])_0x4d4b61(_0x807273);_0xaa46e7['creatorId']&&_0x4d4b61(_0xaa46e7['creatorId']);}if(0x0===_0x494dfa['size'])return;const _0x4fa379=await ut['getMany'](_0x1afc76,Array['from'](_0x494dfa));for(const _0x49ced0 of _0x4fa379)_0x4d1248['getUser'](_0x49ced0['id'])||_0x4d1248['addUser'](_0x49ced0);function _0x4d4b61(_0x5c4299){_0x4d1248['getUser'](_0x5c4299)||_0x494dfa['add'](_0x5c4299);}}}function P(_0x5a8ac7){return _0x5a8ac7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5a8ac7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5a8ac7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x20bbef{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x5c72d1{['_collapseAt'];constructor(_0x147af5,_0x3c8eb6=0x6){super(_0x147af5);const _0xd5665d=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3c8eb6,this['bind']('isHidden')['to'](this,'usersCount',_0x152fff=>_0x152fff<_0x3c8eb6),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xd5665d['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0xd5665d['to']('usersCount',_0x1e2b11=>'+'+(_0x1e2b11-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x5c72d1{['items'];['keystrokes'];constructor(_0x3b77df){super(_0x3b77df);const _0x49ec19=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x46a387(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x49ec19['if']('hasPopup'),'aria-expanded':_0x49ec19['to']('isExpanded',_0x3cf94f=>this['hasPopup']&&String(_0x3cf94f)),'aria-label':_0x49ec19['to']('hasPopup',_0x1f3426=>V(_0x3b77df,_0x1f3426?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x49ec19['to']('hasPopup',_0x5505c3=>!!_0x5505c3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x49ec19['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x49ec19['to'](_0x2504c9=>{const _0x5b81e0=_0x2504c9,_0x137e24=document['querySelector']('.ck-presence-list__dropdown-list'),_0x542641=document['querySelector']('.ck-balloon-panel_with-arrow');_0x137e24?.['contains'](_0x5b81e0['relatedTarget'])||_0x542641?.['contains'](_0x5b81e0['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x12c01e,_0x1c7511,_0x46d18e)=>{this['element']&&(_0x46d18e?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x5c72d1{['counterView'];['inlineListView'];constructor(_0x42aa5d,_0x2f57d7=0x6){super(_0x42aa5d);const _0x266639=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x2f57d7),this['inlineListView']=new is(_0x42aa5d),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3607f9 of this['inlineListView']['items'])_0x3607f9['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',_0x266639['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x5c72d1{['listWrapperView'];constructor(_0x4ed5bc,_0x20ad9a){super(_0x4ed5bc);const _0x5e33c1=this['bindTemplate'];this['listWrapperView']=new wt(_0x4ed5bc,_0x20ad9a),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x4ed5bc,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5e33c1['to'](_0x449355=>{const _0x44010f=_0x449355,_0x34af6c=document['querySelector']('.ck-presence-list__list'),_0xe80c4f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x34af6c?.['contains'](_0x44010f['relatedTarget'])||_0xe80c4f?.['contains'](_0x44010f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x215c68{constructor(_0x2194bd,_0x18eac7){super(_0x2194bd);const _0x4a65ac=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x18eac7?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4a65ac['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4a65ac['to']('role'),'aria-label':_0x4a65ac['to']('ariaLabel'),'aria-labelledby':_0x4a65ac['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x46ec17['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x10032a=this['element'];_0x10032a&&(this['_isScrollable']=Math['max'](_0x10032a['scrollHeight'],_0x10032a['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x100547,_0x4e01e7,_0x5ca32b){super(_0x100547);const _0x2cc610=this['bindTemplate'];this['userView']=new ct(_0x100547,_0x4e01e7);const _0x490814={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4e01e7['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4e01e7['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4e01e7['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5ca32b&&(_0x490814['tag']='button',_0x490814['on']={'click':_0x2cc610['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x490814);}['focus'](){this['element']['focus']();}}class A extends _0x5c72d1{['userView'];['markerView'];constructor(_0x730347,_0x55a493,_0x28b336){super(_0x730347);const _0x18f53f=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x730347,_0x55a493),this['markerView']=new lt(_0x730347,_0x55a493);const _0x55fe88=new at(_0x730347);_0x55fe88['template']['tag']='span',_0x55fe88['text']=_0x55a493['name'];const _0x11c6d8={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x18f53f['to']('isFocusable',_0x50fb17=>!!_0x50fb17&&0x0),'aria-labelledby':_0x55fe88['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x18f53f['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x18f53f['to']('hasTooltip',_0x8bd939=>!_0x8bd939),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x55fe88]};_0x28b336&&(_0x11c6d8['tag']='button',_0x11c6d8['on']={'click':_0x18f53f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x11c6d8);}}class lt extends _0x5c72d1{constructor(_0x2889e7,_0x377778){super(_0x2889e7),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x377778['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x310930{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x690945){super(_0x690945),this['context']['config']['define']('presenceList',x);const _0x727d47=_0x690945['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x727d47)throw new _0x21045a('presencelist-collapseat-invalid-format',this);if(_0x727d47<0x1)throw new _0x21045a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4b7163(),this['balloonPanelView']=new _0x240326(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x506463 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x506463);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5722ea,_0xb11c39)=>{this['_handleUserAdd'](_0xb11c39);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5160be,_0x2302f1)=>{this['_handleUserRemove'](_0x2302f1);});}['_createView'](){const _0x11eb51=this['context'],_0x49c0c5=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x57d0c1=this['balloonPanelView'];if(!_0x5bed0f(_0x11eb51['config']['get']('presenceList.container')))throw new _0x21045a('presencelist-missing-container',this);return _0x49c0c5['counterView']['bind']('usersCount')['to'](this),_0x49c0c5['bind']('isCollapsed')['to'](this,'usersCount',_0x713ce6=>{const {collapseAt:_0x3a838b}=_0x11eb51['config']['get']('presenceList'),_0x312a62=_0x713ce6>=_0x3a838b;if(_0x312a62&&!_0x49c0c5['inlineListView']['items']['find'](_0x510a4c=>_0x510a4c instanceof b)){const _0x9ff92b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x9ff92b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x49c0c5['inlineListView']['items']['add'](_0x49c0c5['counterView']);}return _0x312a62||this['hideDropdown'](),_0x312a62;}),_0x49c0c5['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1b5839=>{const _0x4988fa=_0x11eb51['config']['get']('presenceList'),_0x56c4ba=new A(_0x11eb51['locale'],_0x1b5839,!!_0x4988fa['onClick']);return _0x56c4ba['bind']('hasTooltip')['to'](_0x49c0c5,'isCollapsed',_0x4beb8c=>!_0x4beb8c),_0x56c4ba['bind']('isFocusable')['to'](_0x49c0c5,'isCollapsed',_0x21eb71=>!_0x21eb71),_0x4988fa['onClick']&&this['listenTo'](_0x56c4ba,'execute',()=>{this['view']['isCollapsed']||_0x4988fa['onClick'](_0x1b5839,_0x56c4ba['element']);}),_0x56c4ba;}),this['listenTo'](_0x49c0c5['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x49c0c5['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x49c0c5['inlineListView']['keystrokes']['set']('Enter',(_0x19387e,_0x369849)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x369849());}),_0x49c0c5['render'](),_0x57d0c1['render'](),_0x210d43({'emitter':_0x49c0c5,'activator':()=>_0x57d0c1['isVisible'],'contextElements':[_0x57d0c1['element'],_0x49c0c5['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x11eb51['config']['get']('presenceList.container')['appendChild'](_0x49c0c5['element']),this['_bodyCollection']=new _0x4e4cc(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x49c0c5;}['_handleUserAdd'](_0x474c6e){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x474c6e['isMe'])return;const _0x4d3197=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4d3197-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x403ec9=_0x474c6e['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x474c6e,_0x403ec9);}['_handleUserRemove'](_0x441bdb){this['usersCount']--;const {collapseAt:_0x2ba522}=this['context']['config']['get']('presenceList'),_0x4d7c52=this['usersCount']>=_0x2ba522;if(this['currentDisplayedUsers']['get'](_0x441bdb['id']))this['currentDisplayedUsers']['remove'](_0x441bdb['id']);else{if(_0x4d7c52&&this['currentDisplayedUsers']['length']+0x1===_0x2ba522-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4d7c52?0x1:0x0)<this['usersCount']){for(const _0xca6b67 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xca6b67['id'])&&(this['currentDisplayedUsers']['add'](_0xca6b67,Math['min'](this['currentDisplayedUsers']['length']-(_0x4d7c52?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4d7c52?0x1:0x0)===_0x2ba522-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4b170d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x4b170d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x319bdb}=this['presenceDropdownView'];_0x319bdb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x43bb5d=>{if(!_0x4b170d['displayMe']&&_0x43bb5d['isMe'])return null;const _0x3c7a44=new j(this['context']['locale'],_0x43bb5d,!!_0x4b170d['onClick']);return _0x4b170d['onClick']&&this['listenTo'](_0x3c7a44,'execute',()=>{_0x4b170d['onClick'](_0x43bb5d,_0x3c7a44['element']);}),_0x3c7a44;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x319bdb['focus'](),_0x319bdb['checkIfScrollable']();const _0x2e8029=(_0x8ce19d,_0x3d1d50)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3d1d50();};_0x319bdb['keystrokes']['set']('Esc',_0x2e8029),_0x319bdb['keystrokes']['set']('Shift+Tab',_0x2e8029),_0x319bdb['keystrokes']['set']('Tab',(_0x189afd,_0x35c066)=>{!function(_0x3ff3a3){const _0x4bb2d4=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x58d46a=>_0x58d46a+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4710a8=[...document['body']['querySelectorAll'](_0x4bb2d4)]['filter'](_0x194dd3=>_0x194dd3===document['activeElement']||_0x194dd3['offsetWidth']+_0x194dd3['offsetHeight']>0x0)['sort']((_0x45d8e3,_0x96897d)=>(_0x45d8e3['tabIndex']||0x0)-(_0x96897d['tabIndex']||0x0)),_0x513410=_0x4710a8['indexOf'](_0x3ff3a3),_0x1b13df=_0x4710a8[(_0x513410+0x1)%_0x4710a8['length']];_0x1b13df&&_0x1b13df['focus']();}(this['view']['element']),this['hideDropdown'](),_0x35c066();}),_0x319bdb['focusTracker']['add'](this['view']['element']),_0x319bdb['focusTracker']['on']('change:isFocused',(_0x395054,_0x2178db,_0x1ee2cb)=>{_0x1ee2cb||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x310930{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};