@ckeditor/ckeditor5-real-time-collaboration 48.0.0-alpha.6 → 48.0.0-alpha.8

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.
Files changed (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x39cb58,Plugin as _0x1d5197,PendingActions as _0x2190b9,Context as _0x4dfce7}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5b8e4e,CKEditorError as _0x849088,Collection as _0x432b74,global as _0x29912a,version as _0x46501e,uid as _0x2fc7a9,KeystrokeHandler as _0x4efd8d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x14b5f4,View as _0x4465b8,ListView as _0x493848,ListItemView as _0x1aed03,LabelView as _0x1be434,BalloonPanelView as _0x49fda1,clickOutsideHandler as _0x5ef9f9,BodyCollection as _0x208c83}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x9e79df,History as _0x345ffc,NoOperation as _0x1882bb,InsertOperation as _0x2749a9,MarkerOperation as _0x27cc4a,RootAttributeOperation as _0x57eb66,transformOperationSets as _0x375ab1,OperationFactory as _0x5316e8}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x182132}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x3f1a19,WEB_SOCKET_GATEWAY_STATES as _0x169e89,CollaborativeEditingService as _0x51c0e8,User as _0xbe5ea0,CommentsService as _0x5b684f,TrackChangesService as _0xe7ce4c,RevisionHistoryService as _0x5ddde9,EditorService as _0x5a7399}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x48e39d,UserView as _0x4530a1}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x10c7fe}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x224462,TrackChanges as _0x5ca7c1}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x41e2b,Comments as _0x56dec7,CommentsEditing as _0x187167}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x640475}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x2b54d6}from'es-toolkit/compat';class z extends _0x39cb58{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x3f1a19)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x182132,_0x14b5f4];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e8679){super(_0x4e8679),this['set']('state',_0x169e89['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5b8e4e())();}['init'](){const _0x222d68=this['context'],_0x3f4e5d=_0x222d68['plugins']['get'](_0x182132),_0x44af5f=_0x222d68['plugins']['get'](_0x14b5f4);if(!_0x3f4e5d['token'])throw new _0x849088('websocketgateway-missing-token',this);if(!_0x3f4e5d['webSocketUrl'])throw new _0x849088('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),z['WebSocketGateway']['connect'](_0x3f4e5d['token'],_0x3f4e5d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x7975de=>{if(this['connection']=_0x7975de,this['bind']('state')['to'](_0x7975de,'state',this,'_isBrowserOffline',(_0x2a6539,_0x1dd6ba)=>('connected'!==_0x2a6539&&(this['_shouldPluginsReconnect']=!0x0),_0x1dd6ba||_0x2a6539!==_0x169e89['CONNECTED']?_0x169e89['DISCONNECTED']:this['state']==_0x169e89['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x169e89['CONNECTING']):_0x169e89['CONNECTED'])),this['connection']['on']('error',(_0x56aada,_0x3c8798)=>{if('limitExceeded'!==_0x3c8798['code'])throw console['error'](_0x3c8798),new _0x849088('cloudservices-init',null,{'originalError':_0x3c8798});_0x44af5f['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'});}),!_0x7975de['me'])return new Promise(_0xb97afe=>_0x7975de['on']('change:me',_0xb97afe));})['catch'](_0xbc4d6c=>{throw console['error'](_0xbc4d6c),new _0x849088('cloudservices-init',null,{'originalError':_0xbc4d6c});});}['addToReconnectionStack'](_0x458889){if('function'!=typeof _0x458889['reconnect'])throw new _0x849088('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x458889))throw new _0x849088('websocketgateway-plugin-already-registered',this,{'name':_0x458889['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x458889);}['removeFromReconnectionStack'](_0xcbab5e){this['_reconnectionStack']['delete'](_0xcbab5e);}['isInReconnectionStack'](_0x353241){return this['_reconnectionStack']['has'](_0x353241);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x298c26=>_0x298c26['reconnect']())))['then'](()=>this['state']=_0x169e89['CONNECTED'])['catch'](_0x327b1e=>{throw console['error'](_0x327b1e),new _0x849088('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x169e89['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x39cb58{['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[z,_0x48e39d];}constructor(_0x131a36){super(_0x131a36),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x432b74(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x48e39d);}['init'](){const _0x110a06=this['context']['plugins']['get'](z);this['listenTo'](_0x110a06,'change:state',(_0x2977b0,_0x28e100,_0x4e6c31)=>{if('connected'!==_0x4e6c31)this['channelSessions']['forEach'](_0xb0bb3b=>_0xb0bb3b['clear']()),this['channelConnectedUsers']['forEach'](_0x102c61=>_0x102c61['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2a7e22,_0x26fc2e]of this['_registeredSessions'])for(const _0x4b9141 of _0x26fc2e)this['_handleSessionAdd'](_0x2a7e22,_0x4b9141);}}),this['_createUser'](_0x110a06['connection']['me'],!0x0);}['register'](_0x75c3df,_0x40c73b){if(this['_registeredSessions']['has'](_0x75c3df))throw new _0x849088('sessions-register-already-registered',null,{'channelId':_0x75c3df});this['_registeredSessions']['set'](_0x75c3df,_0x40c73b),this['channelSessions']['set'](_0x75c3df,new _0x432b74()),this['channelConnectedUsers']['set'](_0x75c3df,new _0x432b74()),this['listenTo'](_0x40c73b,'add',(_0x3091ce,_0x2f528e)=>this['_handleSessionAdd'](_0x75c3df,_0x2f528e)),this['listenTo'](_0x40c73b,'remove',(_0x590868,_0x297bfe)=>this['_handleSessionRemove'](_0x75c3df,_0x297bfe));for(const _0x10bb3d of _0x40c73b)this['_handleSessionAdd'](_0x75c3df,_0x10bb3d);}['unregister'](_0x1a8dc7){if(!this['_registeredSessions']['has'](_0x1a8dc7))throw new _0x849088('sessions-unregister-not-exist',null,{'channelId':_0x1a8dc7});const _0x268192=this['_registeredSessions']['get'](_0x1a8dc7);this['stopListening'](_0x268192);for(const _0x3f5fe7 of _0x268192)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x1a8dc7,_0x3f5fe7);this['_registeredSessions']['delete'](_0x1a8dc7),this['channelSessions']['delete'](_0x1a8dc7),this['channelConnectedUsers']['delete'](_0x1a8dc7);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x28b5c5){for(const _0x2ad0f5 of this['channelSessions']['values']())for(const _0xb60976 of _0x2ad0f5)if(_0xb60976['id']===_0x28b5c5)return _0xb60976['user'];}['getUserSessions'](_0x5ca506,_0x5e40da){const _0x17a79b=_0x5e40da?[this['channelSessions']['get'](_0x5e40da)]:this['channelSessions']['values'](),_0x41480d=new Set();for(const _0x15a88d of _0x17a79b)for(const _0x20b490 of _0x15a88d)_0x20b490['user']['id']===_0x5ca506['id']&&_0x41480d['add'](_0x20b490['id']);return _0x41480d;}['getUserRole'](_0x533aae){for(const _0x1326b0 of this['channelSessions']['values']())for(const _0x1f50a4 of _0x1326b0)if(_0x1f50a4['user']===_0x533aae)return _0x1f50a4['role'];}['_handleSessionAdd'](_0x1f6e3a,_0x3ddd9d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x120416=_0x3ddd9d['user'],_0xa02880=this['_users']['getUser'](_0x120416['id'])||this['_createUser'](_0x120416),_0x4fc5ba=Object['assign']({},_0x3ddd9d,{'user':_0xa02880});if(this['channelSessions']['get'](_0x1f6e3a)['add'](_0x4fc5ba),!_0x120416['hiddenInPresenceList']){const _0x2d6d2c=this['channelConnectedUsers']['get'](_0x1f6e3a);_0x2d6d2c['has'](_0xa02880['id'])||_0x2d6d2c['add'](_0xa02880),this['allConnectedUsers']['has'](_0xa02880['id'])||_0x120416['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0xa02880,_0xa02880['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1f6e3a,{'channelId':_0x1f6e3a,'session':_0x4fc5ba});}['_handleSessionRemove'](_0xc60043,_0x1990bc){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x10a5d4=this['channelConnectedUsers']['get'](_0xc60043),_0x4f658e=_0x1990bc['user'];_0x4f658e['id']&&(this['channelSessions']['get'](_0xc60043)['remove'](_0x1990bc['id']),_0x10a5d4['has'](_0x4f658e['id'])&&!this['getUserSessions'](_0x4f658e,_0xc60043)['size']&&_0x10a5d4['remove'](_0x4f658e['id']),this['allConnectedUsers']['get'](_0x4f658e['id'])&&!this['getUserSessions'](_0x4f658e)['size']&&this['allConnectedUsers']['remove'](_0x4f658e['id']));}['_createUser'](_0x37ac43,_0x30c26e){const _0x4b6257=this['_users']['addUser'](_0x37ac43);return _0x30c26e&&this['_users']['defineMe'](_0x37ac43['id']),_0x4b6257['orderNumber']=this['_uniqueUsersCount']++,_0x4b6257;}}class K extends _0x1d5197{['_domEmitter']=new(_0x5b8e4e())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xe05e18=this['editor'],_0x397da3=_0xe05e18['plugins']['get'](Y);_0xe05e18['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3d127b,{writer:_0x540475})=>function(_0xc5db87,_0xb73e20,_0x2b7295,_0x18b10d){const _0x56ccbb=_0xc5db87['markerName']['split'](':')[0x2],_0x3f79c6=_0x2b7295['getUserBySessionId'](_0x56ccbb);if(!_0x3f79c6||_0x56ccbb===_0x2b7295['mySessionId'])return;if(!_0x18b10d['model']['schema']['checkChild'](_0xc5db87['markerRange']['start'],'$text'))return;const _0x4aec55={'class':'ck-user__marker\x20'+_0x3f79c6['color']['getMarkerClass'](),'style':Q(_0x3f79c6),'data-name':_0x3f79c6['name'],'data-session-id':_0x56ccbb},_0x648242=_0x18b10d['model']['markers']['get'](_0xc5db87['markerName']),_0x14e0a5=_0x648242['getStart'](),_0x53c9e9=_0x14e0a5['nodeAfter'],_0xff2017=_0x18b10d['model']['schema'];if(_0x53c9e9&&_0xff2017['isObject'](_0x53c9e9)&&_0xff2017['isInline'](_0x53c9e9)&&!_0x18b10d['model']['markers']['get']('user:range:'+_0x56ccbb)['getRange']()['isCollapsed'])return;const _0x5620cf=_0x14e0a5['parent'];return _0x18b10d['model']['schema']['isLimit'](_0x5620cf)&&!_0x18b10d['model']['hasContent'](_0x5620cf)&&(_0x4aec55['contenteditable']=!0x1),function(_0x448131,_0x42079e,_0x404240){const _0x4ed0dd=_0x448131['createUIElement']('span',_0x42079e);return _0x448131['setCustomProperty']('userPositionMarker',!0x0,_0x4ed0dd),_0x4ed0dd['render']=function(_0x2489f1){const _0xc82db3=this['toDomElement'](_0x2489f1),_0x52471a=document['createElement']('span');return _0x52471a['classList']['add']('ck-user__marker-tooltip'),_0x52471a['setAttribute']('contenteditable','false'),_0x52471a['setAttribute']('spellcheck','false'),_0x52471a['textContent']=_0x404240['name'],_0xc82db3['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x52471a['outerHTML']+'⁠',_0xc82db3['addEventListener']('mouseenter',()=>{_0xc82db3['classList']['add']('ck-user__marker_hovered');}),_0xc82db3['addEventListener']('mouseleave',()=>{_0xc82db3['classList']['remove']('ck-user__marker_hovered');}),_0xc82db3;},_0x4ed0dd['isSimilar']=function(_0x19db32){return!(!this['getCustomProperty']('userPositionMarker')||!_0x19db32['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x19db32['getAttribute']('data-session-id'));},_0x4ed0dd;}(_0xb73e20,_0x4aec55,_0x3f79c6);}(_0x3d127b,_0x540475,_0x397da3,_0xe05e18)}),_0xe05e18['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3be15b=>function(_0x4b45dc,_0x12662f){const _0x50e9c1=_0x4b45dc['markerName']['split'](':')[0x2];if(_0x50e9c1===_0x12662f['mySessionId'])return null;const _0x2f844e=_0x12662f['getUserBySessionId'](_0x50e9c1);if(!_0x2f844e)return{'id':_0x50e9c1,'classes':[]};return{'id':_0x50e9c1,'classes':['ck-user__selection',_0x2f844e['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2f844e),'data-session-id':_0x50e9c1},'priority':0x7d0+_0x2f844e['orderNumber']};}(_0x3be15b,_0x397da3)}),function(_0x150f94){const _0x5bbe57=_0x150f94['model'],_0x253e9e=new Map(),_0x2165fc=_0x150f94['plugins']['get'](Y);_0x5bbe57['markers']['on']('update:user:range',(_0x4d3216,_0x3cd39c,_0x1ae7a7,_0x5d9895)=>{if(!_0x5d9895&&_0x253e9e['get'](_0x3cd39c['name']))return _0x253e9e['get'](_0x3cd39c['name'])['detach'](),void _0x253e9e['delete'](_0x3cd39c['name']);const _0x52548c=_0x3cd39c['name']['split'](':')[0x2];if(_0x52548c===_0x2165fc['mySessionId'])return;const _0x1d7ad4='user:position:'+_0x52548c;_0x5bbe57['markers']['has'](_0x1d7ad4)&&_0x150f94['editing']['reconvertMarker'](_0x1d7ad4),_0x3cd39c['on']('change:range',(_0x3557c3,_0x2083ff,_0x3e4922)=>{if('$graveyard'!=_0x2083ff['root']['rootName']&&'$graveyard'==_0x3cd39c['getRange']()['root']['rootName']&&!_0x253e9e['has'](_0x3cd39c['name'])){const _0x23b56b=_0x5bbe57['schema']['getNearestSelectionRange'](_0x3e4922['deletionPosition']);if(_0x23b56b){const _0x328457=_0x9e79df['fromRange'](_0x23b56b);_0x253e9e['set'](_0x3cd39c['name'],_0x328457),_0x328457['on']('change:range',(_0xf53096,_0x33194e,_0x1b25b1)=>{if('$graveyard'==_0x328457['root']['rootName']){const _0xd44d3c=_0x5bbe57['schema']['getNearestSelectionRange'](_0x1b25b1['deletionPosition']);_0xd44d3c?(_0x328457['start']=_0xd44d3c['start'],_0x328457['end']=_0xd44d3c['end']):(_0x253e9e['delete'](_0x3cd39c['name']),_0x328457['detach']());}});}}});}),_0x5bbe57['document']['on']('change',()=>{_0x253e9e['size']>0x0&&_0x5bbe57['enqueueChange']({'isUndoable':!0x1},_0x4a9349=>{for(const [_0x130dc8,_0x53c161]of _0x253e9e)'$graveyard'==_0x5bbe57['markers']['get'](_0x130dc8)['getRange']()['root']['rootName']&&(J(_0x130dc8['split'](':')[0x2],_0x53c161['toRange'](),_0x5bbe57,_0x4a9349),_0x53c161['detach']());_0x253e9e['clear']();});});}(_0xe05e18),this['_domEmitter']['listenTo'](_0x29912a['document'],'keydown',(_0x494293,{key:_0x25327c})=>{'Escape'===_0x25327c&&function(_0x3abcfd){_0x3abcfd['editing']['view']['change'](_0x548613=>{for(const _0x5d50b1 of _0x3abcfd['model']['markers']){if(!_0x5d50b1['name']['startsWith']('user:position'))continue;const _0x5d0413=_0x3abcfd['editing']['mapper']['markerNameToElements'](_0x5d50b1['name']);if(_0x5d0413){for(const _0x3c6969 of _0x5d0413)_0x548613['removeClass']('ck-user__marker_hovered',_0x3c6969);}}});}(_0xe05e18);},{'useCapture':!0x0});}['afterInit'](){const _0x46e030=this['editor'],_0x1b73a6=_0x46e030['commands']['get']('undo');_0x1b73a6&&_0x46e030['model']['on']('applyOperation',(_0x13c552,_0x298fe9)=>{const _0x21d77e=_0x298fe9[0x0];if(!_0x21d77e['isDocumentOperation'])return;if('marker'!=_0x21d77e['type']||!_0x21d77e['name']['startsWith']('user:'))return;const _0x4465bc=_0x21d77e['batch'];_0x1b73a6['_createdBatches']['has'](_0x4465bc)&&(_0x21d77e['newRange']=_0x21d77e['oldRange']?_0x46e030['model']['createRange'](_0x21d77e['oldRange']['start'],_0x21d77e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5ce292=this['editor'],_0x3f0d86=_0x5ce292['model']['document'],_0x57824c=_0x5ce292['plugins']['get'](Y);_0x5ce292['model']['enqueueChange']({'isUndoable':!0x1},_0x3b58ed=>{const _0x202fc1='user:range:'+_0x57824c['mySessionId'],_0x3d259a='user:position:'+_0x57824c['mySessionId'],_0x3bbea7=_0x5ce292['model']['markers']['has'](_0x202fc1);_0x5ce292['editing']['view']['hasDomSelection']?J(_0x57824c['mySessionId'],_0x3f0d86['selection']['getFirstRange'](),_0x5ce292['model'],_0x3b58ed):_0x3bbea7&&(_0x3b58ed['removeMarker'](_0x202fc1),_0x3b58ed['removeMarker'](_0x3d259a));});}}function J(_0x3c3dc0,_0x3f8d06,_0x24563c,_0x24cf42){const _0x47a8f4='user:range:'+_0x3c3dc0,_0x519d0e='user:position:'+_0x3c3dc0,_0x1c56fe=_0x3f8d06['getContainedElement']();let _0x27434d=_0x3f8d06['start'];if(_0x1c56fe&&_0x1c56fe['is']('element','tableCell')){const _0x1f4ab3=function(_0x299aa2,_0x57c598){for(const _0x28fa2b of _0x299aa2['getPositions']())if(_0x57c598['schema']['checkChild'](_0x28fa2b,'$text'))return _0x28fa2b;}(_0x3f8d06,_0x24563c);_0x1f4ab3&&(_0x27434d=_0x1f4ab3,_0x3f8d06=_0x24cf42['createRange'](_0x27434d));}const _0x102ab7=_0x24cf42['createRange'](_0x27434d);_0x24563c['markers']['has'](_0x47a8f4)?(_0x24cf42['updateMarker'](_0x47a8f4,{'range':_0x3f8d06}),_0x24cf42['updateMarker'](_0x519d0e,{'range':_0x102ab7})):(_0x24cf42['addMarker'](_0x47a8f4,{'range':_0x3f8d06,'usingOperation':!0x0}),_0x24cf42['addMarker'](_0x519d0e,{'range':_0x102ab7,'usingOperation':!0x0}));}function Q(_0x1595ad){return'--ck-user-color:'+_0x1595ad['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x1595ad['color']['getColorAlphaVariable']()+';';}function X(_0x5c1740,_0x1a922b,_0x2fc176){const _0x4e993b=_0x5c1740['t'],t=_0x5c1740['t'];switch(_0x1a922b){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 _0x4e993b({'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'},_0x2fc176);default:return'';}}let Z=0x1;class tt extends _0x1d5197{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x51c0e8)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x2190b9,_0x48e39d,_0x14b5f4];}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 _0x41d83b=this['serverHistory']['getOperations']();for(let _0x2432ed=_0x41d83b['length']-0x1;_0x2432ed>=0x0;_0x2432ed--){const _0x17c884=_0x41d83b[_0x2432ed];if(!this['_disconnectionOperations']['has'](_0x17c884))return _0x17c884['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1b5794){if(super(_0x1b5794),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x345ffc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x849088('collaboration-missing-channelid',this);const _0x5a2215=_0x1b5794['config']['get']('cloudServices.bundleVersion')||_0x46501e;this['_service']=new tt['CollaborativeEditingService'](_0x5a2215,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x10c7fe(),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 it(this['_disconnectionOperations']);}['init'](){const _0x133099=this['editor'],_0xc008d8=_0x133099['plugins']['get'](_0x48e39d),_0x284402=_0x133099['plugins']['get'](z);this['listenTo'](_0xc008d8,'getOperationAuthor',(_0x20cda4,_0x1ae839)=>{const _0x2ab220=_0x1ae839[0x0];_0x2ab220['_authorId']&&(_0x20cda4['return']=_0xc008d8['getUser'](_0x2ab220['_authorId']),_0x20cda4['stop']()),null===_0x2ab220['_authorId']&&(_0x20cda4['return']=null,_0x20cda4['stop']());},{'priority':'high'}),this['listenTo'](_0x133099['model']['document']['selection'],'change:range',(_0x3bac17,_0x426c33)=>{_0x426c33['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x133099['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x133099['model']['on']('applyOperation',(_0x5b7cd5,_0x3e02f7)=>{const _0x290184=_0x3e02f7[0x0];_0x290184['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x290184),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x284402,'state',this,'_hasSynchronizationProblem',(_0x2330ab,_0x3b02c8)=>'connected'===_0x2330ab&&!_0x3b02c8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x133099['disableReadOnlyMode']('rtc-offline'):_0x133099['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x133099['disableReadOnlyMode']('rtc-offline'):_0x133099['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x36802b=this['editor']['plugins']['get'](Y),_0x385b80=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x36802b['unregister'](this['_channelId']);const _0x5356d7=await this['_service']['reconnect'](_0x385b80['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5356d7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1613ad=await this['_service']['getConnectedSessions']();_0x36802b['register'](this['_channelId'],_0x1613ad),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4970de){if(function(_0xfdc42e){return'404'===_0xfdc42e['code'];}(_0x4970de)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x53c573){return'409'===_0x53c573['code'];}(_0x4970de)){const _0x2e2c0e=X(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'](_0x2e2c0e);}else{if(!(_0x4970de instanceof et))throw _0x4970de;this['_handleReconnectionError']();}}}}['destroy'](){const _0xac068c=this['editor']['plugins']['get'](z),_0x68278f=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x68278f['channelSessions']['has'](this['_channelId'])&&_0x68278f['unregister'](this['_channelId']),_0xac068c['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2c1ae2){if(this['sessionId']!==_0x2c1ae2['sessionId']&&this['_lastSyncedOperationId']!==_0x2c1ae2['lastOperationId'])throw new et();return this['sessionId']=_0x2c1ae2['sessionId'],this['_handleServerResponse']([],{..._0x2c1ae2,'wereChangesApplied':!0x1,'data':_0x2c1ae2['data']},'reconnect');}async['_connectService'](_0x742b60,_0x2ada6f=!0x1){const {connection:_0x2bba4e}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x2bba4e,this['_channelId'])['then'](_0x536be9=>this['_initSessionsHandling'](_0x536be9))['catch'](_0x2396b4=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2396b4);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x51f36d,_0x2853bb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2853bb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x578403=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x742b60);this['_isPendingUpdate']=!0x0;const _0x5b3951=await this['_service']['connect'](_0x2bba4e,this['_compressOperations'](_0x742b60),_0x578403);if(this['sessionId']=_0x5b3951['sessionId'],_0x2ada6f){if(!_0x5b3951['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5b3951['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x742b60,_0x5b3951,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5b3951,_0x742b60);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1afba2=this['editor']['plugins']['get'](Y),_0x2728e0=this['editor']['plugins']['get'](K),_0x5f51a6=_0x1afba2['channelSessions']['get'](this['_channelId']);_0x5f51a6&&_0x5f51a6['length']>0x1?_0x2728e0['createUserMarkerOperations']():this['listenTo'](_0x1afba2,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1afba2['channelSessions']['get'](this['_channelId'])['length']&&_0x2728e0['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x27fd1b,_0x280244,_0x5cd3f4,_0x425989){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x280244){const _0x161ee7=this['_decompressOperations'](_0x5cd3f4,_0x425989);await this['_fetchMissingUsers'](_0x161ee7),this['_handleExternalOperations'](_0x161ee7,_0x280244,_0x5cd3f4['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3b490b}=this['editor'];let _0x98cd22;try{_0x98cd22=await this['_service']['getDocumentDetails']();}catch{const _0x3522f3=X(_0x3b490b,'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'](_0x3522f3);}const _0x10575f=_0x98cd22['currentDocumentSession']||_0x98cd22['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x10575f['lastOperationId']){const _0x2ba3dd=X(_0x3b490b,'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'](_0x2ba3dd);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xf8318b){const _0x247102=this['editor']['plugins']['get'](Y);this['listenTo'](_0x247102,'sessionAdd:'+this['_channelId'],(_0x26f373,{session:_0x4fd0f6})=>{if(_0x4fd0f6['id']===_0x247102['mySessionId']){_0x26f373['off']();const _0x14f2ab=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2788fa=_0x4fd0f6['permissions'];_0x14f2ab&&_0x14f2ab['isEnabled']&&(_0x2788fa=_0x2788fa['filter'](_0x35c24b=>'document:write'!==_0x35c24b)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2788fa,this['_channelId']);}}),_0x247102['register'](this['_channelId'],_0xf8318b);}['_initThrowingOnDataSet'](){const _0xda39b2=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3c1170)=>{if(!_0x3c1170[_0x3c1170['length']-0x1]['suppressErrorInCollaboration'])throw new _0x849088('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xda39b2['apply'](this['editor']['data'],_0x3c1170);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4a96fa,[_0x300ba0])=>{if(this['_document']['version'])throw new _0x849088('realtimecollaborationclient-init-document-already-initialized',this);_0x4a96fa['stop'](),this['_setPendingAction']();const _0x4211e1=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xf5628])=>!_0xf5628['lazyLoad'])['map'](([_0x93fb36,_0x5c2cc4])=>[_0x93fb36,_0x5c2cc4['modelAttributes']||{}])),_0xd696ba=this['_getOperationsFromInitData'](_0x300ba0,_0x4211e1);0x0==_0xd696ba['length']&&_0xd696ba['push'](new _0x1882bb(0x0)),_0x4a96fa['return']=this['_connectService'](_0xd696ba)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x528c5d=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x528c5d))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3ced38,[_0x312467,_0x1d7327])=>{_0x3ced38['stop']();const _0x161f25=this['editor']['model']['document']['getRoot'](_0x312467);if(!this['_knownRootNames']['has'](_0x312467)){const _0x2c70da=_0x1d7327&&_0x1d7327['data']?_0x1d7327['data']:'',_0x4ea112=_0x1d7327&&_0x1d7327['attributes']?_0x1d7327['attributes']:{};await this['_loadRoot'](_0x312467,_0x2c70da,_0x4ea112);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x161f25['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x161f25);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x329354){const _0x5491b8=this['editor']['plugins']['get'](_0x48e39d),{connection:_0x2a4957}=this['editor']['plugins']['get'](z),_0x263872=new Set();for(const _0xe0b10f of _0x329354){const _0x410aaf=_0xe0b10f['_authorId'];_0x410aaf&&!_0x5491b8['getUser'](_0x410aaf)&&_0x263872['add'](_0x410aaf);}if(0x0===_0x263872['size'])return;const _0xee256a=await _0xbe5ea0['getMany'](_0x2a4957,Array['from'](_0x263872));for(const _0x57a160 of _0xee256a)_0x5491b8['getUser'](_0x57a160['id'])||_0x5491b8['addUser'](_0x57a160);}['_getOperationsFromInitData'](_0x57b324,_0x52aa48={}){const _0x4e35b2=this['editor']['model'],_0x582d5a=[];let _0x4b692a=0x0;const _0x42e2e0='string'==typeof _0x57b324?{'main':_0x57b324}:_0x57b324;for(const _0x2f7b2f of Object['keys'](_0x42e2e0)){if(!this['_document']['roots']['has'](_0x2f7b2f))throw new _0x849088('realtimecollaborationclient-init-non-existent-root',this);const _0x5edca1=this['editor']['data']['parse'](_0x42e2e0[_0x2f7b2f]),_0x21a440=this['_document']['getRoot'](_0x2f7b2f),_0x3a2f46=new _0x2749a9(_0x4e35b2['createPositionAt'](_0x21a440,0x0),_0x5edca1,_0x4b692a++);_0x582d5a['push'](_0x3a2f46);for(const [_0x332f4b,_0x3422e0]of _0x5edca1['markers']){const _0x451515=_0x4e35b2['createRange'](_0x4e35b2['createPositionFromPath'](_0x21a440,_0x3422e0['start']['path']['slice']()),_0x4e35b2['createPositionFromPath'](_0x21a440,_0x3422e0['end']['path']['slice']())),_0xdd6506=new _0x27cc4a(_0x332f4b,null,_0x451515,_0x4e35b2['markers'],!0x0,_0x4b692a++);_0x582d5a['push'](_0xdd6506);}}if(_0x52aa48)for(const [_0x32bd23,_0x474a67]of Object['entries'](_0x52aa48)){const _0x4cd6da=_0x4e35b2['document']['getRoot'](_0x32bd23);if(!_0x4cd6da)throw new _0x849088('multi-root-editor-root-attributes-no-root',null);for(const [_0x573590,_0x25f39a]of Object['entries'](_0x474a67))if(null!==_0x25f39a){const _0x2da7a2=new _0x57eb66(_0x4cd6da,_0x573590,null,_0x25f39a,_0x4b692a++);_0x582d5a['push'](_0x2da7a2);}}return _0x582d5a;}async['_loadRoot'](_0x5107cc,_0x5bdf57,_0x4728f3){this['_getOperationsFromInitData']({[_0x5107cc]:_0x5bdf57},{[_0x5107cc]:_0x4728f3})['forEach']((_0x1d4647,_0x2c21ff)=>{_0x1d4647['baseVersion']=this['_document']['version']+_0x2c21ff,_0x1d4647['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1d4647);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x16e4b7,_0x7989cf){let _0x4ca621;this['_offset']=_0x16e4b7['offset'];const _0x823593=_0x16e4b7['wereChangesApplied']&&!_0x16e4b7['initData'],_0x7fe90b=_0x823593?0x0:_0x16e4b7['data']['baseVersion'];if(_0x7989cf['forEach'](_0x3341ae=>{_0x3341ae['_isInit']=!0x0,_0x3341ae['createdAt']=_0x16e4b7['sessionCreatedAt'],_0x3341ae['_authorId']=null;}),_0x823593)_0x4ca621=_0x7989cf,this['_applyOperationsSet'](_0x4ca621,_0x823593);else{if(_0x16e4b7['initData']){const _0x15b69c=this['_getOperationsFromInitData'](_0x16e4b7['initData']);this['_document']['history']['version']=-_0x15b69c['length'],_0x15b69c['forEach'](_0x1f77da=>{_0x1f77da['baseVersion']-=_0x15b69c['length'],_0x1f77da['createdAt']=_0x16e4b7['sessionCreatedAt'],_0x1f77da['_isInit']=!0x0,_0x1f77da['_authorId']=null;}),this['_applyOperationsSet'](_0x15b69c,!0x0),this['serverHistory']['version']=-_0x15b69c['length']+this['_offset'],this['_updateServerHistory'](_0x15b69c);}this['_document']['history']['version']=_0x7fe90b,_0x4ca621=this['_decompressOperations'](_0x16e4b7['data'],_0x16e4b7['metadata']),await this['_fetchMissingUsers'](_0x4ca621),this['_applyOperationsSet'](_0x4ca621,_0x823593);}_0x16e4b7['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4ca621,_0x16e4b7['lastOperationId']),this['_lastSyncedOperationId']=_0x16e4b7['lastOperationId']),this['serverHistory']['version']=_0x7fe90b+this['_offset'],this['_updateServerHistory'](_0x4ca621),_0x7989cf['filter'](_0x64daf0=>{const _0x5d648c=this['_getAffectedRoot'](_0x64daf0);return _0x5d648c&&!this['_knownRootNames']['has'](_0x5d648c);})['forEach']((_0x3e28cb,_0xd1b7c5)=>{_0x3e28cb['baseVersion']=this['_document']['version']+_0xd1b7c5,this['_saveOperationInBuffer'](_0x3e28cb);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2f423d,_0x239868){const _0x3a63eb=_0x239868&&_0x239868['message'];if(_0x3a63eb&&_0x3a63eb['startsWith']('realtimecollaborationclient'))throw _0x239868;const _0x236311=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x236311['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x849088(_0x2f423d,this['editor'],_0x3a63eb?{'originalError':_0x3a63eb}:void 0x0);}['_saveOperationInBuffer'](_0x347d2b){this['_knownOperations']['has'](_0x347d2b)||(this['_knownOperations']['add'](_0x347d2b),this['_bufferedOperations']['push'](_0x347d2b),this['_pendingAction']||'marker'==_0x347d2b['type']&&!_0x347d2b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x6f3b08=!0x1){!_0x6f3b08&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x20387f=>{_0x20387f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x39fab8=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x152058){return _0x152058['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x152058['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x152058['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x39fab8)||this['_crash'](_0x39fab8['message'],_0x39fab8);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5e547f=>{this['on']('change:_isPendingUpdate',()=>{_0x5e547f();});});}async['_sendBufferedOperations'](){const _0x170ac7=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x170ac7['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x112160=[...this['_bufferedOperations']];for(const _0x3bb04b of _0x112160)_0x3bb04b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3bb04b);const _0x296694=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x112160),_0x22a2ba=Z++,_0x6c3ccc=this['_compressOperations'](_0x112160),_0x39b795=await this['_service']['sendOperations'](_0x6c3ccc,_0x6c3ccc['baseVersion'],_0x296694);try{return await this['_handleServerResponse'](_0x112160,_0x39b795,_0x22a2ba);}catch(_0x389682){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x389682);}}async['_handleServerResponse'](_0x161caf,_0x3dd35e,_0x2194bc){if('error'in _0x3dd35e)throw _0x3dd35e['error'];let _0x1f6983=!0x1;if(_0x3dd35e['wereChangesApplied']){_0x3dd35e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3dd35e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x501776=>!_0x161caf['includes'](_0x501776));for(const _0x2bc2a2 of _0x161caf)_0x2bc2a2['createdAt']='lastOperationAcceptedAt'in _0x3dd35e&&_0x3dd35e['lastOperationAcceptedAt']||void 0x0;st(_0x161caf,_0x3dd35e['version']-_0x161caf['length']),this['_updateServerHistory'](_0x161caf);const _0x2c97c8=_0x161caf['filter'](_0x2d182c=>{if(!_0x2d182c['_isInit'])return!0x1;const _0x57bdc9=this['_getAffectedRoot'](_0x2d182c);return _0x57bdc9&&!this['_knownRootNames']['has'](_0x57bdc9);});st(_0x2c97c8,this['_document']['version']),this['_applyOperationsSet'](_0x2c97c8),_0x1f6983=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4931a8=this['_decompressOperations'](_0x3dd35e['data'],_0x3dd35e['metadata'])['filter'](_0x50404c=>_0x50404c['baseVersion']>=this['_lastServerVersion']);_0x4931a8['forEach'](_0x4867fa=>this['_addKnownRoot'](_0x4867fa)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1ed8de=>!_0x1ed8de['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x1ed8de))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4931a8),_0x1f6983=this['_handleExternalOperations'](_0x4931a8,_0x3dd35e['version'],_0x3dd35e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1f6983?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x8aa5fd,_0x3bc143,_0x5a003c){try{const _0x2b05c4={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x521fa4,operationsB:_0x4c1a8d,originalOperations:_0x466478}=_0x375ab1(_0x8aa5fd,this['_bufferedOperations'],_0x2b05c4);st(_0x521fa4,this['_document']['version']),st(_0x4c1a8d,_0x3bc143);for(const _0x240190 of _0x521fa4){const _0x23acfb=_0x466478['get'](_0x240190);_0x240190['_authorId']=_0x23acfb?_0x23acfb['_authorId']:null;}_0x5a003c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x8aa5fd,_0x5a003c),this['_lastSyncedOperationId']=_0x5a003c),this['_bufferedOperations']=[..._0x4c1a8d],this['_applyOperationsSet'](_0x521fa4),this['_updateServerHistory'](_0x8aa5fd);}catch(_0x216862){return console['error'](_0x216862),!0x1;}return!0x0;}['_applyOperationsSet'](_0xe305d5,_0x235ca0=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2d9a8d=>{for(const _0x3509c5 of _0xe305d5)this['_knownOperations']['add'](_0x3509c5),this['_addKnownRoot'](_0x3509c5),_0x2d9a8d['batch']['addOperation'](_0x3509c5),this['editor']['model']['applyOperation'](_0x3509c5);});}['_addKnownRoot'](_0x3d5d61){const _0x2ce7f1=this['_getAffectedRoot'](_0x3d5d61);_0x2ce7f1&&this['_knownRootNames']['add'](_0x2ce7f1);}['_getAffectedRoot'](_0x559d6b){let _0x2b483c,_0x10e173;switch(_0x559d6b['type']){case'insert':_0x2b483c=_0x559d6b['position']['root'];break;case'marker':if(_0x10e173=_0x559d6b['newRange'],!_0x10e173)return null;_0x2b483c=_0x10e173['root'];break;case'addRootAttribute':_0x2b483c=_0x559d6b['root'];break;case'addRoot':_0x2b483c=_0x559d6b['affectedSelectable'];break;case'move':_0x2b483c=_0x559d6b['targetPosition']['root'];break;default:return null;}return _0x2b483c['rootName'];}['_updateServerHistory'](_0x4b86f1){_0x4b86f1['forEach'](_0x4a7b41=>{const _0x5490ae=_0x4a7b41['clone']();_0x5490ae['_authorId']=_0x4a7b41['_authorId'],_0x5490ae['_isInit']=!!_0x4a7b41['_isInit'],_0x5490ae['createdAt']=_0x4a7b41['createdAt'],_0x5490ae['baseVersion']+=this['_offset'],_0x4a7b41['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5490ae),this['serverHistory']['addOperation'](_0x5490ae);});}['_handleReconnectionError'](_0x10055d){const _0x3c13ed=this['editor']['plugins']['get']('Notification'),_0x4034ac=this['editor']['locale'];_0x10055d||(_0x10055d=X(_0x4034ac,'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.')),_0x3c13ed['showWarning'](_0x10055d,{'title':X(_0x4034ac,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2190b9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2190b9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x28144c){const _0x44c711=_0x28144c['map'](_0xe054ee=>_0xe054ee['toJSON']());return this['_compressor']['compress'](_0x44c711);}['_decompressOperations'](_0x5cf400,_0x3688c4){return this['_compressor']['decompress'](_0x5cf400)['map']((_0x3dec33,_0x4c1a3c)=>{const _0x126885='init'==_0x3688c4[_0x4c1a3c]['type'];if('InsertOperation'==_0x3dec33['__className']){const _0x1d69eb=_0x3dec33['position']['root'];!this['_document']['getRoot'](_0x1d69eb)&&(this['_document']['createRoot']('$root',_0x1d69eb)['_isAttached']=!0x1);}const _0x2eb907=_0x5316e8['fromJSON'](_0x3dec33,this['_document']);return _0x2eb907['wasUndone']=_0x3dec33['wasUndone'],_0x2eb907['_isInit']=_0x126885,_0x2eb907['_authorId']=_0x126885?null:_0x3688c4[_0x4c1a3c]['userId'],_0x2eb907['_isDisconnection']='cs:removeUser'===_0x3688c4[_0x4c1a3c]['type'],_0x2eb907['createdAt']=_0x3688c4[_0x4c1a3c]['createdAt'],_0x2eb907;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x58f1ea=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x58f1ea&&_0x58f1ea['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x15fd10,_0x529fd3){for(const _0x45c853 of _0x15fd10)_0x45c853['baseVersion']=_0x529fd3++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x479c86){this['_ignoredOperations']=_0x479c86,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4f6eed){let _0x94cb0a=_0x4f6eed['length'];for(;_0x94cb0a--;){const _0x48c9d0=_0x4f6eed[_0x94cb0a];if(!this['_ignoredOperations']['has'](_0x48c9d0)){if(!this['_operationToId']['has'](_0x48c9d0)){const _0x10216e=_0x2fc7a9()['slice'](0x1,0x12);this['_operationToId']['set'](_0x48c9d0,_0x10216e);}return this['_operationToId']['get'](_0x48c9d0);}}}['setIdForTheLastOperation'](_0x52ebe6,_0x241c06){if(!_0x241c06)return;let _0x1dd015=_0x52ebe6['length'];for(;_0x1dd015--;){const _0xb88fef=_0x52ebe6[_0x1dd015];this['_ignoredOperations']['has'](_0xb88fef)||this['_operationToId']['set'](_0xb88fef,_0x241c06);}}}class nt extends _0x1d5197{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x39cb58{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x5b684f)());['_services'];static get['requires'](){return[z,_0x41e2b,Y,_0x48e39d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x396af9){super(_0x396af9),this['_services']=new Map();}async['init'](){const _0x430933=this['context'],_0x2bbf6c=_0x430933['plugins']['get'](_0x41e2b);if(_0x430933['plugins']['get'](z)['addToReconnectionStack'](this),_0x2bbf6c['adapter']={'addCommentThread':async({channelId:_0x4dba4d,threadId:_0x13ca22,comments:_0x1f6456,resolvedAt:_0x1f20e5,resolvedBy:_0x164c97,context:_0x50a12b,attributes:_0x4e3795})=>{const _0x628cd9=await this['_getService'](_0x4dba4d)['addCommentThread']({'commentThreadId':_0x13ca22,'comments':_0x1f6456['map'](_0x569df5=>function(_0x2db08b,_0x57c6f4,_0x15b96b){return{'commentThreadId':_0x15b96b,'commentId':_0x2db08b['commentId'],'userId':_0x2db08b['authorId'],'content':_0x2db08b['content'],'documentId':_0x57c6f4,'createdAt':_0x2db08b['createdAt'],'attributes':_0x2db08b['attributes']||{}};}(_0x569df5,_0x4dba4d,_0x13ca22)),'resolvedAt':_0x1f20e5,'resolvedBy':_0x164c97,'context':_0x50a12b,'attributes':_0x4e3795})['catch'](ct);return{'threadId':_0x628cd9['commentThreadId'],'comments':_0x628cd9['comments']};},'getCommentThread':async({channelId:_0x2302f5,threadId:_0x5bb374})=>{const _0x19002d=await this['_getService'](_0x2302f5)['getCommentThread'](_0x5bb374)['catch'](rt)['catch'](ct);return _0x19002d?_0x19002d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x19002d]),{'threadId':_0x19002d['commentThreadId'],'comments':_0x19002d['comments']['map'](at),'context':_0x19002d['context'],'resolvedAt':_0x19002d['resolvedAt'],'resolvedBy':_0x19002d['resolvedBy'],'attributes':_0x19002d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x277874,threadId:_0x27c223,context:_0x5158e,unlinkedAt:_0xce7fee,attributes:_0xe564c9})=>this['_getService'](_0x277874)['updateCommentThread']({'commentThreadId':_0x27c223,'context':_0x5158e,'attributes':_0xe564c9,'unlinkedAt':_0xce7fee})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x2b4228,threadId:_0x28ac9e})=>{const _0x5c5373=await this['_getService'](_0x2b4228)['resolveCommentThread'](_0x28ac9e)['catch'](rt)['catch'](ct);return{'threadId':_0x5c5373['commentThreadId'],'resolvedAt':_0x5c5373['resolvedAt'],'resolvedBy':_0x5c5373['resolvedBy']};},'reopenCommentThread':async({channelId:_0x22f91f,threadId:_0x551a8f})=>this['_getService'](_0x22f91f)['reopenCommentThread'](_0x551a8f)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x29e970,threadId:_0x531a50})=>this['_getService'](_0x29e970)['removeCommentThread'](_0x531a50)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x3d9b26,threadId:_0x4a2a78,commentId:_0x299171,content:_0x4f841f,attributes:_0x1f9256})=>this['_getService'](_0x3d9b26)['addComment'](_0x4a2a78,_0x299171,_0x4f841f,_0x1f9256)['catch'](ct),'updateComment':({channelId:_0x56b8ba,threadId:_0x3d6f4c,commentId:_0x2b9358,content:_0x206d42,attributes:_0x4d8567})=>this['_getService'](_0x56b8ba)['updateComment'](_0x3d6f4c,_0x2b9358,_0x206d42,_0x4d8567)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1aae5c,threadId:_0x284df4,commentId:_0x16b9da})=>this['_getService'](_0x1aae5c)['removeComment'](_0x284df4,_0x16b9da)['catch'](rt)['catch'](ct)},_0x430933 instanceof _0x4dfce7){const _0x431af3=_0x430933['config']['get']('collaboration.channelId'),_0x3dbb5c=_0x430933['plugins']['get'](Y);await this['_setUpService'](_0x431af3);const _0x5390a3=await this['_services']['get'](_0x431af3)['getConnectedSessions']();this['listenTo'](_0x3dbb5c,'sessionAdd:'+_0x431af3,(_0x1200fc,{session:_0x52ee7b})=>{_0x52ee7b['id']===_0x3dbb5c['mySessionId']&&(_0x1200fc['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x52ee7b['permissions'],_0x431af3));}),_0x3dbb5c['register'](_0x431af3,_0x5390a3);}}async['_setUpService'](_0x3586dc){if(this['_services']['has'](_0x3586dc))throw new _0x849088('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3586dc});const _0x2db107=this['context']['plugins']['get'](_0x41e2b),_0x23bcd4=new ot['CommentsService'](_0x3586dc);this['_services']['set'](_0x3586dc,_0x23bcd4),this['listenTo'](_0x23bcd4,'commentThreadAdded',(_0x2ecb45,_0x31866c)=>{const {commentThreadId:_0xd8f74c,documentId:_0x288012,context:_0x3905fb,attributes:_0x1e79ef,resolvedAt:_0x267dd9,resolvedBy:_0x10543c,comments:_0x4899f8}=_0x31866c;_0x2db107['getCommentThread'](_0xd8f74c)||_0x2db107['addCommentThread']({'threadId':_0xd8f74c,'channelId':_0x288012,'comments':_0x4899f8?_0x4899f8['map'](at):[],'context':_0x3905fb,'attributes':_0x1e79ef,'resolvedAt':_0x267dd9,'resolvedBy':_0x10543c,'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadUpdated',(_0x38f679,{commentThreadId:_0x11434d,documentId:_0x16d802,context:_0x27e3cf,unlinkedAt:_0x3b8036,attributes:_0x35999a})=>{_0x2db107['getCommentThread'](_0x11434d)&&_0x2db107['updateCommentThread']({'threadId':_0x11434d,'channelId':_0x16d802,'context':_0x27e3cf,'unlinkedAt':_0x3b8036,'attributes':_0x35999a,'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadResolved',(_0x28f264,{commentThreadId:_0x56358c,resolvedBy:_0x38d737,resolvedAt:_0x47d6c0})=>{const _0x57f936=_0x2db107['getCommentThread'](_0x56358c);_0x57f936&&_0x57f936['resolve']({'resolvedBy':_0x38d737,'resolvedAt':_0x47d6c0,'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadReopened',(_0x636d88,{commentThreadId:_0x251c76})=>{const _0x2fb44a=_0x2db107['getCommentThread'](_0x251c76);_0x2fb44a&&_0x2fb44a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadRemoved',(_0x2b1171,{commentThreadId:_0x25e9d9})=>{const _0x5e06cb=_0x2db107['getCommentThread'](_0x25e9d9);_0x5e06cb&&_0x5e06cb['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentAdded',(_0x57eae8,_0x4a1840)=>{const _0x1d7a44=_0x4a1840['commentThreadId'],_0x52a37f=_0x2db107['getCommentThread'](_0x1d7a44);_0x52a37f&&_0x52a37f['addComment']({...at(_0x4a1840),'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentUpdated',(_0x29ce74,{commentThreadId:_0x16e1c8,commentId:_0x158d8c,content:_0xa22073,attributes:_0x7fcdab})=>{const _0x44d370=_0x2db107['getCommentThread'](_0x16e1c8);if(_0x44d370){const _0x471fae=_0x44d370['getComment'](_0x158d8c);_0x471fae&&_0x471fae['update']({'content':_0xa22073,'attributes':_0x7fcdab,'isFromAdapter':!0x0});}}),this['listenTo'](_0x23bcd4,'commentRemoved',(_0x2c8141,{commentThreadId:_0x447eda,commentId:_0x1e49f2})=>{const _0x21ef8f=_0x2db107['getCommentThread'](_0x447eda);if(_0x21ef8f){const _0x5bffed=_0x21ef8f['getComment'](_0x1e49f2);_0x5bffed&&_0x5bffed['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3586dc);}['destroy'](){if(this['context']instanceof _0x4dfce7){const _0x2f4a8e=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2f4a8e);}}['_terminateService'](_0x9d2266){if(!this['_services']['has'](_0x9d2266))throw new _0x849088('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x9d2266});this['_getService'](_0x9d2266)['disconnect'](),this['_services']['delete'](_0x9d2266);}async['reconnect'](){for(const _0x23b509 of this['_services']['keys']())await this['_connectService'](_0x23b509);if(this['context']instanceof _0x4dfce7){const _0xfe34d3=this['context']['config']['get']('collaboration.channelId'),_0x2f8055=this['context']['plugins']['get'](Y);_0x2f8055['unregister'](_0xfe34d3);const _0x452f97=await this['_services']['get'](_0xfe34d3)['getConnectedSessions']();_0x2f8055['register'](_0xfe34d3,_0x452f97);}}async['_connectService'](_0x36b9c6){const {connection:_0x245cf8}=this['context']['plugins']['get'](z),_0xf21f6c=this['context']['plugins']['get'](_0x41e2b),_0x2168fb=this['_services']['get'](_0x36b9c6),_0x29ebac=await _0x2168fb['connect'](_0x245cf8);await this['_fetchMissingUsersForThreads'](_0x29ebac);const _0x109d56=new Set(Array['from'](_0xf21f6c['getCommentThreads']({'channelId':_0x36b9c6}),_0xfed2c0=>_0xfed2c0['id']));for(const _0x28a7ae of _0x29ebac)_0x28a7ae['deletedAt']||_0x109d56['delete'](_0x28a7ae['commentThreadId']);for(const _0xbd6f67 of _0x109d56)_0xf21f6c['getCommentThread'](_0xbd6f67)['remove']({'isFromAdapter':!0x0});for(const _0x49582c of _0x29ebac){let _0xbbf2ae=_0xf21f6c['getCommentThread'](_0x49582c['commentThreadId']);const {commentThreadId:_0x497347,context:_0x5a6d5a,attributes:_0x1cbfae,resolvedBy:_0x3b6891,resolvedAt:_0x3757e9,unlinkedAt:_0x4af8bf,deletedAt:_0x23f3a0}=_0x49582c;if(_0x23f3a0)continue;_0xbbf2ae||(_0xbbf2ae=_0xf21f6c['addCommentThread']({'channelId':_0x36b9c6,'threadId':_0x497347,'context':_0x5a6d5a,'attributes':_0x1cbfae||{},'resolvedBy':_0x3b6891,'resolvedAt':_0x3757e9,'unlinkedAt':_0x4af8bf,'isFromAdapter':!0x0}));const _0x573e18=new Set(Array['from'](_0xbbf2ae['comments'],_0x13f620=>_0x13f620['id']));for(const _0x405fbb of _0x49582c['comments'])_0x573e18['delete'](_0x405fbb['commentId']);for(const _0x571ec4 of _0x573e18)_0xbbf2ae['getComment'](_0x571ec4)['remove']({'isFromAdapter':!0x0});for(const _0x48f6ec of _0x49582c['comments']){const _0x238621=_0xbbf2ae['getComment'](_0x48f6ec['commentId']);_0x238621?_0x238621['content']!==_0x48f6ec['content']&&_0x238621['update']({'content':_0x48f6ec['content'],'isFromAdapter':!0x0}):_0xbbf2ae['addComment'](Object['assign'](at(_0x48f6ec),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3b44fa){if(!this['_services']['has'](_0x3b44fa))throw new _0x849088('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3b44fa});return this['_services']['get'](_0x3b44fa);}async['_fetchMissingUsersForThreads'](_0x3f40cc){const _0x55ed4c=this['context']['plugins']['get'](_0x48e39d),{connection:_0x272fd1}=this['context']['plugins']['get'](z),_0x396439=new Set();for(const {resolvedBy:_0x166cbc,comments:_0x22fac2}of _0x3f40cc){_0x166cbc&&!_0x55ed4c['getUser'](_0x166cbc)&&_0x396439['add'](_0x166cbc);for(const {userId:_0x14dd98}of _0x22fac2)_0x55ed4c['getUser'](_0x14dd98)||_0x396439['add'](_0x14dd98);}if(0x0===_0x396439['size'])return;const _0x11ccc7=await _0xbe5ea0['getMany'](_0x272fd1,Array['from'](_0x396439));for(const _0x35eae0 of _0x11ccc7)_0x55ed4c['getUser'](_0x35eae0['id'])||_0x55ed4c['addUser'](_0x35eae0);}}async function rt(_0x5c599e){if('404'!==_0x5c599e['code'])throw _0x5c599e;}function ct(_0x4d5953){if((_0x44a9b6=_0x4d5953)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x44a9b6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x44a9b6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x44a9b6;throw _0x4d5953;}function at(_0x17c2b7){return{'threadId':_0x17c2b7['commentThreadId'],'commentId':_0x17c2b7['commentId'],'content':_0x17c2b7['content'],'createdAt':_0x17c2b7['createdAt'],'authorId':_0x17c2b7['userId'],'attributes':_0x17c2b7['attributes']||{}};}class ht extends _0x1d5197{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0xe7ce4c)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x224462,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2d44c0){super(_0x2d44c0);const _0x3a7144=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x3a7144);}['init'](){const _0x5280dc=this['editor']['plugins']['get'](z),_0x63e3c6=this['editor']['plugins']['get'](_0x224462);return _0x63e3c6['adapter']={'getSuggestion':async _0x28066f=>{await this['_waitForServiceReady']();const _0x148abd=await this['_trackChangesService']['get'](_0x28066f)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x148abd]),_0x148abd;},'addSuggestion':async({id:_0xfecbd7,type:_0x1fb77b,data:_0x16115e,originalSuggestionId:_0x28eb8e,attributes:_0x864a73})=>{await this['_waitForServiceReady']();const _0x4b2120={'id':_0xfecbd7,'type':_0x1fb77b,'data':_0x16115e,'originalSuggestionId':_0x28eb8e,'attributes':_0x864a73},_0x58efdf=await this['_trackChangesService']['add'](_0xfecbd7,_0x1fb77b,_0x16115e,_0x28eb8e,_0x864a73)['catch'](_0x4077fb=>{if(dt(_0x4077fb))return new Promise(_0x5257f7=>{this['_bufferedRequests']['set'](_0xfecbd7,{'resolve':_0x5257f7,'suggestionData':_0x4b2120});});throw _0x4077fb;});return this['_bufferedRequests']['delete'](_0xfecbd7),_0x58efdf;},'updateSuggestion':async(_0x5eb2f5,_0x4cdbbc)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4cdbbc['state'])return this['_trackChangesService']['update'](_0x5eb2f5,_0x4cdbbc)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x55a674,_0x8aeea2)=>{_0x63e3c6['hasSuggestion'](_0x8aeea2['id'])&&(_0x63e3c6['getSuggestion'](_0x8aeea2['id'])['attributes']=_0x8aeea2['attributes']);}),this['_trackChangesService']['connect'](_0x5280dc['connection'])['then'](_0x3dfee3=>(_0x5280dc['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3dfee3)['then'](()=>{for(const _0x55e0fc of _0x3dfee3){_0x63e3c6['addSuggestionData'](_0x55e0fc)['_saved']=!0x0;}})));}async['reconnect'](){const _0x512235=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x34624e}=this['editor']['plugins']['get'](z),_0x49ac2a=await this['_trackChangesService']['connect'](_0x34624e);await this['_fetchMissingUsersForThreads'](_0x49ac2a);for(const {suggestionData:_0x3aad12,resolve:_0x123467}of this['_bufferedRequests']['values']()){let _0x239951=_0x49ac2a['find'](_0x1aa46f=>_0x1aa46f['id']===_0x3aad12['id']);_0x239951||(_0x239951=await this['_trackChangesService']['add'](_0x3aad12['id'],_0x3aad12['type'],_0x3aad12['data'],_0x3aad12['originalSuggestionId'])),_0x123467(_0x239951);}for(const _0x5d8677 of _0x49ac2a)_0x512235['hasSuggestion'](_0x5d8677['id'])||_0x512235['addSuggestionData'](_0x5d8677);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2daea8=>{this['listenTo'](this['_trackChangesService'],'connected',_0x4c922b=>{_0x4c922b['off'](),_0x2daea8();});});}async['_fetchMissingUsersForThreads'](_0x107c72){const _0xe79460=this['editor']['plugins']['get'](_0x48e39d),{connection:_0x23e9d9}=this['editor']['plugins']['get'](z),_0x4dcd48=new Set();for(const {authorId:_0x26ddce}of _0x107c72)_0xe79460['getUser'](_0x26ddce)||_0x4dcd48['add'](_0x26ddce);if(0x0===_0x4dcd48['size'])return;const _0x2c0dfc=await _0xbe5ea0['getMany'](_0x23e9d9,Array['from'](_0x4dcd48));for(const _0x35ff08 of _0x2c0dfc)_0xe79460['getUser'](_0x35ff08['id'])||_0xe79460['addUser'](_0x35ff08);}}function lt(_0xf1e46c){if(dt(_0xf1e46c))return new Promise(()=>{});throw _0xf1e46c;}function dt(_0x2ae0ce){return _0x2ae0ce['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2ae0ce['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x1d5197{static get['requires'](){return[_0x56dec7,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x42b9ad=this['editor']['plugins']['get'](z),_0x1a7b71=this['editor']['plugins']['get'](_0x187167),_0x31ec44=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x42b9ad,'change:state',(_0x1ff293,_0x2fd742,_0x3d9c74)=>{_0x1a7b71['isThreadsLoadingPaused']='connected'!==_0x3d9c74;});}),this['listenTo'](_0x42b9ad,'change:state',(_0x56a623,_0xcfb1d2,_0x69252f)=>{this['editor']['plugins']['get'](_0x41e2b)['switchReadOnly']('connected'!==_0x69252f);}),_0x31ec44['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x1d5197{static get['requires'](){return[ut,ht,_0x5ca7c1];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x1d5197{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x5ddde9)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x640475,Y,_0x48e39d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x516aa2){super(_0x516aa2);const _0x36c0fb=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x36c0fb);}async['init'](){const _0x4d3022=this['editor']['plugins']['get'](tt),_0x573d08=_0x4d3022['serverHistory'],_0x27767c=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x573d08,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4d3022['sessionId']});const _0x4a6c2d=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x46501e,_0x4a991f=await _0x5a7399['isBundleUploaded'](_0x27767c['connection'],_0x4a6c2d);this['editor']['plugins']['get'](_0x640475)['adapter']={'getRevision':async({revisionId:_0x9742bc})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x9742bc)),'updateRevisions':async _0x37fd01=>{await this['_waitForServiceReady']();const _0x3dfc7c=this['_revisionTracker']['currentRevision'];if(_0x4a991f&&0x1===_0x37fd01['length']&&_0x37fd01[0x0]['id']===_0x3dfc7c['id'])return _0x37fd01;for(const _0x9a2919 of _0x37fd01)_0x9a2919['id']===_0x3dfc7c['id']&&(_0x9a2919['isEmptyCurrent']=_0x9a2919['fromVersion']===_0x9a2919['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x37fd01,this['_lastRequestId'])['then'](_0x42a081=>(this['_lastRequestId']=_0x42a081,_0x37fd01))['catch'](_0x3ebe5e=>{if(pt(_0x3ebe5e)||'400'===_0x3ebe5e['code']&&void 0x0!==_0x3ebe5e['data']['wrongRequestId']){for(const _0x42a978 of _0x37fd01){!this['_revisionTracker']['repository']['getRevision'](_0x42a978['id'])||this['_revisionTracker']['_bufferUpdate'](_0x42a978['id'],_0x42a978,!0x1);}if(pt(_0x3ebe5e))throw _0x3ebe5e;return _0x37fd01;}throw _0x3ebe5e;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x20a969,{revisionsData:_0xf58d85,requestId:_0x33ce08})=>{Math['max'](..._0xf58d85['map'](_0xf9d04e=>_0xf9d04e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xf58d85,_0x33ce08);}):this['_handleRevisionsUpdate'](_0xf58d85,_0x33ce08);});const {revisions:_0x443fe9,requestId:_0x3cbe4c}=await this['_revisionHistoryService']['connect'](_0x27767c['connection']);_0x27767c['addToReconnectionStack'](this),this['_lastRequestId']=_0x3cbe4c,await this['_fetchMissingUsers'](_0x443fe9);for(const _0x33d451 of _0x443fe9)this['_revisionTracker']['addRevisionData'](_0x33d451);this['listenTo'](_0x4d3022,'change:_isConnected',(_0x54d50f,_0x471565,_0x164840)=>{_0x164840&&(this['_oldOffset']=_0x4d3022['_offset'],_0x54d50f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x27767c,'state',_0x59e00a=>_0x59e00a===_0x169e89['CONNECTED']);}async['reconnect'](){const _0x461535=this['editor']['plugins']['get'](z),_0x4a2b30=this['editor']['plugins']['get'](tt),_0x886694=async()=>{const _0x4bfc80=this['_revisionTracker']['currentRevision'],_0x440b25=_0x4bfc80['id'],_0x5a9f91=_0x440b25!==_0x4a2b30['sessionId'];if(_0x5a9f91){const _0x3530df=_0x4a2b30['_offset']-this['_oldOffset'],_0x3b0e8b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4bfc80['toVersion']+_0x3530df!==_0x3b0e8b){const _0x4bab6b=_0x4bfc80['fromVersion']+_0x3530df,_0x4379b7=this['editor']['plugins']['get'](_0x48e39d),_0x79c857=this['_revisionTracker']['buildRevisionData']({'revision':_0x4bfc80,'from':_0x4bab6b,'to':_0x3b0e8b});_0x79c857['id']=_0x4bfc80['id'];const _0x32a9bb=_0x79c857['authorsIds']['map'](_0x2d3573=>_0x4379b7['getUser'](_0x2d3573));_0x4bfc80['_update']({..._0x79c857,'authors':_0x32a9bb},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4bfc80['id'],_0x79c857,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3b0e8b,(_0x4bfc80['toVersion']===_0x4bfc80['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x440b25)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x440b25),this['_revisionTracker']['_createCurrentRevision'](_0x3b0e8b));}const {revisions:_0x1adec9,requestId:_0x423dc7}=await this['_revisionHistoryService']['reconnect'](_0x461535['connection'],this['_lastRequestId']);_0x5a9f91&&_0x1adec9['length']>0x0?_0x4a2b30['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1adec9),this['_handleRevisionsUpdate'](_0x1adec9,_0x423dc7),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4a2b30['_isConnected']?_0x886694():new Promise((_0x169afb,_0x987710)=>{_0x4a2b30['once']('change:_isConnected',()=>{_0x886694()['then'](_0x169afb)['catch'](_0x987710);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5c2b9d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5ceda4=>{_0x5ceda4['off'](),_0x5c2b9d();});});}['_getLatestVersionFromServerOperations'](){const _0x26028d=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x38ea08 of _0x26028d)if('marker'!==_0x38ea08['type']||_0x38ea08['affectsData'])return _0x38ea08['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b618d=this['editor']['plugins']['get'](tt);return new Promise(_0x4e5fe2=>{_0x1b618d['_isPendingUpdate']?_0x1b618d['once']('change:_isPendingUpdate',()=>{_0x4e5fe2(this['_getLatestVersionFromServerOperations']());}):_0x4e5fe2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xd511b6,_0x3e866c){const _0x3ab700=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3e866c;for(const _0x3ef048 of _0xd511b6){const _0x3bfce0=_0x3ab700['getRevision'](_0x3ef048['id']);if(_0x3bfce0){if((_0x3ef048['fromVersion']||_0x3ef048['toVersion'])&&(_0x3ef048['diffData']=null),_0x3bfce0===this['_revisionTracker']['currentRevision']){const _0x128c54=Math['max'](_0x3bfce0['toVersion'],_0x3ef048['toVersion']),_0x73cac9=Math['max'](_0x3bfce0['fromVersion'],_0x3ef048['fromVersion']);let _0x189f3d;_0x3bfce0['toVersion']===_0x3ef048['toVersion']&&_0x3bfce0['fromVersion']===_0x3ef048['fromVersion']?(_0x189f3d=!0x0,this['_preventResendingRevisionData'](_0x3ef048)):_0x3ef048['toVersion']===_0x128c54&&_0x3ef048['fromVersion']===_0x73cac9?_0x189f3d=!0x1:(_0x3bfce0['toVersion']===_0x128c54&&_0x3bfce0['fromVersion']===_0x73cac9||this['_fixRevision']({'revision':_0x3bfce0,'from':_0x73cac9,'to':_0x128c54}),_0x189f3d=!0x0),_0x189f3d&&(delete _0x3ef048['fromVersion'],delete _0x3ef048['toVersion'],delete _0x3ef048['diffData'],delete _0x3ef048['createdAt'],delete _0x3ef048['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3ef048),this['_preventResendingRevisionData'](_0x3ef048);}else this['_revisionTracker']['addRevisionData'](_0x3ef048);}const _0x569501=_0x3ab700['getRevisions']();_0x569501['reverse']();for(let _0x4823ba=0x0;_0x4823ba<_0x569501['length']-0x1;_0x4823ba++){const _0x523234=_0x569501[_0x4823ba],_0x2f94b8=_0x569501[_0x4823ba+0x1];if(_0x523234['fromVersion']<_0x2f94b8['toVersion']){const _0x216a6a=_0x2f94b8['toVersion'],_0x5ce45c=Math['max'](_0x216a6a,_0x523234['toVersion']);this['_fixRevision']({'revision':_0x523234,'from':_0x216a6a,'to':_0x5ce45c});}}}['_fixRevision']({revision:_0x3e3a0a,from:_0x4a3356,to:_0x402156}={}){const _0x1e372b=this['editor']['plugins']['get'](_0x48e39d),_0x3e29b3=this['_revisionTracker']['buildRevisionData']({'revision':_0x3e3a0a,'from':_0x4a3356,'to':_0x402156});_0x3e29b3['authors']=_0x3e29b3['authorsIds']['map'](_0x4d1901=>_0x1e372b['getUser'](_0x4d1901)),_0x3e3a0a['_update'](_0x3e29b3);}['_preventResendingRevisionData'](_0x173044){const _0x4a596b={};_0x4a596b['id']=_0x173044['id'];for(const _0xf13c7e of Object['keys'](_0x173044))'id'!==_0xf13c7e&&(_0x4a596b[_0xf13c7e]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4a596b['id'],_0x4a596b,!0x0);}async['_fetchMissingUsers'](_0xa28c14){const _0x3e075c=this['editor']['plugins']['get'](_0x48e39d),{connection:_0x4ae1b5}=this['editor']['plugins']['get'](z),_0x2b490e=new Set();for(const _0x548047 of _0xa28c14){for(const _0x594003 of _0x548047['authorsIds'])_0x58ae17(_0x594003);_0x548047['creatorId']&&_0x58ae17(_0x548047['creatorId']);}if(0x0===_0x2b490e['size'])return;const _0x281027=await _0xbe5ea0['getMany'](_0x4ae1b5,Array['from'](_0x2b490e));for(const _0x26213f of _0x281027)_0x3e075c['getUser'](_0x26213f['id'])||_0x3e075c['addUser'](_0x26213f);function _0x58ae17(_0x173794){_0x3e075c['getUser'](_0x173794)||_0x2b490e['add'](_0x173794);}}}function pt(_0x5c93ff){return _0x5c93ff['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5c93ff['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c93ff['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x1d5197{static get['requires'](){return[_0x640475,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x4465b8{['_collapseAt'];constructor(_0x1bc7da,_0x23c5d8=0x6){super(_0x1bc7da);const _0x5d6b0c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x23c5d8,this['bind']('isHidden')['to'](this,'usersCount',_0xe0b3c6=>_0xe0b3c6<_0x23c5d8),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5d6b0c['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':_0x5d6b0c['to']('usersCount',_0x3d096b=>'+'+(_0x3d096b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x4465b8{['items'];['keystrokes'];constructor(_0x3314a8){super(_0x3314a8);const _0x2f8664=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4efd8d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2f8664['if']('hasPopup'),'aria-expanded':_0x2f8664['to']('isExpanded',_0x3c5527=>this['hasPopup']&&String(_0x3c5527)),'aria-label':_0x2f8664['to']('hasPopup',_0x34262c=>X(_0x3314a8,_0x34262c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2f8664['to']('hasPopup',_0x44c473=>!!_0x44c473&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2f8664['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2f8664['to'](_0x35339e=>{const _0x6279e7=_0x35339e,_0x10ddb7=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1107a8=document['querySelector']('.ck-balloon-panel_with-arrow');_0x10ddb7?.['contains'](_0x6279e7['relatedTarget'])||_0x1107a8?.['contains'](_0x6279e7['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x232b8f,_0xd26640,_0x5bd970)=>{this['element']&&(_0x5bd970?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 _t extends _0x4465b8{['counterView'];['inlineListView'];constructor(_0x5ed174,_0x4cf4a6=0x6){super(_0x5ed174);const _0x58acf7=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x4cf4a6),this['inlineListView']=new vt(_0x5ed174),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x310503 of this['inlineListView']['items'])_0x310503['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',_0x58acf7['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x4465b8{['listWrapperView'];constructor(_0xa19980,_0x49e06e){super(_0xa19980);const _0x48b46e=this['bindTemplate'];this['listWrapperView']=new bt(_0xa19980,_0x49e06e),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0xa19980,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x48b46e['to'](_0x36b955=>{const _0x24aa1f=_0x36b955,_0x5520be=document['querySelector']('.ck-presence-list__list'),_0x582be5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5520be?.['contains'](_0x24aa1f['relatedTarget'])||_0x582be5?.['contains'](_0x24aa1f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x493848{constructor(_0x456191,_0x113ca1){super(_0x456191);const _0x5619d3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x113ca1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5619d3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5619d3['to']('role'),'aria-label':_0x5619d3['to']('ariaLabel'),'aria-labelledby':_0x5619d3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x29912a['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1b9cd8=this['element'];_0x1b9cd8&&(this['_isScrollable']=Math['max'](_0x1b9cd8['scrollHeight'],_0x1b9cd8['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x1aed03{['userView'];constructor(_0x4fdd5a,_0x84c695,_0x44e128){super(_0x4fdd5a);const _0x2ebbb4=this['bindTemplate'];this['userView']=new _0x4530a1(_0x4fdd5a,_0x84c695);const _0x3152d3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x84c695['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x84c695['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x84c695['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x84c695['color']['getColorVariable'](),'--ck-user-color-alpha':_0x84c695['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x44e128&&(_0x3152d3['tag']='button',_0x3152d3['on']={'click':_0x2ebbb4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3152d3);}['focus'](){this['element']['focus']();}}class It extends _0x4465b8{['userView'];['markerView'];constructor(_0x4ef511,_0x5c94de,_0xfc546a){super(_0x4ef511);const _0x337697=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4530a1(_0x4ef511,_0x5c94de),this['markerView']=new St(_0x4ef511,_0x5c94de);const _0x259167=new _0x1be434(_0x4ef511);_0x259167['template']['tag']='span',_0x259167['text']=_0x5c94de['name'];const _0x2598de={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x337697['to']('isFocusable',_0xc20348=>!!_0xc20348&&0x0),'aria-labelledby':_0x259167['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x337697['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x337697['to']('hasTooltip',_0x4d5796=>!_0x4d5796),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x259167]};_0xfc546a&&(_0x2598de['tag']='button',_0x2598de['on']={'click':_0x337697['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2598de);}}class St extends _0x4465b8{constructor(_0x2ab3e3,_0x1e922f){super(_0x2ab3e3),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1e922f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1e922f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1e922f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x39cb58{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x72abf0){super(_0x72abf0),this['context']['config']['define']('presenceList',Tt);const _0x45e346=_0x72abf0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x45e346)throw new _0x849088('presencelist-collapseat-invalid-format',this);if(_0x45e346<0x1)throw new _0x849088('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x432b74(),this['balloonPanelView']=new _0x49fda1(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xf0467a of this['_allConnectedUsers'])this['_handleUserAdd'](_0xf0467a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4e8753,_0x9fb91a)=>{this['_handleUserAdd'](_0x9fb91a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2a935d,_0x2f585f)=>{this['_handleUserRemove'](_0x2f585f);});}['_createView'](){const _0x13c48b=this['context'],_0x11196c=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x29843a=this['balloonPanelView'];if(!_0x2b54d6(_0x13c48b['config']['get']('presenceList.container')))throw new _0x849088('presencelist-missing-container',this);return _0x11196c['counterView']['bind']('usersCount')['to'](this),_0x11196c['bind']('isCollapsed')['to'](this,'usersCount',_0x569e6c=>{const {collapseAt:_0x438a17}=_0x13c48b['config']['get']('presenceList'),_0x406b4d=_0x569e6c>=_0x438a17;if(_0x406b4d&&!_0x11196c['inlineListView']['items']['find'](_0x516d1a=>_0x516d1a instanceof wt)){const _0x160133=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x160133&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x11196c['inlineListView']['items']['add'](_0x11196c['counterView']);}return _0x406b4d||this['hideDropdown'](),_0x406b4d;}),_0x11196c['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x307313=>{const _0x178312=_0x13c48b['config']['get']('presenceList'),_0x4f0a08=new It(_0x13c48b['locale'],_0x307313,!!_0x178312['onClick']);return _0x4f0a08['bind']('hasTooltip')['to'](_0x11196c,'isCollapsed',_0x3ee0c0=>!_0x3ee0c0),_0x4f0a08['bind']('isFocusable')['to'](_0x11196c,'isCollapsed',_0x469b15=>!_0x469b15),_0x178312['onClick']&&this['listenTo'](_0x4f0a08,'execute',()=>{this['view']['isCollapsed']||_0x178312['onClick'](_0x307313,_0x4f0a08['element']);}),_0x4f0a08;}),this['listenTo'](_0x11196c['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x11196c['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x11196c['inlineListView']['keystrokes']['set']('Enter',(_0x77c032,_0x453060)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x453060());}),_0x11196c['render'](),_0x29843a['render'](),_0x5ef9f9({'emitter':_0x11196c,'activator':()=>_0x29843a['isVisible'],'contextElements':[_0x29843a['element'],_0x11196c['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x13c48b['config']['get']('presenceList.container')['appendChild'](_0x11196c['element']),this['_bodyCollection']=new _0x208c83(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x11196c;}['_handleUserAdd'](_0x3c66c6){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3c66c6['isMe'])return;const _0x4db044=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4db044-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2b022=_0x3c66c6['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3c66c6,_0x2b022);}['_handleUserRemove'](_0x2ff49c){this['usersCount']--;const {collapseAt:_0x24d364}=this['context']['config']['get']('presenceList'),_0x210d50=this['usersCount']>=_0x24d364;if(this['currentDisplayedUsers']['get'](_0x2ff49c['id']))this['currentDisplayedUsers']['remove'](_0x2ff49c['id']);else{if(_0x210d50&&this['currentDisplayedUsers']['length']+0x1===_0x24d364-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x210d50?0x1:0x0)<this['usersCount']){for(const _0x45d4cf of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x45d4cf['id'])&&(this['currentDisplayedUsers']['add'](_0x45d4cf,Math['min'](this['currentDisplayedUsers']['length']-(_0x210d50?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x210d50?0x1:0x0)===_0x24d364-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x459df4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x459df4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x7d3234}=this['presenceDropdownView'];_0x7d3234['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3c1f05=>{if(!_0x459df4['displayMe']&&_0x3c1f05['isMe'])return null;const _0x33a60a=new kt(this['context']['locale'],_0x3c1f05,!!_0x459df4['onClick']);return _0x459df4['onClick']&&this['listenTo'](_0x33a60a,'execute',()=>{_0x459df4['onClick'](_0x3c1f05,_0x33a60a['element']);}),_0x33a60a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x7d3234['focus'](),_0x7d3234['checkIfScrollable']();const _0x367df0=(_0x5c7294,_0x300afe)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x300afe();};_0x7d3234['keystrokes']['set']('Esc',_0x367df0),_0x7d3234['keystrokes']['set']('Shift+Tab',_0x367df0),_0x7d3234['keystrokes']['set']('Tab',(_0x114e39,_0x142b19)=>{!function(_0x319207){const _0x515c0a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x269df9=>_0x269df9+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x656ebd=[...document['body']['querySelectorAll'](_0x515c0a)]['filter'](_0x418fa9=>_0x418fa9===document['activeElement']||_0x418fa9['offsetWidth']+_0x418fa9['offsetHeight']>0x0)['sort']((_0x237fa5,_0x31f2ef)=>(_0x237fa5['tabIndex']||0x0)-(_0x31f2ef['tabIndex']||0x0)),_0x39e3ff=_0x656ebd['indexOf'](_0x319207),_0x4e7510=_0x656ebd[(_0x39e3ff+0x1)%_0x656ebd['length']];_0x4e7510&&_0x4e7510['focus']();}(this['view']['element']),this['hideDropdown'](),_0x142b19();}),_0x7d3234['focusTracker']['add'](this['view']['element']),_0x7d3234['focusTracker']['on']('change:isFocused',(_0x4b112f,_0x429eca,_0x30f9a8)=>{_0x30f9a8||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 Pt extends _0x39cb58{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{ContextPlugin as _0x6b13bf,Plugin as _0x512c3b,PendingActions as _0x4c8145,Context as _0x59ae87}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x238e54,CKEditorError as _0x5d88de,Collection as _0x37a42c,global as _0x57454e,version as _0x3e5cdd,uid as _0x487873,KeystrokeHandler as _0x2864f3}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4edca5,View as _0x45d855,ListView as _0x28fa98,ListItemView as _0xbb6ce2,LabelView as _0x2db3b4,BalloonPanelView as _0x246412,clickOutsideHandler as _0x429dd3,BodyCollection as _0x3c32f1}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x39b5f6,History as _0x3e3e59,NoOperation as _0xb173b1,InsertOperation as _0x5f5a5c,MarkerOperation as _0x561ae5,RootAttributeOperation as _0x694689,transformOperationSets as _0x4a9acb,OperationFactory as _0x350a65}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0xa5e6d9}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x496e3e,WEB_SOCKET_GATEWAY_STATES as _0x4f3cbc,CollaborativeEditingService as _0x456026,User as _0x2c2031,CommentsService as _0xad8fa8,TrackChangesService as _0x5ba1eb,RevisionHistoryService as _0x1e91e1,EditorService as _0x19bfcd}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x3847b0,UserView as _0x35e11e}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x77fc10}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x107d71,TrackChanges as _0x26b3cc}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x3cd3b6,Comments as _0x380a1c,CommentsEditing as _0x204e01}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x523413}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0xf133dc}from'es-toolkit/compat';class z extends _0x6b13bf{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x496e3e)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xa5e6d9,_0x4edca5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x47f6b8){super(_0x47f6b8),this['set']('state',_0x4f3cbc['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x238e54())();}['init'](){const _0x5ef00a=this['context'],_0x58bcf4=_0x5ef00a['plugins']['get'](_0xa5e6d9),_0x5e6a84=_0x5ef00a['plugins']['get'](_0x4edca5);if(!_0x58bcf4['token'])throw new _0x5d88de('websocketgateway-missing-token',this);if(!_0x58bcf4['webSocketUrl'])throw new _0x5d88de('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),z['WebSocketGateway']['connect'](_0x58bcf4['token'],_0x58bcf4['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5d2811=>{if(this['connection']=_0x5d2811,this['bind']('state')['to'](_0x5d2811,'state',this,'_isBrowserOffline',(_0x40a7bc,_0x25a955)=>('connected'!==_0x40a7bc&&(this['_shouldPluginsReconnect']=!0x0),_0x25a955||_0x40a7bc!==_0x4f3cbc['CONNECTED']?_0x4f3cbc['DISCONNECTED']:this['state']==_0x4f3cbc['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4f3cbc['CONNECTING']):_0x4f3cbc['CONNECTED'])),this['connection']['on']('error',(_0x9a8462,_0x421463)=>{if('limitExceeded'!==_0x421463['code'])throw console['error'](_0x421463),new _0x5d88de('cloudservices-init',null,{'originalError':_0x421463});_0x5e6a84['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'});}),!_0x5d2811['me'])return new Promise(_0x18daed=>_0x5d2811['on']('change:me',_0x18daed));})['catch'](_0xfaf447=>{throw console['error'](_0xfaf447),new _0x5d88de('cloudservices-init',null,{'originalError':_0xfaf447});});}['addToReconnectionStack'](_0x275613){if('function'!=typeof _0x275613['reconnect'])throw new _0x5d88de('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x275613))throw new _0x5d88de('websocketgateway-plugin-already-registered',this,{'name':_0x275613['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x275613);}['removeFromReconnectionStack'](_0x295a30){this['_reconnectionStack']['delete'](_0x295a30);}['isInReconnectionStack'](_0x4a9192){return this['_reconnectionStack']['has'](_0x4a9192);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x570114=>_0x570114['reconnect']())))['then'](()=>this['state']=_0x4f3cbc['CONNECTED'])['catch'](_0x4bb355=>{throw console['error'](_0x4bb355),new _0x5d88de('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4f3cbc['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x6b13bf{['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[z,_0x3847b0];}constructor(_0x412c73){super(_0x412c73),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x37a42c(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3847b0);}['init'](){const _0x4b577e=this['context']['plugins']['get'](z);this['listenTo'](_0x4b577e,'change:state',(_0x39da6b,_0x219aba,_0x72d3c2)=>{if('connected'!==_0x72d3c2)this['channelSessions']['forEach'](_0x3d014e=>_0x3d014e['clear']()),this['channelConnectedUsers']['forEach'](_0x500274=>_0x500274['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x21c212,_0xa11da]of this['_registeredSessions'])for(const _0x3012be of _0xa11da)this['_handleSessionAdd'](_0x21c212,_0x3012be);}}),this['_createUser'](_0x4b577e['connection']['me'],!0x0);}['register'](_0x305b77,_0x5aeca4){if(this['_registeredSessions']['has'](_0x305b77))throw new _0x5d88de('sessions-register-already-registered',null,{'channelId':_0x305b77});this['_registeredSessions']['set'](_0x305b77,_0x5aeca4),this['channelSessions']['set'](_0x305b77,new _0x37a42c()),this['channelConnectedUsers']['set'](_0x305b77,new _0x37a42c()),this['listenTo'](_0x5aeca4,'add',(_0x26e4e6,_0x46e7e1)=>this['_handleSessionAdd'](_0x305b77,_0x46e7e1)),this['listenTo'](_0x5aeca4,'remove',(_0xfe60b6,_0x1e7899)=>this['_handleSessionRemove'](_0x305b77,_0x1e7899));for(const _0x4e85fe of _0x5aeca4)this['_handleSessionAdd'](_0x305b77,_0x4e85fe);}['unregister'](_0x4a7d8b){if(!this['_registeredSessions']['has'](_0x4a7d8b))throw new _0x5d88de('sessions-unregister-not-exist',null,{'channelId':_0x4a7d8b});const _0x5b64ce=this['_registeredSessions']['get'](_0x4a7d8b);this['stopListening'](_0x5b64ce);for(const _0x1bf3e2 of _0x5b64ce)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x4a7d8b,_0x1bf3e2);this['_registeredSessions']['delete'](_0x4a7d8b),this['channelSessions']['delete'](_0x4a7d8b),this['channelConnectedUsers']['delete'](_0x4a7d8b);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0xee0ed5){for(const _0x3f3e72 of this['channelSessions']['values']())for(const _0x54fb11 of _0x3f3e72)if(_0x54fb11['id']===_0xee0ed5)return _0x54fb11['user'];}['getUserSessions'](_0x333461,_0xe5b06f){const _0x23448d=_0xe5b06f?[this['channelSessions']['get'](_0xe5b06f)]:this['channelSessions']['values'](),_0x18b566=new Set();for(const _0x5f3a19 of _0x23448d)for(const _0x2068a2 of _0x5f3a19)_0x2068a2['user']['id']===_0x333461['id']&&_0x18b566['add'](_0x2068a2['id']);return _0x18b566;}['getUserRole'](_0x4d0666){for(const _0x39734c of this['channelSessions']['values']())for(const _0x46065c of _0x39734c)if(_0x46065c['user']===_0x4d0666)return _0x46065c['role'];}['_handleSessionAdd'](_0x456917,_0x49b871){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x2f45a0=_0x49b871['user'],_0x8ef50d=this['_users']['getUser'](_0x2f45a0['id'])||this['_createUser'](_0x2f45a0),_0x213094=Object['assign']({},_0x49b871,{'user':_0x8ef50d});if(this['channelSessions']['get'](_0x456917)['add'](_0x213094),!_0x2f45a0['hiddenInPresenceList']){const _0x1cc8ba=this['channelConnectedUsers']['get'](_0x456917);_0x1cc8ba['has'](_0x8ef50d['id'])||_0x1cc8ba['add'](_0x8ef50d),this['allConnectedUsers']['has'](_0x8ef50d['id'])||_0x2f45a0['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x8ef50d,_0x8ef50d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x456917,{'channelId':_0x456917,'session':_0x213094});}['_handleSessionRemove'](_0x4b48c2,_0x3817ab){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3d6f2c=this['channelConnectedUsers']['get'](_0x4b48c2),_0x4afc03=_0x3817ab['user'];_0x4afc03['id']&&(this['channelSessions']['get'](_0x4b48c2)['remove'](_0x3817ab['id']),_0x3d6f2c['has'](_0x4afc03['id'])&&!this['getUserSessions'](_0x4afc03,_0x4b48c2)['size']&&_0x3d6f2c['remove'](_0x4afc03['id']),this['allConnectedUsers']['get'](_0x4afc03['id'])&&!this['getUserSessions'](_0x4afc03)['size']&&this['allConnectedUsers']['remove'](_0x4afc03['id']));}['_createUser'](_0xd47108,_0x4b8e18){const _0x84e6fa=this['_users']['addUser'](_0xd47108);return _0x4b8e18&&this['_users']['defineMe'](_0xd47108['id']),_0x84e6fa['orderNumber']=this['_uniqueUsersCount']++,_0x84e6fa;}}class K extends _0x512c3b{['_domEmitter']=new(_0x238e54())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x588541=this['editor'],_0x3c631c=_0x588541['plugins']['get'](Y);_0x588541['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x223850,{writer:_0x3d57a6})=>function(_0x2e7404,_0x393906,_0x55e21f,_0x4bcad6){const _0x2ed344=_0x2e7404['markerName']['split'](':')[0x2],_0x590f79=_0x55e21f['getUserBySessionId'](_0x2ed344);if(!_0x590f79||_0x2ed344===_0x55e21f['mySessionId'])return;if(!_0x4bcad6['model']['schema']['checkChild'](_0x2e7404['markerRange']['start'],'$text'))return;const _0x227dbd={'class':'ck-user__marker\x20'+_0x590f79['color']['getMarkerClass'](),'style':Q(_0x590f79),'data-name':_0x590f79['name'],'data-session-id':_0x2ed344},_0x367db0=_0x4bcad6['model']['markers']['get'](_0x2e7404['markerName']),_0x27c29a=_0x367db0['getStart'](),_0x1f15a8=_0x27c29a['nodeAfter'],_0x225bae=_0x4bcad6['model']['schema'];if(_0x1f15a8&&_0x225bae['isObject'](_0x1f15a8)&&_0x225bae['isInline'](_0x1f15a8)&&!_0x4bcad6['model']['markers']['get']('user:range:'+_0x2ed344)['getRange']()['isCollapsed'])return;const _0x77e3d8=_0x27c29a['parent'];return _0x4bcad6['model']['schema']['isLimit'](_0x77e3d8)&&!_0x4bcad6['model']['hasContent'](_0x77e3d8)&&(_0x227dbd['contenteditable']=!0x1),function(_0x118b4d,_0x941fa1,_0x33687b){const _0x2203e0=_0x118b4d['createUIElement']('span',_0x941fa1);return _0x118b4d['setCustomProperty']('userPositionMarker',!0x0,_0x2203e0),_0x2203e0['render']=function(_0x31d9ed){const _0x415d8b=this['toDomElement'](_0x31d9ed),_0x303c3d=document['createElement']('span');return _0x303c3d['classList']['add']('ck-user__marker-tooltip'),_0x303c3d['setAttribute']('contenteditable','false'),_0x303c3d['setAttribute']('spellcheck','false'),_0x303c3d['textContent']=_0x33687b['name'],_0x415d8b['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x303c3d['outerHTML']+'⁠',_0x415d8b['addEventListener']('mouseenter',()=>{_0x415d8b['classList']['add']('ck-user__marker_hovered');}),_0x415d8b['addEventListener']('mouseleave',()=>{_0x415d8b['classList']['remove']('ck-user__marker_hovered');}),_0x415d8b;},_0x2203e0['isSimilar']=function(_0x259e4c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x259e4c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x259e4c['getAttribute']('data-session-id'));},_0x2203e0;}(_0x393906,_0x227dbd,_0x590f79);}(_0x223850,_0x3d57a6,_0x3c631c,_0x588541)}),_0x588541['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3bbe2d=>function(_0x32c954,_0x383051){const _0x54a32b=_0x32c954['markerName']['split'](':')[0x2];if(_0x54a32b===_0x383051['mySessionId'])return null;const _0x3c3af3=_0x383051['getUserBySessionId'](_0x54a32b);if(!_0x3c3af3)return{'id':_0x54a32b,'classes':[]};return{'id':_0x54a32b,'classes':['ck-user__selection',_0x3c3af3['color']['getSelectionClass']()],'attributes':{'style':Q(_0x3c3af3),'data-session-id':_0x54a32b},'priority':0x7d0+_0x3c3af3['orderNumber']};}(_0x3bbe2d,_0x3c631c)}),function(_0x467165){const _0x1d7c6b=_0x467165['model'],_0x28749b=new Map(),_0x523e95=_0x467165['plugins']['get'](Y);_0x1d7c6b['markers']['on']('update:user:range',(_0x44045b,_0x171836,_0x21bbcf,_0x74db3)=>{if(!_0x74db3&&_0x28749b['get'](_0x171836['name']))return _0x28749b['get'](_0x171836['name'])['detach'](),void _0x28749b['delete'](_0x171836['name']);const _0x28122a=_0x171836['name']['split'](':')[0x2];if(_0x28122a===_0x523e95['mySessionId'])return;const _0x387f39='user:position:'+_0x28122a;_0x1d7c6b['markers']['has'](_0x387f39)&&_0x467165['editing']['reconvertMarker'](_0x387f39),_0x171836['on']('change:range',(_0x8f379b,_0x5af8af,_0xdb2075)=>{if('$graveyard'!=_0x5af8af['root']['rootName']&&'$graveyard'==_0x171836['getRange']()['root']['rootName']&&!_0x28749b['has'](_0x171836['name'])){const _0x45de3d=_0x1d7c6b['schema']['getNearestSelectionRange'](_0xdb2075['deletionPosition']);if(_0x45de3d){const _0x6c95a2=_0x39b5f6['fromRange'](_0x45de3d);_0x28749b['set'](_0x171836['name'],_0x6c95a2),_0x6c95a2['on']('change:range',(_0x349592,_0x4fb0c5,_0x3a891a)=>{if('$graveyard'==_0x6c95a2['root']['rootName']){const _0x49d357=_0x1d7c6b['schema']['getNearestSelectionRange'](_0x3a891a['deletionPosition']);_0x49d357?(_0x6c95a2['start']=_0x49d357['start'],_0x6c95a2['end']=_0x49d357['end']):(_0x28749b['delete'](_0x171836['name']),_0x6c95a2['detach']());}});}}});}),_0x1d7c6b['document']['on']('change',()=>{_0x28749b['size']>0x0&&_0x1d7c6b['enqueueChange']({'isUndoable':!0x1},_0x17154b=>{for(const [_0x1a0cb1,_0x3bfacc]of _0x28749b)'$graveyard'==_0x1d7c6b['markers']['get'](_0x1a0cb1)['getRange']()['root']['rootName']&&(J(_0x1a0cb1['split'](':')[0x2],_0x3bfacc['toRange'](),_0x1d7c6b,_0x17154b),_0x3bfacc['detach']());_0x28749b['clear']();});});}(_0x588541),this['_domEmitter']['listenTo'](_0x57454e['document'],'keydown',(_0x52474d,{key:_0xebb1a2})=>{'Escape'===_0xebb1a2&&function(_0xee4a24){_0xee4a24['editing']['view']['change'](_0x5e489e=>{for(const _0x309360 of _0xee4a24['model']['markers']){if(!_0x309360['name']['startsWith']('user:position'))continue;const _0x1f9e41=_0xee4a24['editing']['mapper']['markerNameToElements'](_0x309360['name']);if(_0x1f9e41){for(const _0x5521b1 of _0x1f9e41)_0x5e489e['removeClass']('ck-user__marker_hovered',_0x5521b1);}}});}(_0x588541);},{'useCapture':!0x0});}['afterInit'](){const _0xea15ec=this['editor'],_0x5b00e1=_0xea15ec['commands']['get']('undo');_0x5b00e1&&_0xea15ec['model']['on']('applyOperation',(_0x213937,_0x13fe45)=>{const _0x1a20ac=_0x13fe45[0x0];if(!_0x1a20ac['isDocumentOperation'])return;if('marker'!=_0x1a20ac['type']||!_0x1a20ac['name']['startsWith']('user:'))return;const _0x5f3a72=_0x1a20ac['batch'];_0x5b00e1['_createdBatches']['has'](_0x5f3a72)&&(_0x1a20ac['newRange']=_0x1a20ac['oldRange']?_0xea15ec['model']['createRange'](_0x1a20ac['oldRange']['start'],_0x1a20ac['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1c8d6e=this['editor'],_0x1a5c51=_0x1c8d6e['model']['document'],_0x418847=_0x1c8d6e['plugins']['get'](Y);_0x1c8d6e['model']['enqueueChange']({'isUndoable':!0x1},_0x273d46=>{const _0x3992b2='user:range:'+_0x418847['mySessionId'],_0x226a9a='user:position:'+_0x418847['mySessionId'],_0x209f34=_0x1c8d6e['model']['markers']['has'](_0x3992b2);_0x1c8d6e['editing']['view']['hasDomSelection']?J(_0x418847['mySessionId'],_0x1a5c51['selection']['getFirstRange'](),_0x1c8d6e['model'],_0x273d46):_0x209f34&&(_0x273d46['removeMarker'](_0x3992b2),_0x273d46['removeMarker'](_0x226a9a));});}}function J(_0x5978b7,_0x509277,_0x518d9b,_0xeb864c){const _0x5902a9='user:range:'+_0x5978b7,_0x4c147e='user:position:'+_0x5978b7,_0x540999=_0x509277['getContainedElement']();let _0x4478c8=_0x509277['start'];if(_0x540999&&_0x540999['is']('element','tableCell')){const _0x31b48c=function(_0x4f2ae8,_0x22d2f3){for(const _0x496971 of _0x4f2ae8['getPositions']())if(_0x22d2f3['schema']['checkChild'](_0x496971,'$text'))return _0x496971;}(_0x509277,_0x518d9b);_0x31b48c&&(_0x4478c8=_0x31b48c,_0x509277=_0xeb864c['createRange'](_0x4478c8));}const _0x2579f0=_0xeb864c['createRange'](_0x4478c8);_0x518d9b['markers']['has'](_0x5902a9)?(_0xeb864c['updateMarker'](_0x5902a9,{'range':_0x509277}),_0xeb864c['updateMarker'](_0x4c147e,{'range':_0x2579f0})):(_0xeb864c['addMarker'](_0x5902a9,{'range':_0x509277,'usingOperation':!0x0}),_0xeb864c['addMarker'](_0x4c147e,{'range':_0x2579f0,'usingOperation':!0x0}));}function Q(_0x14a8d7){return'--ck-user-color:'+_0x14a8d7['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x14a8d7['color']['getColorAlphaVariable']()+';';}function X(_0x4bba21,_0x4b7b61,_0x1b57b5){const _0x117707=_0x4bba21['t'],t=_0x4bba21['t'];switch(_0x4b7b61){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 _0x117707({'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'},_0x1b57b5);default:return'';}}let Z=0x1;class tt extends _0x512c3b{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x456026)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x4c8145,_0x3847b0,_0x4edca5];}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 _0x73018=this['serverHistory']['getOperations']();for(let _0x446831=_0x73018['length']-0x1;_0x446831>=0x0;_0x446831--){const _0x1b9cc5=_0x73018[_0x446831];if(!this['_disconnectionOperations']['has'](_0x1b9cc5))return _0x1b9cc5['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5d4ca8){if(super(_0x5d4ca8),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3e3e59(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5d88de('collaboration-missing-channelid',this);const _0x27e123=_0x5d4ca8['config']['get']('cloudServices.bundleVersion')||_0x3e5cdd;this['_service']=new tt['CollaborativeEditingService'](_0x27e123,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x77fc10(),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 it(this['_disconnectionOperations']);}['init'](){const _0x1ef5e9=this['editor'],_0x45b71b=_0x1ef5e9['plugins']['get'](_0x3847b0),_0xaca3e0=_0x1ef5e9['plugins']['get'](z);this['listenTo'](_0x45b71b,'getOperationAuthor',(_0x3cbf66,_0x5df583)=>{const _0x5773f0=_0x5df583[0x0];_0x5773f0['_authorId']&&(_0x3cbf66['return']=_0x45b71b['getUser'](_0x5773f0['_authorId']),_0x3cbf66['stop']()),null===_0x5773f0['_authorId']&&(_0x3cbf66['return']=null,_0x3cbf66['stop']());},{'priority':'high'}),this['listenTo'](_0x1ef5e9['model']['document']['selection'],'change:range',(_0x51fece,_0x8e5c03)=>{_0x8e5c03['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1ef5e9['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1ef5e9['model']['on']('applyOperation',(_0x3573d7,_0x3e158a)=>{const _0x5892a1=_0x3e158a[0x0];_0x5892a1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5892a1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xaca3e0,'state',this,'_hasSynchronizationProblem',(_0x32f65d,_0x41232c)=>'connected'===_0x32f65d&&!_0x41232c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1ef5e9['disableReadOnlyMode']('rtc-offline'):_0x1ef5e9['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1ef5e9['disableReadOnlyMode']('rtc-offline'):_0x1ef5e9['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x533105=this['editor']['plugins']['get'](Y),_0x541554=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x533105['unregister'](this['_channelId']);const _0x35c840=await this['_service']['reconnect'](_0x541554['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x35c840)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4cbf4b=await this['_service']['getConnectedSessions']();_0x533105['register'](this['_channelId'],_0x4cbf4b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2014f3){if(function(_0x4926bd){return'404'===_0x4926bd['code'];}(_0x2014f3)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x976e43){return'409'===_0x976e43['code'];}(_0x2014f3)){const _0x423a4a=X(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'](_0x423a4a);}else{if(!(_0x2014f3 instanceof et))throw _0x2014f3;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4b6c1d=this['editor']['plugins']['get'](z),_0x305050=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x305050['channelSessions']['has'](this['_channelId'])&&_0x305050['unregister'](this['_channelId']),_0x4b6c1d['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5bc90f){if(this['sessionId']!==_0x5bc90f['sessionId']&&this['_lastSyncedOperationId']!==_0x5bc90f['lastOperationId'])throw new et();return this['sessionId']=_0x5bc90f['sessionId'],this['_handleServerResponse']([],{..._0x5bc90f,'wereChangesApplied':!0x1,'data':_0x5bc90f['data']},'reconnect');}async['_connectService'](_0x456b42,_0x5cac2f=!0x1){const {connection:_0x473f39}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x473f39,this['_channelId'])['then'](_0x4ce972=>this['_initSessionsHandling'](_0x4ce972))['catch'](_0x335014=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x335014);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1e4041,_0x4ab03a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4ab03a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x1c2366=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x456b42);this['_isPendingUpdate']=!0x0;const _0x268863=await this['_service']['connect'](_0x473f39,this['_compressOperations'](_0x456b42),_0x1c2366);if(this['sessionId']=_0x268863['sessionId'],_0x5cac2f){if(!_0x268863['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x268863['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x456b42,_0x268863,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x268863,_0x456b42);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xeaae7a=this['editor']['plugins']['get'](Y),_0x49f5d3=this['editor']['plugins']['get'](K),_0x3cfb76=_0xeaae7a['channelSessions']['get'](this['_channelId']);_0x3cfb76&&_0x3cfb76['length']>0x1?_0x49f5d3['createUserMarkerOperations']():this['listenTo'](_0xeaae7a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xeaae7a['channelSessions']['get'](this['_channelId'])['length']&&_0x49f5d3['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4d5d3b,_0x551d9c,_0x2445d9,_0x4748a2){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x551d9c){const _0x50dbe3=this['_decompressOperations'](_0x2445d9,_0x4748a2);await this['_fetchMissingUsers'](_0x50dbe3),this['_handleExternalOperations'](_0x50dbe3,_0x551d9c,_0x2445d9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3a6454}=this['editor'];let _0x5a3455;try{_0x5a3455=await this['_service']['getDocumentDetails']();}catch{const _0x3cbd58=X(_0x3a6454,'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'](_0x3cbd58);}const _0x4f0364=_0x5a3455['currentDocumentSession']||_0x5a3455['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4f0364['lastOperationId']){const _0x4c095c=X(_0x3a6454,'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'](_0x4c095c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x10d02f){const _0x188df8=this['editor']['plugins']['get'](Y);this['listenTo'](_0x188df8,'sessionAdd:'+this['_channelId'],(_0x566e3b,{session:_0x116faa})=>{if(_0x116faa['id']===_0x188df8['mySessionId']){_0x566e3b['off']();const _0x4b59b1=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x21a657=_0x116faa['permissions'];_0x4b59b1&&_0x4b59b1['isEnabled']&&(_0x21a657=_0x21a657['filter'](_0x5b3303=>'document:write'!==_0x5b3303)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x21a657,this['_channelId']);}}),_0x188df8['register'](this['_channelId'],_0x10d02f);}['_initThrowingOnDataSet'](){const _0x3697df=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x17f72d)=>{if(!_0x17f72d[_0x17f72d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5d88de('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3697df['apply'](this['editor']['data'],_0x17f72d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x18d9da,[_0xd4916c])=>{if(this['_document']['version'])throw new _0x5d88de('realtimecollaborationclient-init-document-already-initialized',this);_0x18d9da['stop'](),this['_setPendingAction']();const _0x4115b8=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xcaa813])=>!_0xcaa813['lazyLoad'])['map'](([_0x586d7f,_0x4f5948])=>[_0x586d7f,_0x4f5948['modelAttributes']||{}])),_0x16332e=this['_getOperationsFromInitData'](_0xd4916c,_0x4115b8);0x0==_0x16332e['length']&&_0x16332e['push'](new _0xb173b1(0x0)),_0x18d9da['return']=this['_connectService'](_0x16332e)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1a445b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1a445b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xad156b,[_0x4656bf,_0xd64a06])=>{_0xad156b['stop']();const _0xfcb1da=this['editor']['model']['document']['getRoot'](_0x4656bf);if(!this['_knownRootNames']['has'](_0x4656bf)){const _0x5b2ebf=_0xd64a06&&_0xd64a06['data']?_0xd64a06['data']:'',_0x3d4477=_0xd64a06&&_0xd64a06['attributes']?_0xd64a06['attributes']:{};await this['_loadRoot'](_0x4656bf,_0x5b2ebf,_0x3d4477);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0xfcb1da['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0xfcb1da);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5ba2c7){const _0x1cf4dd=this['editor']['plugins']['get'](_0x3847b0),{connection:_0x1e0ed3}=this['editor']['plugins']['get'](z),_0x7f8e9a=new Set();for(const _0x4ea63f of _0x5ba2c7){const _0x286b37=_0x4ea63f['_authorId'];_0x286b37&&!_0x1cf4dd['getUser'](_0x286b37)&&_0x7f8e9a['add'](_0x286b37);}if(0x0===_0x7f8e9a['size'])return;const _0x2a1d5b=await _0x2c2031['getMany'](_0x1e0ed3,Array['from'](_0x7f8e9a));for(const _0x2b3a03 of _0x2a1d5b)_0x1cf4dd['getUser'](_0x2b3a03['id'])||_0x1cf4dd['addUser'](_0x2b3a03);}['_getOperationsFromInitData'](_0x5ae987,_0x580be0={}){const _0x32bdc7=this['editor']['model'],_0x4d6441=[];let _0x23b433=0x0;const _0x2cb80a='string'==typeof _0x5ae987?{'main':_0x5ae987}:_0x5ae987;for(const _0x2d5709 of Object['keys'](_0x2cb80a)){if(!this['_document']['roots']['has'](_0x2d5709))throw new _0x5d88de('realtimecollaborationclient-init-non-existent-root',this);const _0x7ee42=this['editor']['data']['parse'](_0x2cb80a[_0x2d5709]),_0x347fc2=this['_document']['getRoot'](_0x2d5709),_0x3f2066=new _0x5f5a5c(_0x32bdc7['createPositionAt'](_0x347fc2,0x0),_0x7ee42,_0x23b433++);_0x4d6441['push'](_0x3f2066);for(const [_0x2a0b20,_0x5b60a4]of _0x7ee42['markers']){const _0x2c0bbf=_0x32bdc7['createRange'](_0x32bdc7['createPositionFromPath'](_0x347fc2,_0x5b60a4['start']['path']['slice']()),_0x32bdc7['createPositionFromPath'](_0x347fc2,_0x5b60a4['end']['path']['slice']())),_0x4b01b9=new _0x561ae5(_0x2a0b20,null,_0x2c0bbf,_0x32bdc7['markers'],!0x0,_0x23b433++);_0x4d6441['push'](_0x4b01b9);}}if(_0x580be0)for(const [_0x817d7a,_0x14485e]of Object['entries'](_0x580be0)){const _0x16e0c2=_0x32bdc7['document']['getRoot'](_0x817d7a);if(!_0x16e0c2)throw new _0x5d88de('multi-root-editor-root-attributes-no-root',null);for(const [_0x31eb4f,_0x59fcf0]of Object['entries'](_0x14485e))if(null!==_0x59fcf0){const _0x4bb0d5=new _0x694689(_0x16e0c2,_0x31eb4f,null,_0x59fcf0,_0x23b433++);_0x4d6441['push'](_0x4bb0d5);}}return _0x4d6441;}async['_loadRoot'](_0x552810,_0x14189c,_0x13f9b9){this['_getOperationsFromInitData']({[_0x552810]:_0x14189c},{[_0x552810]:_0x13f9b9})['forEach']((_0x2a0f43,_0x5405be)=>{_0x2a0f43['baseVersion']=this['_document']['version']+_0x5405be,_0x2a0f43['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2a0f43);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x22e3ad,_0x1c1812){let _0x41bd0a;this['_offset']=_0x22e3ad['offset'];const _0x2e8e66=_0x22e3ad['wereChangesApplied']&&!_0x22e3ad['initData'],_0x5dc819=_0x2e8e66?0x0:_0x22e3ad['data']['baseVersion'];if(_0x1c1812['forEach'](_0x38839d=>{_0x38839d['_isInit']=!0x0,_0x38839d['createdAt']=_0x22e3ad['sessionCreatedAt'],_0x38839d['_authorId']=null;}),_0x2e8e66)_0x41bd0a=_0x1c1812,this['_applyOperationsSet'](_0x41bd0a,_0x2e8e66);else{if(_0x22e3ad['initData']){const _0x50a2bc=this['_getOperationsFromInitData'](_0x22e3ad['initData']);this['_document']['history']['version']=-_0x50a2bc['length'],_0x50a2bc['forEach'](_0x343d9e=>{_0x343d9e['baseVersion']-=_0x50a2bc['length'],_0x343d9e['createdAt']=_0x22e3ad['sessionCreatedAt'],_0x343d9e['_isInit']=!0x0,_0x343d9e['_authorId']=null;}),this['_applyOperationsSet'](_0x50a2bc,!0x0),this['serverHistory']['version']=-_0x50a2bc['length']+this['_offset'],this['_updateServerHistory'](_0x50a2bc);}this['_document']['history']['version']=_0x5dc819,_0x41bd0a=this['_decompressOperations'](_0x22e3ad['data'],_0x22e3ad['metadata']),await this['_fetchMissingUsers'](_0x41bd0a),this['_applyOperationsSet'](_0x41bd0a,_0x2e8e66);}_0x22e3ad['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x41bd0a,_0x22e3ad['lastOperationId']),this['_lastSyncedOperationId']=_0x22e3ad['lastOperationId']),this['serverHistory']['version']=_0x5dc819+this['_offset'],this['_updateServerHistory'](_0x41bd0a),_0x1c1812['filter'](_0x1b2c1f=>{const _0x264622=this['_getAffectedRoot'](_0x1b2c1f);return _0x264622&&!this['_knownRootNames']['has'](_0x264622);})['forEach']((_0x210d99,_0x3320b4)=>{_0x210d99['baseVersion']=this['_document']['version']+_0x3320b4,this['_saveOperationInBuffer'](_0x210d99);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x29f190,_0x5b3fef){const _0x156c1d=_0x5b3fef&&_0x5b3fef['message'];if(_0x156c1d&&_0x156c1d['startsWith']('realtimecollaborationclient'))throw _0x5b3fef;const _0x3d7a98=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x3d7a98['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5d88de(_0x29f190,this['editor'],_0x156c1d?{'originalError':_0x156c1d}:void 0x0);}['_saveOperationInBuffer'](_0x78d4c3){this['_knownOperations']['has'](_0x78d4c3)||(this['_knownOperations']['add'](_0x78d4c3),this['_bufferedOperations']['push'](_0x78d4c3),this['_pendingAction']||'marker'==_0x78d4c3['type']&&!_0x78d4c3['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5c7df6=!0x1){!_0x5c7df6&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3c653d=>{_0x3c653d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xc3dbb0=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4ce7f8){return _0x4ce7f8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ce7f8['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4ce7f8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xc3dbb0)||this['_crash'](_0xc3dbb0['message'],_0xc3dbb0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2062ac=>{this['on']('change:_isPendingUpdate',()=>{_0x2062ac();});});}async['_sendBufferedOperations'](){const _0x170516=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x170516['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x16c0e5=[...this['_bufferedOperations']];for(const _0x2bc2e3 of _0x16c0e5)_0x2bc2e3['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2bc2e3);const _0x3bb2d5=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x16c0e5),_0xa37ffe=Z++,_0x3e3396=this['_compressOperations'](_0x16c0e5),_0x3daae7=await this['_service']['sendOperations'](_0x3e3396,_0x3e3396['baseVersion'],_0x3bb2d5);try{return await this['_handleServerResponse'](_0x16c0e5,_0x3daae7,_0xa37ffe);}catch(_0x533f3a){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x533f3a);}}async['_handleServerResponse'](_0x6ff03e,_0x3e2d50,_0x3b7f58){if('error'in _0x3e2d50)throw _0x3e2d50['error'];let _0x1b05c3=!0x1;if(_0x3e2d50['wereChangesApplied']){_0x3e2d50['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3e2d50['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2c4c88=>!_0x6ff03e['includes'](_0x2c4c88));for(const _0x439f98 of _0x6ff03e)_0x439f98['createdAt']='lastOperationAcceptedAt'in _0x3e2d50&&_0x3e2d50['lastOperationAcceptedAt']||void 0x0;st(_0x6ff03e,_0x3e2d50['version']-_0x6ff03e['length']),this['_updateServerHistory'](_0x6ff03e);const _0x49d520=_0x6ff03e['filter'](_0x1ee65d=>{if(!_0x1ee65d['_isInit'])return!0x1;const _0x4b7191=this['_getAffectedRoot'](_0x1ee65d);return _0x4b7191&&!this['_knownRootNames']['has'](_0x4b7191);});st(_0x49d520,this['_document']['version']),this['_applyOperationsSet'](_0x49d520),_0x1b05c3=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2a29f1=this['_decompressOperations'](_0x3e2d50['data'],_0x3e2d50['metadata'])['filter'](_0x55a924=>_0x55a924['baseVersion']>=this['_lastServerVersion']);_0x2a29f1['forEach'](_0x941bb8=>this['_addKnownRoot'](_0x941bb8)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x14be8f=>!_0x14be8f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x14be8f))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2a29f1),_0x1b05c3=this['_handleExternalOperations'](_0x2a29f1,_0x3e2d50['version'],_0x3e2d50['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1b05c3?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3f9efa,_0x433541,_0x500628){try{const _0x588af8={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4ab1f1,operationsB:_0x32339e,originalOperations:_0x2c305b}=_0x4a9acb(_0x3f9efa,this['_bufferedOperations'],_0x588af8);st(_0x4ab1f1,this['_document']['version']),st(_0x32339e,_0x433541);for(const _0x5cd31d of _0x4ab1f1){const _0x138f6b=_0x2c305b['get'](_0x5cd31d);_0x5cd31d['_authorId']=_0x138f6b?_0x138f6b['_authorId']:null;}_0x500628&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3f9efa,_0x500628),this['_lastSyncedOperationId']=_0x500628),this['_bufferedOperations']=[..._0x32339e],this['_applyOperationsSet'](_0x4ab1f1),this['_updateServerHistory'](_0x3f9efa);}catch(_0x191e71){return console['error'](_0x191e71),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3fafe5,_0x5b2647=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5d42ef=>{for(const _0x378bbc of _0x3fafe5)this['_knownOperations']['add'](_0x378bbc),this['_addKnownRoot'](_0x378bbc),_0x5d42ef['batch']['addOperation'](_0x378bbc),this['editor']['model']['applyOperation'](_0x378bbc);});}['_addKnownRoot'](_0x2bc3f5){const _0x1aa2df=this['_getAffectedRoot'](_0x2bc3f5);_0x1aa2df&&this['_knownRootNames']['add'](_0x1aa2df);}['_getAffectedRoot'](_0xc6b1a1){let _0x4a57b8,_0x15327b;switch(_0xc6b1a1['type']){case'insert':_0x4a57b8=_0xc6b1a1['position']['root'];break;case'marker':if(_0x15327b=_0xc6b1a1['newRange'],!_0x15327b)return null;_0x4a57b8=_0x15327b['root'];break;case'addRootAttribute':_0x4a57b8=_0xc6b1a1['root'];break;case'addRoot':_0x4a57b8=_0xc6b1a1['affectedSelectable'];break;case'move':_0x4a57b8=_0xc6b1a1['targetPosition']['root'];break;default:return null;}return _0x4a57b8['rootName'];}['_updateServerHistory'](_0x1e11d5){_0x1e11d5['forEach'](_0xa4766b=>{const _0x4c08a5=_0xa4766b['clone']();_0x4c08a5['_authorId']=_0xa4766b['_authorId'],_0x4c08a5['_isInit']=!!_0xa4766b['_isInit'],_0x4c08a5['createdAt']=_0xa4766b['createdAt'],_0x4c08a5['baseVersion']+=this['_offset'],_0xa4766b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4c08a5),this['serverHistory']['addOperation'](_0x4c08a5);});}['_handleReconnectionError'](_0x2ef540){const _0x479687=this['editor']['plugins']['get']('Notification'),_0x27540e=this['editor']['locale'];_0x2ef540||(_0x2ef540=X(_0x27540e,'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.')),_0x479687['showWarning'](_0x2ef540,{'title':X(_0x27540e,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x4c8145)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x4c8145)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x15c4a5){const _0x2b77d3=_0x15c4a5['map'](_0x354553=>_0x354553['toJSON']());return this['_compressor']['compress'](_0x2b77d3);}['_decompressOperations'](_0x8fb2d6,_0x5c06a6){return this['_compressor']['decompress'](_0x8fb2d6)['map']((_0x900be3,_0x339d0d)=>{const _0xf5348a='init'==_0x5c06a6[_0x339d0d]['type'];if('InsertOperation'==_0x900be3['__className']){const _0x27953e=_0x900be3['position']['root'];!this['_document']['getRoot'](_0x27953e)&&(this['_document']['createRoot']('$root',_0x27953e)['_isAttached']=!0x1);}const _0x134835=_0x350a65['fromJSON'](_0x900be3,this['_document']);return _0x134835['wasUndone']=_0x900be3['wasUndone'],_0x134835['_isInit']=_0xf5348a,_0x134835['_authorId']=_0xf5348a?null:_0x5c06a6[_0x339d0d]['userId'],_0x134835['_isDisconnection']='cs:removeUser'===_0x5c06a6[_0x339d0d]['type'],_0x134835['createdAt']=_0x5c06a6[_0x339d0d]['createdAt'],_0x134835;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x48d5db=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x48d5db&&_0x48d5db['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x2724bd,_0x4db783){for(const _0x291139 of _0x2724bd)_0x291139['baseVersion']=_0x4db783++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x2369b8){this['_ignoredOperations']=_0x2369b8,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3d0348){let _0xbb6fce=_0x3d0348['length'];for(;_0xbb6fce--;){const _0x54a885=_0x3d0348[_0xbb6fce];if(!this['_ignoredOperations']['has'](_0x54a885)){if(!this['_operationToId']['has'](_0x54a885)){const _0x3055a2=_0x487873()['slice'](0x1,0x12);this['_operationToId']['set'](_0x54a885,_0x3055a2);}return this['_operationToId']['get'](_0x54a885);}}}['setIdForTheLastOperation'](_0x31d9d5,_0x949e3f){if(!_0x949e3f)return;let _0x116531=_0x31d9d5['length'];for(;_0x116531--;){const _0x263d7f=_0x31d9d5[_0x116531];this['_ignoredOperations']['has'](_0x263d7f)||this['_operationToId']['set'](_0x263d7f,_0x949e3f);}}}class nt extends _0x512c3b{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x6b13bf{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0xad8fa8)());['_services'];static get['requires'](){return[z,_0x3cd3b6,Y,_0x3847b0];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5c4ddf){super(_0x5c4ddf),this['_services']=new Map();}async['init'](){const _0x3dcc62=this['context'],_0x1c386e=_0x3dcc62['plugins']['get'](_0x3cd3b6);if(_0x3dcc62['plugins']['get'](z)['addToReconnectionStack'](this),_0x1c386e['adapter']={'addCommentThread':async({channelId:_0x5dfe84,threadId:_0x598c0e,comments:_0x298e4c,resolvedAt:_0x371f6a,resolvedBy:_0x3c8d8a,context:_0x2d8a06,attributes:_0x4c8f8c})=>{const _0x552b6e=await this['_getService'](_0x5dfe84)['addCommentThread']({'commentThreadId':_0x598c0e,'comments':_0x298e4c['map'](_0x5e12eb=>function(_0x4e662f,_0xc583fd,_0x627792){return{'commentThreadId':_0x627792,'commentId':_0x4e662f['commentId'],'userId':_0x4e662f['authorId'],'content':_0x4e662f['content'],'documentId':_0xc583fd,'createdAt':_0x4e662f['createdAt'],'attributes':_0x4e662f['attributes']||{}};}(_0x5e12eb,_0x5dfe84,_0x598c0e)),'resolvedAt':_0x371f6a,'resolvedBy':_0x3c8d8a,'context':_0x2d8a06,'attributes':_0x4c8f8c})['catch'](ct);return{'threadId':_0x552b6e['commentThreadId'],'comments':_0x552b6e['comments']};},'getCommentThread':async({channelId:_0x10e99e,threadId:_0x17c838})=>{const _0x59fd01=await this['_getService'](_0x10e99e)['getCommentThread'](_0x17c838)['catch'](rt)['catch'](ct);return _0x59fd01?_0x59fd01['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x59fd01]),{'threadId':_0x59fd01['commentThreadId'],'comments':_0x59fd01['comments']['map'](at),'context':_0x59fd01['context'],'resolvedAt':_0x59fd01['resolvedAt'],'resolvedBy':_0x59fd01['resolvedBy'],'attributes':_0x59fd01['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x13afd8,threadId:_0x1e6747,context:_0x256521,unlinkedAt:_0x5f2050,attributes:_0x25e72d})=>this['_getService'](_0x13afd8)['updateCommentThread']({'commentThreadId':_0x1e6747,'context':_0x256521,'attributes':_0x25e72d,'unlinkedAt':_0x5f2050})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x13137f,threadId:_0x3993dd})=>{const _0x4fde2b=await this['_getService'](_0x13137f)['resolveCommentThread'](_0x3993dd)['catch'](rt)['catch'](ct);return{'threadId':_0x4fde2b['commentThreadId'],'resolvedAt':_0x4fde2b['resolvedAt'],'resolvedBy':_0x4fde2b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x367bb6,threadId:_0x2dc71f})=>this['_getService'](_0x367bb6)['reopenCommentThread'](_0x2dc71f)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x2df65a,threadId:_0x825ed})=>this['_getService'](_0x2df65a)['removeCommentThread'](_0x825ed)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x27e629,threadId:_0x1765ec,commentId:_0x470a84,content:_0x44a51b,attributes:_0x3f902b})=>this['_getService'](_0x27e629)['addComment'](_0x1765ec,_0x470a84,_0x44a51b,_0x3f902b)['catch'](ct),'updateComment':({channelId:_0x3da9f5,threadId:_0x3d2443,commentId:_0x98f0aa,content:_0x3b19c5,attributes:_0x2c71bb})=>this['_getService'](_0x3da9f5)['updateComment'](_0x3d2443,_0x98f0aa,_0x3b19c5,_0x2c71bb)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1b2cd1,threadId:_0xfaa39b,commentId:_0x2b470b})=>this['_getService'](_0x1b2cd1)['removeComment'](_0xfaa39b,_0x2b470b)['catch'](rt)['catch'](ct)},_0x3dcc62 instanceof _0x59ae87){const _0x70c9d4=_0x3dcc62['config']['get']('collaboration.channelId'),_0x3f2603=_0x3dcc62['plugins']['get'](Y);await this['_setUpService'](_0x70c9d4);const _0x704bb0=await this['_services']['get'](_0x70c9d4)['getConnectedSessions']();this['listenTo'](_0x3f2603,'sessionAdd:'+_0x70c9d4,(_0x47f32f,{session:_0x3321f3})=>{_0x3321f3['id']===_0x3f2603['mySessionId']&&(_0x47f32f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3321f3['permissions'],_0x70c9d4));}),_0x3f2603['register'](_0x70c9d4,_0x704bb0);}}async['_setUpService'](_0x325166){if(this['_services']['has'](_0x325166))throw new _0x5d88de('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x325166});const _0xe1cde2=this['context']['plugins']['get'](_0x3cd3b6),_0x504a94=new ot['CommentsService'](_0x325166);this['_services']['set'](_0x325166,_0x504a94),this['listenTo'](_0x504a94,'commentThreadAdded',(_0x802746,_0x15a65d)=>{const {commentThreadId:_0x3327d7,documentId:_0x393337,context:_0x5b0325,attributes:_0x23ca1a,resolvedAt:_0x62c378,resolvedBy:_0x44fa82,comments:_0x3acd26}=_0x15a65d;_0xe1cde2['getCommentThread'](_0x3327d7)||_0xe1cde2['addCommentThread']({'threadId':_0x3327d7,'channelId':_0x393337,'comments':_0x3acd26?_0x3acd26['map'](at):[],'context':_0x5b0325,'attributes':_0x23ca1a,'resolvedAt':_0x62c378,'resolvedBy':_0x44fa82,'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentThreadUpdated',(_0x203457,{commentThreadId:_0x44bb69,documentId:_0x1685bd,context:_0x2da75a,unlinkedAt:_0x5549dc,attributes:_0x4ef39f})=>{_0xe1cde2['getCommentThread'](_0x44bb69)&&_0xe1cde2['updateCommentThread']({'threadId':_0x44bb69,'channelId':_0x1685bd,'context':_0x2da75a,'unlinkedAt':_0x5549dc,'attributes':_0x4ef39f,'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentThreadResolved',(_0x4d0205,{commentThreadId:_0x1788b3,resolvedBy:_0xc10236,resolvedAt:_0x50a9ff})=>{const _0xfac38e=_0xe1cde2['getCommentThread'](_0x1788b3);_0xfac38e&&_0xfac38e['resolve']({'resolvedBy':_0xc10236,'resolvedAt':_0x50a9ff,'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentThreadReopened',(_0x344d37,{commentThreadId:_0x9f8e5e})=>{const _0x298619=_0xe1cde2['getCommentThread'](_0x9f8e5e);_0x298619&&_0x298619['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentThreadRemoved',(_0xe842a2,{commentThreadId:_0x3bd7eb})=>{const _0x495456=_0xe1cde2['getCommentThread'](_0x3bd7eb);_0x495456&&_0x495456['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentAdded',(_0x509e84,_0x19966d)=>{const _0x19a450=_0x19966d['commentThreadId'],_0x2057a0=_0xe1cde2['getCommentThread'](_0x19a450);_0x2057a0&&_0x2057a0['addComment']({...at(_0x19966d),'isFromAdapter':!0x0});}),this['listenTo'](_0x504a94,'commentUpdated',(_0x5576ed,{commentThreadId:_0x3b9b7e,commentId:_0x3de5f2,content:_0x28f45c,attributes:_0x509ad2})=>{const _0x361186=_0xe1cde2['getCommentThread'](_0x3b9b7e);if(_0x361186){const _0x2ff72a=_0x361186['getComment'](_0x3de5f2);_0x2ff72a&&_0x2ff72a['update']({'content':_0x28f45c,'attributes':_0x509ad2,'isFromAdapter':!0x0});}}),this['listenTo'](_0x504a94,'commentRemoved',(_0x554c23,{commentThreadId:_0x333b19,commentId:_0x1c1491})=>{const _0x17c34f=_0xe1cde2['getCommentThread'](_0x333b19);if(_0x17c34f){const _0x299ac9=_0x17c34f['getComment'](_0x1c1491);_0x299ac9&&_0x299ac9['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x325166);}['destroy'](){if(this['context']instanceof _0x59ae87){const _0x16b577=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x16b577);}}['_terminateService'](_0x2dd875){if(!this['_services']['has'](_0x2dd875))throw new _0x5d88de('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2dd875});this['_getService'](_0x2dd875)['disconnect'](),this['_services']['delete'](_0x2dd875);}async['reconnect'](){for(const _0x37a94b of this['_services']['keys']())await this['_connectService'](_0x37a94b);if(this['context']instanceof _0x59ae87){const _0x2c71c7=this['context']['config']['get']('collaboration.channelId'),_0x25aaaa=this['context']['plugins']['get'](Y);_0x25aaaa['unregister'](_0x2c71c7);const _0xdaaaf4=await this['_services']['get'](_0x2c71c7)['getConnectedSessions']();_0x25aaaa['register'](_0x2c71c7,_0xdaaaf4);}}async['_connectService'](_0x37a534){const {connection:_0x399061}=this['context']['plugins']['get'](z),_0x36a3a4=this['context']['plugins']['get'](_0x3cd3b6),_0x22ff90=this['_services']['get'](_0x37a534),_0x163e2a=await _0x22ff90['connect'](_0x399061);await this['_fetchMissingUsersForThreads'](_0x163e2a);const _0x20e8fe=new Set(Array['from'](_0x36a3a4['getCommentThreads']({'channelId':_0x37a534}),_0x5876fc=>_0x5876fc['id']));for(const _0x3db496 of _0x163e2a)_0x3db496['deletedAt']||_0x20e8fe['delete'](_0x3db496['commentThreadId']);for(const _0x4e4fd5 of _0x20e8fe)_0x36a3a4['getCommentThread'](_0x4e4fd5)['remove']({'isFromAdapter':!0x0});for(const _0x1bef98 of _0x163e2a){let _0x19a04b=_0x36a3a4['getCommentThread'](_0x1bef98['commentThreadId']);const {commentThreadId:_0x3b3b0e,context:_0x518d92,attributes:_0x29c4cd,resolvedBy:_0x3897b4,resolvedAt:_0x4cb4cd,unlinkedAt:_0x30df95,deletedAt:_0x691c7}=_0x1bef98;if(_0x691c7)continue;_0x19a04b||(_0x19a04b=_0x36a3a4['addCommentThread']({'channelId':_0x37a534,'threadId':_0x3b3b0e,'context':_0x518d92,'attributes':_0x29c4cd||{},'resolvedBy':_0x3897b4,'resolvedAt':_0x4cb4cd,'unlinkedAt':_0x30df95,'isFromAdapter':!0x0}));const _0xf02a46=new Set(Array['from'](_0x19a04b['comments'],_0x1bad64=>_0x1bad64['id']));for(const _0x13cb1b of _0x1bef98['comments'])_0xf02a46['delete'](_0x13cb1b['commentId']);for(const _0x308ced of _0xf02a46)_0x19a04b['getComment'](_0x308ced)['remove']({'isFromAdapter':!0x0});for(const _0x1581f3 of _0x1bef98['comments']){const _0x121a0e=_0x19a04b['getComment'](_0x1581f3['commentId']);_0x121a0e?_0x121a0e['content']!==_0x1581f3['content']&&_0x121a0e['update']({'content':_0x1581f3['content'],'isFromAdapter':!0x0}):_0x19a04b['addComment'](Object['assign'](at(_0x1581f3),{'isFromAdapter':!0x0}));}}}['_getService'](_0x46827d){if(!this['_services']['has'](_0x46827d))throw new _0x5d88de('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x46827d});return this['_services']['get'](_0x46827d);}async['_fetchMissingUsersForThreads'](_0x5c8960){const _0x4e61f6=this['context']['plugins']['get'](_0x3847b0),{connection:_0x4cdd15}=this['context']['plugins']['get'](z),_0x75e353=new Set();for(const {resolvedBy:_0x526ff7,comments:_0x28b593}of _0x5c8960){_0x526ff7&&!_0x4e61f6['getUser'](_0x526ff7)&&_0x75e353['add'](_0x526ff7);for(const {userId:_0x592b9d}of _0x28b593)_0x4e61f6['getUser'](_0x592b9d)||_0x75e353['add'](_0x592b9d);}if(0x0===_0x75e353['size'])return;const _0x4e8d6e=await _0x2c2031['getMany'](_0x4cdd15,Array['from'](_0x75e353));for(const _0x57b0fa of _0x4e8d6e)_0x4e61f6['getUser'](_0x57b0fa['id'])||_0x4e61f6['addUser'](_0x57b0fa);}}async function rt(_0x20f27a){if('404'!==_0x20f27a['code'])throw _0x20f27a;}function ct(_0x7a925){if((_0x4ffc42=_0x7a925)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4ffc42['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ffc42['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4ffc42;throw _0x7a925;}function at(_0x532e4d){return{'threadId':_0x532e4d['commentThreadId'],'commentId':_0x532e4d['commentId'],'content':_0x532e4d['content'],'createdAt':_0x532e4d['createdAt'],'authorId':_0x532e4d['userId'],'attributes':_0x532e4d['attributes']||{}};}class ht extends _0x512c3b{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x5ba1eb)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x107d71,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ce86a){super(_0x5ce86a);const _0x205457=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x205457);}['init'](){const _0x1f9ae1=this['editor']['plugins']['get'](z),_0x151a7e=this['editor']['plugins']['get'](_0x107d71);return _0x151a7e['adapter']={'getSuggestion':async _0x579063=>{await this['_waitForServiceReady']();const _0x551ad7=await this['_trackChangesService']['get'](_0x579063)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x551ad7]),_0x551ad7;},'addSuggestion':async({id:_0x520c45,type:_0x559981,data:_0x2679f8,originalSuggestionId:_0x1d785d,attributes:_0x306af6})=>{await this['_waitForServiceReady']();const _0x4504c0={'id':_0x520c45,'type':_0x559981,'data':_0x2679f8,'originalSuggestionId':_0x1d785d,'attributes':_0x306af6},_0x43ef17=await this['_trackChangesService']['add'](_0x520c45,_0x559981,_0x2679f8,_0x1d785d,_0x306af6)['catch'](_0x356f23=>{if(dt(_0x356f23))return new Promise(_0x13f280=>{this['_bufferedRequests']['set'](_0x520c45,{'resolve':_0x13f280,'suggestionData':_0x4504c0});});throw _0x356f23;});return this['_bufferedRequests']['delete'](_0x520c45),_0x43ef17;},'updateSuggestion':async(_0x12e394,_0x292f1b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x292f1b['state'])return this['_trackChangesService']['update'](_0x12e394,_0x292f1b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4338fc,_0x350515)=>{_0x151a7e['hasSuggestion'](_0x350515['id'])&&(_0x151a7e['getSuggestion'](_0x350515['id'])['attributes']=_0x350515['attributes']);}),this['_trackChangesService']['connect'](_0x1f9ae1['connection'])['then'](_0x514c0c=>(_0x1f9ae1['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x514c0c)['then'](()=>{for(const _0x2bd81f of _0x514c0c){_0x151a7e['addSuggestionData'](_0x2bd81f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x4cfeaf=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5d13aa}=this['editor']['plugins']['get'](z),_0x278c0f=await this['_trackChangesService']['connect'](_0x5d13aa);await this['_fetchMissingUsersForThreads'](_0x278c0f);for(const {suggestionData:_0x4ea93f,resolve:_0x25368c}of this['_bufferedRequests']['values']()){let _0x3a523f=_0x278c0f['find'](_0x440226=>_0x440226['id']===_0x4ea93f['id']);_0x3a523f||(_0x3a523f=await this['_trackChangesService']['add'](_0x4ea93f['id'],_0x4ea93f['type'],_0x4ea93f['data'],_0x4ea93f['originalSuggestionId'])),_0x25368c(_0x3a523f);}for(const _0x24bcea of _0x278c0f)_0x4cfeaf['hasSuggestion'](_0x24bcea['id'])||_0x4cfeaf['addSuggestionData'](_0x24bcea);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5cb72a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1b8342=>{_0x1b8342['off'](),_0x5cb72a();});});}async['_fetchMissingUsersForThreads'](_0x42ccbc){const _0x4839f9=this['editor']['plugins']['get'](_0x3847b0),{connection:_0x883927}=this['editor']['plugins']['get'](z),_0x26909f=new Set();for(const {authorId:_0x1ae63b}of _0x42ccbc)_0x4839f9['getUser'](_0x1ae63b)||_0x26909f['add'](_0x1ae63b);if(0x0===_0x26909f['size'])return;const _0x44f6c7=await _0x2c2031['getMany'](_0x883927,Array['from'](_0x26909f));for(const _0x329e77 of _0x44f6c7)_0x4839f9['getUser'](_0x329e77['id'])||_0x4839f9['addUser'](_0x329e77);}}function lt(_0x2fa80b){if(dt(_0x2fa80b))return new Promise(()=>{});throw _0x2fa80b;}function dt(_0x2474d0){return _0x2474d0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2474d0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x512c3b{static get['requires'](){return[_0x380a1c,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1ed3dd=this['editor']['plugins']['get'](z),_0x44cf69=this['editor']['plugins']['get'](_0x204e01),_0x38ba9b=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1ed3dd,'change:state',(_0x1f0d59,_0x4aac29,_0x6883cf)=>{_0x44cf69['isThreadsLoadingPaused']='connected'!==_0x6883cf;});}),this['listenTo'](_0x1ed3dd,'change:state',(_0x1ee79b,_0x40892f,_0x28756a)=>{this['editor']['plugins']['get'](_0x3cd3b6)['switchReadOnly']('connected'!==_0x28756a);}),_0x38ba9b['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x512c3b{static get['requires'](){return[ut,ht,_0x26b3cc];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x512c3b{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x1e91e1)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x523413,Y,_0x3847b0];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x38e81d){super(_0x38e81d);const _0x28d6c0=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x28d6c0);}async['init'](){const _0x413542=this['editor']['plugins']['get'](tt),_0x2876d8=_0x413542['serverHistory'],_0x581099=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x2876d8,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x413542['sessionId']});const _0x3b5397=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3e5cdd,_0xd8a4b6=await _0x19bfcd['isBundleUploaded'](_0x581099['connection'],_0x3b5397);this['editor']['plugins']['get'](_0x523413)['adapter']={'getRevision':async({revisionId:_0x4fac8a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4fac8a)),'updateRevisions':async _0x10fcc2=>{await this['_waitForServiceReady']();const _0x32dcb6=this['_revisionTracker']['currentRevision'];if(_0xd8a4b6&&0x1===_0x10fcc2['length']&&_0x10fcc2[0x0]['id']===_0x32dcb6['id'])return _0x10fcc2;for(const _0x143e38 of _0x10fcc2)_0x143e38['id']===_0x32dcb6['id']&&(_0x143e38['isEmptyCurrent']=_0x143e38['fromVersion']===_0x143e38['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x10fcc2,this['_lastRequestId'])['then'](_0x790a56=>(this['_lastRequestId']=_0x790a56,_0x10fcc2))['catch'](_0x53910b=>{if(pt(_0x53910b)||'400'===_0x53910b['code']&&void 0x0!==_0x53910b['data']['wrongRequestId']){for(const _0xdbf56 of _0x10fcc2){!this['_revisionTracker']['repository']['getRevision'](_0xdbf56['id'])||this['_revisionTracker']['_bufferUpdate'](_0xdbf56['id'],_0xdbf56,!0x1);}if(pt(_0x53910b))throw _0x53910b;return _0x10fcc2;}throw _0x53910b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d3a2b,{revisionsData:_0xf43b11,requestId:_0x4b6fe4})=>{Math['max'](..._0xf43b11['map'](_0x15d511=>_0x15d511['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xf43b11,_0x4b6fe4);}):this['_handleRevisionsUpdate'](_0xf43b11,_0x4b6fe4);});const {revisions:_0x48246f,requestId:_0x35b5ab}=await this['_revisionHistoryService']['connect'](_0x581099['connection']);_0x581099['addToReconnectionStack'](this),this['_lastRequestId']=_0x35b5ab,await this['_fetchMissingUsers'](_0x48246f);for(const _0x2ac4b6 of _0x48246f)this['_revisionTracker']['addRevisionData'](_0x2ac4b6);this['listenTo'](_0x413542,'change:_isConnected',(_0x3c203b,_0x2dfff7,_0x5687d6)=>{_0x5687d6&&(this['_oldOffset']=_0x413542['_offset'],_0x3c203b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x581099,'state',_0x149818=>_0x149818===_0x4f3cbc['CONNECTED']);}async['reconnect'](){const _0x5c9962=this['editor']['plugins']['get'](z),_0x40b9f6=this['editor']['plugins']['get'](tt),_0x1cafed=async()=>{const _0x3487ec=this['_revisionTracker']['currentRevision'],_0x17d05c=_0x3487ec['id'],_0x44de4b=_0x17d05c!==_0x40b9f6['sessionId'];if(_0x44de4b){const _0x57d783=_0x40b9f6['_offset']-this['_oldOffset'],_0x4cf3e6=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3487ec['toVersion']+_0x57d783!==_0x4cf3e6){const _0x51e63d=_0x3487ec['fromVersion']+_0x57d783,_0x21c971=this['editor']['plugins']['get'](_0x3847b0),_0x18eb19=this['_revisionTracker']['buildRevisionData']({'revision':_0x3487ec,'from':_0x51e63d,'to':_0x4cf3e6});_0x18eb19['id']=_0x3487ec['id'];const _0x4c3a00=_0x18eb19['authorsIds']['map'](_0x272c96=>_0x21c971['getUser'](_0x272c96));_0x3487ec['_update']({..._0x18eb19,'authors':_0x4c3a00},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3487ec['id'],_0x18eb19,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4cf3e6,(_0x3487ec['toVersion']===_0x3487ec['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x17d05c)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x17d05c),this['_revisionTracker']['_createCurrentRevision'](_0x4cf3e6));}const {revisions:_0x54c761,requestId:_0x14a636}=await this['_revisionHistoryService']['reconnect'](_0x5c9962['connection'],this['_lastRequestId']);_0x44de4b&&_0x54c761['length']>0x0?_0x40b9f6['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x54c761),this['_handleRevisionsUpdate'](_0x54c761,_0x14a636),this['_revisionTracker']['sendBufferedUpdates']());};return _0x40b9f6['_isConnected']?_0x1cafed():new Promise((_0x9cbcb9,_0x183548)=>{_0x40b9f6['once']('change:_isConnected',()=>{_0x1cafed()['then'](_0x9cbcb9)['catch'](_0x183548);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x12ce66=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x39fed6=>{_0x39fed6['off'](),_0x12ce66();});});}['_getLatestVersionFromServerOperations'](){const _0x44cab0=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x4e3e8c of _0x44cab0)if('marker'!==_0x4e3e8c['type']||_0x4e3e8c['affectsData'])return _0x4e3e8c['baseVersion']+0x1;}['_getLatestVersion'](){const _0x148913=this['editor']['plugins']['get'](tt);return new Promise(_0xa7dd87=>{_0x148913['_isPendingUpdate']?_0x148913['once']('change:_isPendingUpdate',()=>{_0xa7dd87(this['_getLatestVersionFromServerOperations']());}):_0xa7dd87(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5bb390,_0x7c4af1){const _0x528773=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x7c4af1;for(const _0x41aa37 of _0x5bb390){const _0x1d8ad4=_0x528773['getRevision'](_0x41aa37['id']);if(_0x1d8ad4){if((_0x41aa37['fromVersion']||_0x41aa37['toVersion'])&&(_0x41aa37['diffData']=null),_0x1d8ad4===this['_revisionTracker']['currentRevision']){const _0x112868=Math['max'](_0x1d8ad4['toVersion'],_0x41aa37['toVersion']),_0x26153f=Math['max'](_0x1d8ad4['fromVersion'],_0x41aa37['fromVersion']);let _0x53d69c;_0x1d8ad4['toVersion']===_0x41aa37['toVersion']&&_0x1d8ad4['fromVersion']===_0x41aa37['fromVersion']?(_0x53d69c=!0x0,this['_preventResendingRevisionData'](_0x41aa37)):_0x41aa37['toVersion']===_0x112868&&_0x41aa37['fromVersion']===_0x26153f?_0x53d69c=!0x1:(_0x1d8ad4['toVersion']===_0x112868&&_0x1d8ad4['fromVersion']===_0x26153f||this['_fixRevision']({'revision':_0x1d8ad4,'from':_0x26153f,'to':_0x112868}),_0x53d69c=!0x0),_0x53d69c&&(delete _0x41aa37['fromVersion'],delete _0x41aa37['toVersion'],delete _0x41aa37['diffData'],delete _0x41aa37['createdAt'],delete _0x41aa37['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x41aa37),this['_preventResendingRevisionData'](_0x41aa37);}else this['_revisionTracker']['addRevisionData'](_0x41aa37);}const _0x5cc87b=_0x528773['getRevisions']();_0x5cc87b['reverse']();for(let _0x638914=0x0;_0x638914<_0x5cc87b['length']-0x1;_0x638914++){const _0x2677d4=_0x5cc87b[_0x638914],_0x46443c=_0x5cc87b[_0x638914+0x1];if(_0x2677d4['fromVersion']<_0x46443c['toVersion']){const _0x437099=_0x46443c['toVersion'],_0x4b5176=Math['max'](_0x437099,_0x2677d4['toVersion']);this['_fixRevision']({'revision':_0x2677d4,'from':_0x437099,'to':_0x4b5176});}}}['_fixRevision']({revision:_0x388b1e,from:_0x535a97,to:_0x23a9f9}={}){const _0x1283f0=this['editor']['plugins']['get'](_0x3847b0),_0x1cd26e=this['_revisionTracker']['buildRevisionData']({'revision':_0x388b1e,'from':_0x535a97,'to':_0x23a9f9});_0x1cd26e['authors']=_0x1cd26e['authorsIds']['map'](_0x18c34a=>_0x1283f0['getUser'](_0x18c34a)),_0x388b1e['_update'](_0x1cd26e);}['_preventResendingRevisionData'](_0xd002c4){const _0x17530f={};_0x17530f['id']=_0xd002c4['id'];for(const _0x2baf76 of Object['keys'](_0xd002c4))'id'!==_0x2baf76&&(_0x17530f[_0x2baf76]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x17530f['id'],_0x17530f,!0x0);}async['_fetchMissingUsers'](_0x4c97c0){const _0x35b2b4=this['editor']['plugins']['get'](_0x3847b0),{connection:_0x4f8f1d}=this['editor']['plugins']['get'](z),_0x17285e=new Set();for(const _0x11eb8d of _0x4c97c0){for(const _0x2c905b of _0x11eb8d['authorsIds'])_0x3375e7(_0x2c905b);_0x11eb8d['creatorId']&&_0x3375e7(_0x11eb8d['creatorId']);}if(0x0===_0x17285e['size'])return;const _0x123db5=await _0x2c2031['getMany'](_0x4f8f1d,Array['from'](_0x17285e));for(const _0x5d1ed0 of _0x123db5)_0x35b2b4['getUser'](_0x5d1ed0['id'])||_0x35b2b4['addUser'](_0x5d1ed0);function _0x3375e7(_0x1a7bd7){_0x35b2b4['getUser'](_0x1a7bd7)||_0x17285e['add'](_0x1a7bd7);}}}function pt(_0x1edc5c){return _0x1edc5c['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1edc5c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1edc5c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x512c3b{static get['requires'](){return[_0x523413,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x45d855{['_collapseAt'];constructor(_0xd56965,_0x3ef29c=0x6){super(_0xd56965);const _0x168758=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3ef29c,this['bind']('isHidden')['to'](this,'usersCount',_0x20cc79=>_0x20cc79<_0x3ef29c),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x168758['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':_0x168758['to']('usersCount',_0x331015=>'+'+(_0x331015-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x45d855{['items'];['keystrokes'];constructor(_0x37e997){super(_0x37e997);const _0x4352d3=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2864f3(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4352d3['if']('hasPopup'),'aria-expanded':_0x4352d3['to']('isExpanded',_0x15ec66=>this['hasPopup']&&String(_0x15ec66)),'aria-label':_0x4352d3['to']('hasPopup',_0x3cf0c3=>X(_0x37e997,_0x3cf0c3?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4352d3['to']('hasPopup',_0x215da6=>!!_0x215da6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4352d3['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4352d3['to'](_0x136ac4=>{const _0xe12994=_0x136ac4,_0x39ae0d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x107ac6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x39ae0d?.['contains'](_0xe12994['relatedTarget'])||_0x107ac6?.['contains'](_0xe12994['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x50e52d,_0x42e258,_0x566caf)=>{this['element']&&(_0x566caf?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 _t extends _0x45d855{['counterView'];['inlineListView'];constructor(_0x1a66ce,_0x278cec=0x6){super(_0x1a66ce);const _0x229e3f=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x278cec),this['inlineListView']=new vt(_0x1a66ce),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x115077 of this['inlineListView']['items'])_0x115077['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',_0x229e3f['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x45d855{['listWrapperView'];constructor(_0x526067,_0x3fa2d0){super(_0x526067);const _0x581c3e=this['bindTemplate'];this['listWrapperView']=new bt(_0x526067,_0x3fa2d0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x526067,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x581c3e['to'](_0x12034b=>{const _0x3d4736=_0x12034b,_0x26f854=document['querySelector']('.ck-presence-list__list'),_0x803e2f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x26f854?.['contains'](_0x3d4736['relatedTarget'])||_0x803e2f?.['contains'](_0x3d4736['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x28fa98{constructor(_0x37b7c6,_0x105d26){super(_0x37b7c6);const _0x1a9165=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x105d26?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1a9165['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1a9165['to']('role'),'aria-label':_0x1a9165['to']('ariaLabel'),'aria-labelledby':_0x1a9165['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x57454e['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x414d20=this['element'];_0x414d20&&(this['_isScrollable']=Math['max'](_0x414d20['scrollHeight'],_0x414d20['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0xbb6ce2{['userView'];constructor(_0x269aec,_0x229d9f,_0x23f61e){super(_0x269aec);const _0x5e237e=this['bindTemplate'];this['userView']=new _0x35e11e(_0x269aec,_0x229d9f);const _0x3e7d2a={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x229d9f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x229d9f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x229d9f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x229d9f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x229d9f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x23f61e&&(_0x3e7d2a['tag']='button',_0x3e7d2a['on']={'click':_0x5e237e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3e7d2a);}['focus'](){this['element']['focus']();}}class It extends _0x45d855{['userView'];['markerView'];constructor(_0x5cd014,_0x6762c1,_0x1a7569){super(_0x5cd014);const _0x367fd8=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x35e11e(_0x5cd014,_0x6762c1),this['markerView']=new St(_0x5cd014,_0x6762c1);const _0x130387=new _0x2db3b4(_0x5cd014);_0x130387['template']['tag']='span',_0x130387['text']=_0x6762c1['name'];const _0x475f54={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x367fd8['to']('isFocusable',_0xbd07f1=>!!_0xbd07f1&&0x0),'aria-labelledby':_0x130387['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x367fd8['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x367fd8['to']('hasTooltip',_0x16046b=>!_0x16046b),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x130387]};_0x1a7569&&(_0x475f54['tag']='button',_0x475f54['on']={'click':_0x367fd8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x475f54);}}class St extends _0x45d855{constructor(_0x44d41d,_0x33d467){super(_0x44d41d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x33d467['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x33d467['color']['getColorVariable'](),'--ck-user-color-alpha':_0x33d467['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x6b13bf{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5dbf44){super(_0x5dbf44),this['context']['config']['define']('presenceList',Tt);const _0x2d1dd9=_0x5dbf44['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2d1dd9)throw new _0x5d88de('presencelist-collapseat-invalid-format',this);if(_0x2d1dd9<0x1)throw new _0x5d88de('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x37a42c(),this['balloonPanelView']=new _0x246412(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1783ac of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1783ac);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4ada7a,_0x4d884f)=>{this['_handleUserAdd'](_0x4d884f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x16b241,_0x582664)=>{this['_handleUserRemove'](_0x582664);});}['_createView'](){const _0x3741a6=this['context'],_0x144dfd=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x56659a=this['balloonPanelView'];if(!_0xf133dc(_0x3741a6['config']['get']('presenceList.container')))throw new _0x5d88de('presencelist-missing-container',this);return _0x144dfd['counterView']['bind']('usersCount')['to'](this),_0x144dfd['bind']('isCollapsed')['to'](this,'usersCount',_0x5cb8b4=>{const {collapseAt:_0x24b28a}=_0x3741a6['config']['get']('presenceList'),_0x32103c=_0x5cb8b4>=_0x24b28a;if(_0x32103c&&!_0x144dfd['inlineListView']['items']['find'](_0x170cda=>_0x170cda instanceof wt)){const _0x25a168=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x25a168&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x144dfd['inlineListView']['items']['add'](_0x144dfd['counterView']);}return _0x32103c||this['hideDropdown'](),_0x32103c;}),_0x144dfd['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x246cf7=>{const _0x37017=_0x3741a6['config']['get']('presenceList'),_0x1b8b6e=new It(_0x3741a6['locale'],_0x246cf7,!!_0x37017['onClick']);return _0x1b8b6e['bind']('hasTooltip')['to'](_0x144dfd,'isCollapsed',_0x225615=>!_0x225615),_0x1b8b6e['bind']('isFocusable')['to'](_0x144dfd,'isCollapsed',_0x5771a9=>!_0x5771a9),_0x37017['onClick']&&this['listenTo'](_0x1b8b6e,'execute',()=>{this['view']['isCollapsed']||_0x37017['onClick'](_0x246cf7,_0x1b8b6e['element']);}),_0x1b8b6e;}),this['listenTo'](_0x144dfd['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x144dfd['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x144dfd['inlineListView']['keystrokes']['set']('Enter',(_0xe625cf,_0x27acda)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x27acda());}),_0x144dfd['render'](),_0x56659a['render'](),_0x429dd3({'emitter':_0x144dfd,'activator':()=>_0x56659a['isVisible'],'contextElements':[_0x56659a['element'],_0x144dfd['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3741a6['config']['get']('presenceList.container')['appendChild'](_0x144dfd['element']),this['_bodyCollection']=new _0x3c32f1(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x144dfd;}['_handleUserAdd'](_0x2620c0){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2620c0['isMe'])return;const _0x35bb20=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x35bb20-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x519a7b=_0x2620c0['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2620c0,_0x519a7b);}['_handleUserRemove'](_0x3a211b){this['usersCount']--;const {collapseAt:_0x5e77f4}=this['context']['config']['get']('presenceList'),_0x445265=this['usersCount']>=_0x5e77f4;if(this['currentDisplayedUsers']['get'](_0x3a211b['id']))this['currentDisplayedUsers']['remove'](_0x3a211b['id']);else{if(_0x445265&&this['currentDisplayedUsers']['length']+0x1===_0x5e77f4-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x445265?0x1:0x0)<this['usersCount']){for(const _0x7fb32a of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x7fb32a['id'])&&(this['currentDisplayedUsers']['add'](_0x7fb32a,Math['min'](this['currentDisplayedUsers']['length']-(_0x445265?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x445265?0x1:0x0)===_0x5e77f4-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4ca0a1=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4ca0a1['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3155a3}=this['presenceDropdownView'];_0x3155a3['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2a7613=>{if(!_0x4ca0a1['displayMe']&&_0x2a7613['isMe'])return null;const _0x1bf6fc=new kt(this['context']['locale'],_0x2a7613,!!_0x4ca0a1['onClick']);return _0x4ca0a1['onClick']&&this['listenTo'](_0x1bf6fc,'execute',()=>{_0x4ca0a1['onClick'](_0x2a7613,_0x1bf6fc['element']);}),_0x1bf6fc;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3155a3['focus'](),_0x3155a3['checkIfScrollable']();const _0x4602be=(_0x1b1ccb,_0x479604)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x479604();};_0x3155a3['keystrokes']['set']('Esc',_0x4602be),_0x3155a3['keystrokes']['set']('Shift+Tab',_0x4602be),_0x3155a3['keystrokes']['set']('Tab',(_0x4b88e1,_0x119558)=>{!function(_0x5579d0){const _0x45015b=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x54adce=>_0x54adce+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x466cd9=[...document['body']['querySelectorAll'](_0x45015b)]['filter'](_0x5464ee=>_0x5464ee===document['activeElement']||_0x5464ee['offsetWidth']+_0x5464ee['offsetHeight']>0x0)['sort']((_0x441e38,_0x170445)=>(_0x441e38['tabIndex']||0x0)-(_0x170445['tabIndex']||0x0)),_0x5d50ac=_0x466cd9['indexOf'](_0x5579d0),_0x4509b4=_0x466cd9[(_0x5d50ac+0x1)%_0x466cd9['length']];_0x4509b4&&_0x4509b4['focus']();}(this['view']['element']),this['hideDropdown'](),_0x119558();}),_0x3155a3['focusTracker']['add'](this['view']['element']),_0x3155a3['focusTracker']['on']('change:isFocused',(_0xb86f65,_0x1e3a96,_0x33101b)=>{_0x33101b||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 Pt extends _0x6b13bf{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':_0x1e79ad=>0x1!=_0x1e79ad}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':_0x1b5eb6=>0x1!=_0x1b5eb6}};