@ckeditor/ckeditor5-real-time-collaboration 48.1.0-alpha.6 → 48.1.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 _0x40a17f,Plugin as _0x317dac,PendingActions as _0x1358ff,Context as _0x14d173}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5dcc6b,CKEditorError as _0x89efa8,Collection as _0x4f44ac,global as _0x5207e9,version as _0x31dc87,uid as _0x4ffe65,KeystrokeHandler as _0x2b69b0}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1eebb6,View as _0x41b18b,ListView as _0x40698b,ListItemView as _0x3d2bd6,LabelView as _0x143d3f,BalloonPanelView as _0x550d0e,clickOutsideHandler as _0x241ae5,BodyCollection as _0x16f974}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2c8faf,History as _0x48de8b,NoOperation as _0x5f4805,InsertOperation as _0x42fa8e,MarkerOperation as _0x3d96dd,RootAttributeOperation as _0x244e47,transformOperationSets as _0x8ddae4,OperationFactory as _0x46f55e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x2427e1}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2d45a9,WEB_SOCKET_GATEWAY_STATES as _0x2d64f4,CollaborativeEditingService as _0x469088,User as _0x34697a,CommentsService as _0xfab053,TrackChangesService as _0x1427df,RevisionHistoryService as _0x3744f1,EditorService as _0x13e030}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x5170f0,UserView as _0x4eb3d8}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x54aa97}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x1c7485,TrackChanges as _0x412e46}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x4b7eab,Comments as _0x3987c8,CommentsEditing as _0x114ed1}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x5eb5a6}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x45757d}from'es-toolkit/compat';class z extends _0x40a17f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x2d45a9)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x2427e1,_0x1eebb6];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x546cae){super(_0x546cae),this['set']('state',_0x2d64f4['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5dcc6b())();}['init'](){const _0x196ccb=this['context'],_0x1512d9=_0x196ccb['plugins']['get'](_0x2427e1),_0x350c28=_0x196ccb['plugins']['get'](_0x1eebb6);if(!_0x1512d9['token'])throw new _0x89efa8('websocketgateway-missing-token',this);if(!_0x1512d9['webSocketUrl'])throw new _0x89efa8('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'](_0x1512d9['token'],_0x1512d9['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x42e435=>{if(this['connection']=_0x42e435,this['bind']('state')['to'](_0x42e435,'state',this,'_isBrowserOffline',(_0x5cbca3,_0x496a51)=>('connected'!==_0x5cbca3&&(this['_shouldPluginsReconnect']=!0x0),_0x496a51||_0x5cbca3!==_0x2d64f4['CONNECTED']?_0x2d64f4['DISCONNECTED']:this['state']==_0x2d64f4['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2d64f4['CONNECTING']):_0x2d64f4['CONNECTED'])),this['connection']['on']('error',(_0x5195fa,_0x2c7609)=>{if('limitExceeded'!==_0x2c7609['code'])throw console['error'](_0x2c7609),new _0x89efa8('cloudservices-init',null,{'originalError':_0x2c7609});_0x350c28['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'});}),!_0x42e435['me'])return new Promise(_0xd656db=>_0x42e435['on']('change:me',_0xd656db));})['catch'](_0x516b14=>{throw console['error'](_0x516b14),new _0x89efa8('cloudservices-init',null,{'originalError':_0x516b14});});}['addToReconnectionStack'](_0x5d02d8){if('function'!=typeof _0x5d02d8['reconnect'])throw new _0x89efa8('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5d02d8))throw new _0x89efa8('websocketgateway-plugin-already-registered',this,{'name':_0x5d02d8['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5d02d8);}['removeFromReconnectionStack'](_0x3c82bb){this['_reconnectionStack']['delete'](_0x3c82bb);}['isInReconnectionStack'](_0x351b11){return this['_reconnectionStack']['has'](_0x351b11);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x43552c=>_0x43552c['reconnect']())))['then'](()=>this['state']=_0x2d64f4['CONNECTED'])['catch'](_0x565186=>{throw console['error'](_0x565186),new _0x89efa8('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2d64f4['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x40a17f{['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,_0x5170f0];}constructor(_0x2d4423){super(_0x2d4423),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4f44ac(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5170f0);}['init'](){const _0x236603=this['context']['plugins']['get'](z);this['listenTo'](_0x236603,'change:state',(_0x18efa7,_0x124330,_0x1db508)=>{if('connected'!==_0x1db508)this['channelSessions']['forEach'](_0x4b70e1=>_0x4b70e1['clear']()),this['channelConnectedUsers']['forEach'](_0x18c03b=>_0x18c03b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x560b96,_0x2ff6e7]of this['_registeredSessions'])for(const _0x32f5a4 of _0x2ff6e7)this['_handleSessionAdd'](_0x560b96,_0x32f5a4);}}),this['_createUser'](_0x236603['connection']['me'],!0x0);}['register'](_0x55d3ae,_0x4beb87){if(this['_registeredSessions']['has'](_0x55d3ae))throw new _0x89efa8('sessions-register-already-registered',null,{'channelId':_0x55d3ae});this['_registeredSessions']['set'](_0x55d3ae,_0x4beb87),this['channelSessions']['set'](_0x55d3ae,new _0x4f44ac()),this['channelConnectedUsers']['set'](_0x55d3ae,new _0x4f44ac()),this['listenTo'](_0x4beb87,'add',(_0x5e600d,_0x26b28a)=>this['_handleSessionAdd'](_0x55d3ae,_0x26b28a)),this['listenTo'](_0x4beb87,'remove',(_0x3dcfdd,_0x38ee29)=>this['_handleSessionRemove'](_0x55d3ae,_0x38ee29));for(const _0x20960a of _0x4beb87)this['_handleSessionAdd'](_0x55d3ae,_0x20960a);}['unregister'](_0x5d95f3){if(!this['_registeredSessions']['has'](_0x5d95f3))throw new _0x89efa8('sessions-unregister-not-exist',null,{'channelId':_0x5d95f3});const _0x522ae6=this['_registeredSessions']['get'](_0x5d95f3);this['stopListening'](_0x522ae6);for(const _0x1d24c0 of _0x522ae6)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x5d95f3,_0x1d24c0);this['_registeredSessions']['delete'](_0x5d95f3),this['channelSessions']['delete'](_0x5d95f3),this['channelConnectedUsers']['delete'](_0x5d95f3);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x31d472){for(const _0x48d174 of this['channelSessions']['values']())for(const _0x14166e of _0x48d174)if(_0x14166e['id']===_0x31d472)return _0x14166e['user'];}['getUserSessions'](_0xc62c43,_0x1986af){const _0x227899=_0x1986af?[this['channelSessions']['get'](_0x1986af)]:this['channelSessions']['values'](),_0x5dbe56=new Set();for(const _0x23b4b3 of _0x227899)for(const _0xa8ca1d of _0x23b4b3)_0xa8ca1d['user']['id']===_0xc62c43['id']&&_0x5dbe56['add'](_0xa8ca1d['id']);return _0x5dbe56;}['getUserRole'](_0x5d02ce){for(const _0x14246b of this['channelSessions']['values']())for(const _0x268ea1 of _0x14246b)if(_0x268ea1['user']===_0x5d02ce)return _0x268ea1['role'];}['_handleSessionAdd'](_0x368fc1,_0x310cfa){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1ce75a=_0x310cfa['user'],_0x57a74e=this['_users']['getUser'](_0x1ce75a['id'])||this['_createUser'](_0x1ce75a),_0x40d216=Object['assign']({},_0x310cfa,{'user':_0x57a74e});if(this['channelSessions']['get'](_0x368fc1)['add'](_0x40d216),!_0x1ce75a['hiddenInPresenceList']){const _0x1f2af6=this['channelConnectedUsers']['get'](_0x368fc1);_0x1f2af6['has'](_0x57a74e['id'])||_0x1f2af6['add'](_0x57a74e),this['allConnectedUsers']['has'](_0x57a74e['id'])||_0x1ce75a['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x57a74e,_0x57a74e['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x368fc1,{'channelId':_0x368fc1,'session':_0x40d216});}['_handleSessionRemove'](_0x5634c6,_0x49a6e5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x30efc7=this['channelConnectedUsers']['get'](_0x5634c6),_0x1b3de2=_0x49a6e5['user'];_0x1b3de2['id']&&(this['channelSessions']['get'](_0x5634c6)['remove'](_0x49a6e5['id']),_0x30efc7['has'](_0x1b3de2['id'])&&!this['getUserSessions'](_0x1b3de2,_0x5634c6)['size']&&_0x30efc7['remove'](_0x1b3de2['id']),this['allConnectedUsers']['get'](_0x1b3de2['id'])&&!this['getUserSessions'](_0x1b3de2)['size']&&this['allConnectedUsers']['remove'](_0x1b3de2['id']));}['_createUser'](_0x5424d2,_0x763d72){const _0x400930=this['_users']['addUser'](_0x5424d2);return _0x763d72&&this['_users']['defineMe'](_0x5424d2['id']),_0x400930['orderNumber']=this['_uniqueUsersCount']++,_0x400930;}}class K extends _0x317dac{['_domEmitter']=new(_0x5dcc6b())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5c16db=this['editor'],_0x1a906e=_0x5c16db['plugins']['get'](Y);_0x5c16db['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x31fb6f,{writer:_0x290aa8})=>function(_0x23b203,_0x169c3c,_0x10bed9,_0x34ff28){const _0x5c88ab=_0x23b203['markerName']['split'](':')[0x2],_0x16925e=_0x10bed9['getUserBySessionId'](_0x5c88ab);if(!_0x16925e||_0x5c88ab===_0x10bed9['mySessionId'])return;if(!_0x34ff28['model']['schema']['checkChild'](_0x23b203['markerRange']['start'],'$text'))return;const _0x1ba380={'class':'ck-user__marker\x20'+_0x16925e['color']['getMarkerClass'](),'style':Q(_0x16925e),'data-name':_0x16925e['name'],'data-session-id':_0x5c88ab},_0x422690=_0x34ff28['model']['markers']['get'](_0x23b203['markerName']),_0x2177d6=_0x422690['getStart'](),_0x7e3137=_0x2177d6['nodeAfter'],_0xccef05=_0x34ff28['model']['schema'];if(_0x7e3137&&_0xccef05['isObject'](_0x7e3137)&&_0xccef05['isInline'](_0x7e3137)&&!_0x34ff28['model']['markers']['get']('user:range:'+_0x5c88ab)['getRange']()['isCollapsed'])return;const _0x5c015f=_0x2177d6['parent'];return _0x34ff28['model']['schema']['isLimit'](_0x5c015f)&&!_0x34ff28['model']['hasContent'](_0x5c015f)&&(_0x1ba380['contenteditable']=!0x1),function(_0x3ebe01,_0x56b94e,_0x1b7109){const _0xa7af10=_0x3ebe01['createUIElement']('span',_0x56b94e);return _0x3ebe01['setCustomProperty']('userPositionMarker',!0x0,_0xa7af10),_0xa7af10['render']=function(_0x2b2569){const _0x428d8d=this['toDomElement'](_0x2b2569),_0x3e621b=document['createElement']('span');return _0x3e621b['classList']['add']('ck-user__marker-tooltip'),_0x3e621b['setAttribute']('contenteditable','false'),_0x3e621b['setAttribute']('spellcheck','false'),_0x3e621b['textContent']=_0x1b7109['name'],_0x428d8d['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3e621b['outerHTML']+'⁠',_0x428d8d['addEventListener']('mouseenter',()=>{_0x428d8d['classList']['add']('ck-user__marker_hovered');}),_0x428d8d['addEventListener']('mouseleave',()=>{_0x428d8d['classList']['remove']('ck-user__marker_hovered');}),_0x428d8d;},_0xa7af10['isSimilar']=function(_0x16fd4f){return!(!this['getCustomProperty']('userPositionMarker')||!_0x16fd4f['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x16fd4f['getAttribute']('data-session-id'));},_0xa7af10;}(_0x169c3c,_0x1ba380,_0x16925e);}(_0x31fb6f,_0x290aa8,_0x1a906e,_0x5c16db)}),_0x5c16db['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4171a6=>function(_0xcef5b5,_0x475a67){const _0x31d842=_0xcef5b5['markerName']['split'](':')[0x2];if(_0x31d842===_0x475a67['mySessionId'])return null;const _0x51935e=_0x475a67['getUserBySessionId'](_0x31d842);if(!_0x51935e)return{'id':_0x31d842,'classes':[]};return{'id':_0x31d842,'classes':['ck-user__selection',_0x51935e['color']['getSelectionClass']()],'attributes':{'style':Q(_0x51935e),'data-session-id':_0x31d842},'priority':0x7d0+_0x51935e['orderNumber']};}(_0x4171a6,_0x1a906e)}),function(_0x36eb43){const _0x52c2bb=_0x36eb43['model'],_0x24c4d7=new Map(),_0x25b523=_0x36eb43['plugins']['get'](Y);_0x52c2bb['markers']['on']('update:user:range',(_0x4695ab,_0x2cb294,_0x4074b2,_0x4475e8)=>{if(!_0x4475e8&&_0x24c4d7['get'](_0x2cb294['name']))return _0x24c4d7['get'](_0x2cb294['name'])['detach'](),void _0x24c4d7['delete'](_0x2cb294['name']);const _0xb90ac6=_0x2cb294['name']['split'](':')[0x2];if(_0xb90ac6===_0x25b523['mySessionId'])return;const _0x22d0bd='user:position:'+_0xb90ac6;_0x52c2bb['markers']['has'](_0x22d0bd)&&_0x36eb43['editing']['reconvertMarker'](_0x22d0bd),_0x2cb294['on']('change:range',(_0x4d6fbd,_0x3cb658,_0x4496ac)=>{if('$graveyard'!=_0x3cb658['root']['rootName']&&'$graveyard'==_0x2cb294['getRange']()['root']['rootName']&&!_0x24c4d7['has'](_0x2cb294['name'])){const _0x48ef76=_0x52c2bb['schema']['getNearestSelectionRange'](_0x4496ac['deletionPosition']);if(_0x48ef76){const _0x13c5c2=_0x2c8faf['fromRange'](_0x48ef76);_0x24c4d7['set'](_0x2cb294['name'],_0x13c5c2),_0x13c5c2['on']('change:range',(_0x557502,_0x2a74fc,_0x4d0897)=>{if('$graveyard'==_0x13c5c2['root']['rootName']){const _0x1a469f=_0x52c2bb['schema']['getNearestSelectionRange'](_0x4d0897['deletionPosition']);_0x1a469f?(_0x13c5c2['start']=_0x1a469f['start'],_0x13c5c2['end']=_0x1a469f['end']):(_0x24c4d7['delete'](_0x2cb294['name']),_0x13c5c2['detach']());}});}}});}),_0x52c2bb['document']['on']('change',()=>{_0x24c4d7['size']>0x0&&_0x52c2bb['enqueueChange']({'isUndoable':!0x1},_0x1e6f9f=>{for(const [_0x5604b3,_0x3aac6b]of _0x24c4d7)'$graveyard'==_0x52c2bb['markers']['get'](_0x5604b3)['getRange']()['root']['rootName']&&(J(_0x5604b3['split'](':')[0x2],_0x3aac6b['toRange'](),_0x52c2bb,_0x1e6f9f),_0x3aac6b['detach']());_0x24c4d7['clear']();});});}(_0x5c16db),this['_domEmitter']['listenTo'](_0x5207e9['document'],'keydown',(_0xfc6b38,{key:_0x8b0533})=>{'Escape'===_0x8b0533&&function(_0x2e6995){_0x2e6995['editing']['view']['change'](_0x3036d9=>{for(const _0x59c8b0 of _0x2e6995['model']['markers']){if(!_0x59c8b0['name']['startsWith']('user:position'))continue;const _0x5eb6a6=_0x2e6995['editing']['mapper']['markerNameToElements'](_0x59c8b0['name']);if(_0x5eb6a6){for(const _0x51c1f8 of _0x5eb6a6)_0x3036d9['removeClass']('ck-user__marker_hovered',_0x51c1f8);}}});}(_0x5c16db);},{'useCapture':!0x0});}['afterInit'](){const _0x2cac60=this['editor'],_0x39a73e=_0x2cac60['commands']['get']('undo');_0x39a73e&&_0x2cac60['model']['on']('applyOperation',(_0x231891,_0x58a4fd)=>{const _0x2191c1=_0x58a4fd[0x0];if(!_0x2191c1['isDocumentOperation'])return;if('marker'!=_0x2191c1['type']||!_0x2191c1['name']['startsWith']('user:'))return;const _0x16c9a3=_0x2191c1['batch'];_0x39a73e['_createdBatches']['has'](_0x16c9a3)&&(_0x2191c1['newRange']=_0x2191c1['oldRange']?_0x2cac60['model']['createRange'](_0x2191c1['oldRange']['start'],_0x2191c1['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4330df=this['editor'],_0x30dc33=_0x4330df['model']['document'],_0x5c345e=_0x4330df['plugins']['get'](Y);_0x4330df['model']['enqueueChange']({'isUndoable':!0x1},_0x16e0d6=>{const _0x420e41='user:range:'+_0x5c345e['mySessionId'],_0x1396d9='user:position:'+_0x5c345e['mySessionId'],_0xff36df=_0x4330df['model']['markers']['has'](_0x420e41);_0x4330df['editing']['view']['hasDomSelection']?J(_0x5c345e['mySessionId'],_0x30dc33['selection']['getFirstRange'](),_0x4330df['model'],_0x16e0d6):_0xff36df&&(_0x16e0d6['removeMarker'](_0x420e41),_0x16e0d6['removeMarker'](_0x1396d9));});}}function J(_0x3b437a,_0x48cfad,_0x192995,_0x24fbf0){const _0x50cb35='user:range:'+_0x3b437a,_0x20db0c='user:position:'+_0x3b437a,_0x2aca1b=_0x48cfad['getContainedElement']();let _0x17f67e=_0x48cfad['start'];if(_0x2aca1b&&_0x2aca1b['is']('element','tableCell')){const _0x33800d=function(_0x173eea,_0x4bab8b){for(const _0x10f428 of _0x173eea['getPositions']())if(_0x4bab8b['schema']['checkChild'](_0x10f428,'$text'))return _0x10f428;}(_0x48cfad,_0x192995);_0x33800d&&(_0x17f67e=_0x33800d,_0x48cfad=_0x24fbf0['createRange'](_0x17f67e));}const _0x2eadff=_0x24fbf0['createRange'](_0x17f67e);_0x192995['markers']['has'](_0x50cb35)?(_0x24fbf0['updateMarker'](_0x50cb35,{'range':_0x48cfad}),_0x24fbf0['updateMarker'](_0x20db0c,{'range':_0x2eadff})):(_0x24fbf0['addMarker'](_0x50cb35,{'range':_0x48cfad,'usingOperation':!0x0}),_0x24fbf0['addMarker'](_0x20db0c,{'range':_0x2eadff,'usingOperation':!0x0}));}function Q(_0x5e7461){return'--ck-user-color:'+_0x5e7461['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x5e7461['color']['getColorAlphaVariable']()+';';}function X(_0x3baab8,_0x2b2bd7,_0x167d03){const _0x50ae48=_0x3baab8['t'],t=_0x3baab8['t'];switch(_0x2b2bd7){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 _0x50ae48({'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'},_0x167d03);default:return'';}}let Z=0x1;class tt extends _0x317dac{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x469088)());['_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,_0x1358ff,_0x5170f0,_0x1eebb6];}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 _0x593b3b=this['serverHistory']['getOperations']();for(let _0x206b56=_0x593b3b['length']-0x1;_0x206b56>=0x0;_0x206b56--){const _0x323c0c=_0x593b3b[_0x206b56];if(!this['_disconnectionOperations']['has'](_0x323c0c))return _0x323c0c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x191656){if(super(_0x191656),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x48de8b(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x89efa8('collaboration-missing-channelid',this);const _0x4e01c5=_0x191656['config']['get']('cloudServices.bundleVersion')||_0x31dc87;this['_service']=new tt['CollaborativeEditingService'](_0x4e01c5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x54aa97(),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 _0x3e91e8=this['editor'],_0x3a188e=_0x3e91e8['plugins']['get'](_0x5170f0),_0x3b147c=_0x3e91e8['plugins']['get'](z);this['listenTo'](_0x3a188e,'getOperationAuthor',(_0x332525,_0x1ea100)=>{const _0x37a40a=_0x1ea100[0x0];_0x37a40a['_authorId']&&(_0x332525['return']=_0x3a188e['getUser'](_0x37a40a['_authorId']),_0x332525['stop']()),null===_0x37a40a['_authorId']&&(_0x332525['return']=null,_0x332525['stop']());},{'priority':'high'}),this['listenTo'](_0x3e91e8['model']['document']['selection'],'change:range',(_0x1abbba,_0x1848d5)=>{_0x1848d5['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3e91e8['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3e91e8['model']['on']('applyOperation',(_0x12ffd1,_0x373a15)=>{const _0x3073b1=_0x373a15[0x0];_0x3073b1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3073b1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3b147c,'state',this,'_hasSynchronizationProblem',(_0x2dc31a,_0x7646b2)=>'connected'===_0x2dc31a&&!_0x7646b2),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3e91e8['disableReadOnlyMode']('rtc-offline'):_0x3e91e8['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3e91e8['disableReadOnlyMode']('rtc-offline'):_0x3e91e8['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xfc3c83=this['editor']['plugins']['get'](Y),_0x1cbc15=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0xfc3c83['unregister'](this['_channelId']);const _0x158cb7=await this['_service']['reconnect'](_0x1cbc15['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x158cb7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x23bc49=await this['_service']['getConnectedSessions']();_0xfc3c83['register'](this['_channelId'],_0x23bc49),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x352913){if(function(_0x32ea4a){return'404'===_0x32ea4a['code'];}(_0x352913)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x72e88e){return'409'===_0x72e88e['code'];}(_0x352913)){const _0x5f3ef3=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'](_0x5f3ef3);}else{if(!(_0x352913 instanceof et))throw _0x352913;this['_handleReconnectionError']();}}}}['destroy'](){const _0x501b67=this['editor']['plugins']['get'](z),_0x14d4a8=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x14d4a8['channelSessions']['has'](this['_channelId'])&&_0x14d4a8['unregister'](this['_channelId']),_0x501b67['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x21c595){if(this['sessionId']!==_0x21c595['sessionId']&&this['_lastSyncedOperationId']!==_0x21c595['lastOperationId'])throw new et();return this['sessionId']=_0x21c595['sessionId'],this['_handleServerResponse']([],{..._0x21c595,'wereChangesApplied':!0x1,'data':_0x21c595['data']},'reconnect');}async['_connectService'](_0x2ec4c7,_0x551b1b=!0x1){const {connection:_0x39f3e3}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x39f3e3,this['_channelId'])['then'](_0x3228bf=>this['_initSessionsHandling'](_0x3228bf))['catch'](_0x580811=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x580811);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5c122d,_0x606baf)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x606baf);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4c7d23=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2ec4c7);this['_isPendingUpdate']=!0x0;const _0x1024eb=await this['_service']['connect'](_0x39f3e3,this['_compressOperations'](_0x2ec4c7),_0x4c7d23);if(this['sessionId']=_0x1024eb['sessionId'],_0x551b1b){if(!_0x1024eb['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1024eb['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2ec4c7,_0x1024eb,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1024eb,_0x2ec4c7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4524a1=this['editor']['plugins']['get'](Y),_0x18d766=this['editor']['plugins']['get'](K),_0x3dcf6d=_0x4524a1['channelSessions']['get'](this['_channelId']);_0x3dcf6d&&_0x3dcf6d['length']>0x1?_0x18d766['createUserMarkerOperations']():this['listenTo'](_0x4524a1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4524a1['channelSessions']['get'](this['_channelId'])['length']&&_0x18d766['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xd04239,_0x44395e,_0xf182bd,_0x23675c){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x44395e){const _0x3d5f38=this['_decompressOperations'](_0xf182bd,_0x23675c);await this['_fetchMissingUsers'](_0x3d5f38),this['_handleExternalOperations'](_0x3d5f38,_0x44395e,_0xf182bd['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4acd86}=this['editor'];let _0x356dae;try{_0x356dae=await this['_service']['getDocumentDetails']();}catch{const _0x522ba2=X(_0x4acd86,'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'](_0x522ba2);}const _0xc00379=_0x356dae['currentDocumentSession']||_0x356dae['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0xc00379['lastOperationId']){const _0xdf8a36=X(_0x4acd86,'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'](_0xdf8a36);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x28a974){const _0x296fee=this['editor']['plugins']['get'](Y);this['listenTo'](_0x296fee,'sessionAdd:'+this['_channelId'],(_0x321082,{session:_0x46cc97})=>{if(_0x46cc97['id']===_0x296fee['mySessionId']){_0x321082['off']();const _0x397bc6=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x302287=_0x46cc97['permissions'];_0x397bc6&&_0x397bc6['isEnabled']&&(_0x302287=_0x302287['filter'](_0x156c08=>'document:write'!==_0x156c08)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x302287,this['_channelId']);}}),_0x296fee['register'](this['_channelId'],_0x28a974);}['_initThrowingOnDataSet'](){const _0x1ad0d3=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xfd723)=>{if(!_0xfd723[_0xfd723['length']-0x1]['suppressErrorInCollaboration'])throw new _0x89efa8('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1ad0d3['apply'](this['editor']['data'],_0xfd723);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x14275b,[_0x3ec9b1])=>{if(this['_document']['version'])throw new _0x89efa8('realtimecollaborationclient-init-document-already-initialized',this);_0x14275b['stop'](),this['_setPendingAction']();const _0x5a39cf=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x481a2a])=>!_0x481a2a['lazyLoad'])['map'](([_0x14129c,_0x498a73])=>[_0x14129c,_0x498a73['modelAttributes']||{}])),_0x1417fc=this['_getOperationsFromInitData'](_0x3ec9b1,_0x5a39cf);0x0==_0x1417fc['length']&&_0x1417fc['push'](new _0x5f4805(0x0)),_0x14275b['return']=this['_connectService'](_0x1417fc)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x169aac=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x169aac))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x5b2f1c,[_0x447959,_0x4aafec])=>{_0x5b2f1c['stop']();const _0x460230=this['editor']['model']['document']['getRoot'](_0x447959);if(!this['_knownRootNames']['has'](_0x447959)){const _0x38515a=_0x4aafec&&_0x4aafec['data']?_0x4aafec['data']:'',_0x1bb235=_0x4aafec&&_0x4aafec['attributes']?_0x4aafec['attributes']:{};await this['_loadRoot'](_0x447959,_0x38515a,_0x1bb235);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x460230['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x460230);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x4e0c1c){const _0x41420c=this['editor']['plugins']['get'](_0x5170f0),{connection:_0x18317f}=this['editor']['plugins']['get'](z),_0x4b4f08=new Set();for(const _0x1058b9 of _0x4e0c1c){const _0x17ead9=_0x1058b9['_authorId'];_0x17ead9&&!_0x41420c['getUser'](_0x17ead9)&&_0x4b4f08['add'](_0x17ead9);}if(0x0===_0x4b4f08['size'])return;const _0x551a5f=await _0x34697a['getMany'](_0x18317f,Array['from'](_0x4b4f08));for(const _0x184b59 of _0x551a5f)_0x41420c['getUser'](_0x184b59['id'])||_0x41420c['addUser'](_0x184b59);}['_getOperationsFromInitData'](_0x12a5c4,_0x556018={}){const _0x51203f=this['editor']['model'],_0x28706c=[];let _0x304c6a=0x0;const _0x50d832='string'==typeof _0x12a5c4?{'main':_0x12a5c4}:_0x12a5c4;for(const _0x160fd4 of Object['keys'](_0x50d832)){if(!this['_document']['roots']['has'](_0x160fd4))throw new _0x89efa8('realtimecollaborationclient-init-non-existent-root',this);const _0x358659=this['editor']['data']['parse'](_0x50d832[_0x160fd4]),_0x511781=this['_document']['getRoot'](_0x160fd4),_0x4c4795=new _0x42fa8e(_0x51203f['createPositionAt'](_0x511781,0x0),_0x358659,_0x304c6a++);_0x28706c['push'](_0x4c4795);for(const [_0x1405b3,_0x3efc48]of _0x358659['markers']){const _0x31887d=_0x51203f['createRange'](_0x51203f['createPositionFromPath'](_0x511781,_0x3efc48['start']['path']['slice']()),_0x51203f['createPositionFromPath'](_0x511781,_0x3efc48['end']['path']['slice']())),_0x1d6f20=new _0x3d96dd(_0x1405b3,null,_0x31887d,_0x51203f['markers'],!0x0,_0x304c6a++);_0x28706c['push'](_0x1d6f20);}}if(_0x556018)for(const [_0x12eb93,_0x3e5826]of Object['entries'](_0x556018)){const _0x1f4b2a=_0x51203f['document']['getRoot'](_0x12eb93);if(!_0x1f4b2a)throw new _0x89efa8('multi-root-editor-root-attributes-no-root',null);for(const [_0x523522,_0x5084fb]of Object['entries'](_0x3e5826))if(null!==_0x5084fb){const _0x2bfac8=new _0x244e47(_0x1f4b2a,_0x523522,null,_0x5084fb,_0x304c6a++);_0x28706c['push'](_0x2bfac8);}}return _0x28706c;}async['_loadRoot'](_0x3355d5,_0x23ddff,_0x4c638d){this['_getOperationsFromInitData']({[_0x3355d5]:_0x23ddff},{[_0x3355d5]:_0x4c638d})['forEach']((_0x48216f,_0x5a436a)=>{_0x48216f['baseVersion']=this['_document']['version']+_0x5a436a,_0x48216f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x48216f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1f8054,_0xe62e0b){let _0x427784;this['_offset']=_0x1f8054['offset'];const _0x3aba1f=_0x1f8054['wereChangesApplied']&&!_0x1f8054['initData'],_0x4dc130=_0x3aba1f?0x0:_0x1f8054['data']['baseVersion'];if(_0xe62e0b['forEach'](_0x254243=>{_0x254243['_isInit']=!0x0,_0x254243['createdAt']=_0x1f8054['sessionCreatedAt'],_0x254243['_authorId']=null;}),_0x3aba1f)_0x427784=_0xe62e0b,this['_applyOperationsSet'](_0x427784,_0x3aba1f);else{if(_0x1f8054['initData']){const _0x354562=this['_getOperationsFromInitData'](_0x1f8054['initData']);this['_document']['history']['version']=-_0x354562['length'],_0x354562['forEach'](_0x48afa1=>{_0x48afa1['baseVersion']-=_0x354562['length'],_0x48afa1['createdAt']=_0x1f8054['sessionCreatedAt'],_0x48afa1['_isInit']=!0x0,_0x48afa1['_authorId']=null;}),this['_applyOperationsSet'](_0x354562,!0x0),this['serverHistory']['version']=-_0x354562['length']+this['_offset'],this['_updateServerHistory'](_0x354562);}this['_document']['history']['version']=_0x4dc130,_0x427784=this['_decompressOperations'](_0x1f8054['data'],_0x1f8054['metadata']),await this['_fetchMissingUsers'](_0x427784),this['_applyOperationsSet'](_0x427784,_0x3aba1f);}_0x1f8054['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x427784,_0x1f8054['lastOperationId']),this['_lastSyncedOperationId']=_0x1f8054['lastOperationId']),this['serverHistory']['version']=_0x4dc130+this['_offset'],this['_updateServerHistory'](_0x427784),_0xe62e0b['filter'](_0x18718c=>{const _0x44d1c1=this['_getAffectedRoot'](_0x18718c);return _0x44d1c1&&!this['_knownRootNames']['has'](_0x44d1c1);})['forEach']((_0x572e87,_0x6e06e7)=>{_0x572e87['baseVersion']=this['_document']['version']+_0x6e06e7,this['_saveOperationInBuffer'](_0x572e87);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x272fbf,_0x190b09){const _0x19db3f=_0x190b09&&_0x190b09['message'];if(_0x19db3f&&_0x19db3f['startsWith']('realtimecollaborationclient'))throw _0x190b09;const _0x113adb=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x113adb['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x89efa8(_0x272fbf,this['editor'],_0x19db3f?{'originalError':_0x19db3f}:void 0x0);}['_saveOperationInBuffer'](_0x52629a){this['_knownOperations']['has'](_0x52629a)||(this['_knownOperations']['add'](_0x52629a),this['_bufferedOperations']['push'](_0x52629a),this['_pendingAction']||'marker'==_0x52629a['type']&&!_0x52629a['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x30743a=!0x1){!_0x30743a&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x50b040=>{_0x50b040&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x30c572=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3fc5ae){return _0x3fc5ae['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3fc5ae['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3fc5ae['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x30c572)||this['_crash'](_0x30c572['message'],_0x30c572);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x41a21f=>{this['on']('change:_isPendingUpdate',()=>{_0x41a21f();});});}async['_sendBufferedOperations'](){const _0x352faa=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x352faa['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x469531=[...this['_bufferedOperations']];for(const _0x4e931f of _0x469531)_0x4e931f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4e931f);const _0x1b8bc0=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x469531),_0x156f8c=Z++,_0x2ce57b=this['_compressOperations'](_0x469531),_0x447859=await this['_service']['sendOperations'](_0x2ce57b,_0x2ce57b['baseVersion'],_0x1b8bc0);try{return await this['_handleServerResponse'](_0x469531,_0x447859,_0x156f8c);}catch(_0x32512d){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x32512d);}}async['_handleServerResponse'](_0x2ae1f6,_0x203c8c,_0x2d3ffe){if('error'in _0x203c8c)throw _0x203c8c['error'];let _0x23231d=!0x1;if(_0x203c8c['wereChangesApplied']){_0x203c8c['lastOperationId']&&(this['_lastSyncedOperationId']=_0x203c8c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x66cfe2=>!_0x2ae1f6['includes'](_0x66cfe2));for(const _0x39dee9 of _0x2ae1f6)_0x39dee9['createdAt']='lastOperationAcceptedAt'in _0x203c8c&&_0x203c8c['lastOperationAcceptedAt']||void 0x0;st(_0x2ae1f6,_0x203c8c['version']-_0x2ae1f6['length']),this['_updateServerHistory'](_0x2ae1f6);const _0x55d50c=_0x2ae1f6['filter'](_0x20a031=>{if(!_0x20a031['_isInit'])return!0x1;const _0x49bf3a=this['_getAffectedRoot'](_0x20a031);return _0x49bf3a&&!this['_knownRootNames']['has'](_0x49bf3a);});st(_0x55d50c,this['_document']['version']),this['_applyOperationsSet'](_0x55d50c),_0x23231d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1b066d=this['_decompressOperations'](_0x203c8c['data'],_0x203c8c['metadata'])['filter'](_0x1d9cad=>_0x1d9cad['baseVersion']>=this['_lastServerVersion']);_0x1b066d['forEach'](_0x1ed7d3=>this['_addKnownRoot'](_0x1ed7d3)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3afd50=>!_0x3afd50['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3afd50))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1b066d),_0x23231d=this['_handleExternalOperations'](_0x1b066d,_0x203c8c['version'],_0x203c8c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x23231d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x503f72,_0x4faf4f,_0x35c810){try{const _0x2c882b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x39a615,operationsB:_0x1de5e4,originalOperations:_0xb5ad4f}=_0x8ddae4(_0x503f72,this['_bufferedOperations'],_0x2c882b);st(_0x39a615,this['_document']['version']),st(_0x1de5e4,_0x4faf4f);for(const _0x51ad87 of _0x39a615){const _0x40e8c4=_0xb5ad4f['get'](_0x51ad87);_0x51ad87['_authorId']=_0x40e8c4?_0x40e8c4['_authorId']:null;}_0x35c810&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x503f72,_0x35c810),this['_lastSyncedOperationId']=_0x35c810),this['_bufferedOperations']=[..._0x1de5e4],this['_applyOperationsSet'](_0x39a615),this['_updateServerHistory'](_0x503f72);}catch(_0x1fd06e){return console['error'](_0x1fd06e),!0x1;}return!0x0;}['_applyOperationsSet'](_0x24702f,_0x2d97e3=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4be372=>{for(const _0x280001 of _0x24702f)this['_knownOperations']['add'](_0x280001),this['_addKnownRoot'](_0x280001),_0x4be372['batch']['addOperation'](_0x280001),this['editor']['model']['applyOperation'](_0x280001);});}['_addKnownRoot'](_0x29b2e6){const _0x5450be=this['_getAffectedRoot'](_0x29b2e6);_0x5450be&&this['_knownRootNames']['add'](_0x5450be);}['_getAffectedRoot'](_0x1b6aa2){let _0x3c82fa,_0x411041;switch(_0x1b6aa2['type']){case'insert':_0x3c82fa=_0x1b6aa2['position']['root'];break;case'marker':if(_0x411041=_0x1b6aa2['newRange'],!_0x411041)return null;_0x3c82fa=_0x411041['root'];break;case'addRootAttribute':_0x3c82fa=_0x1b6aa2['root'];break;case'addRoot':_0x3c82fa=_0x1b6aa2['affectedSelectable'];break;case'move':_0x3c82fa=_0x1b6aa2['targetPosition']['root'];break;default:return null;}return _0x3c82fa['rootName'];}['_updateServerHistory'](_0x4a63fc){_0x4a63fc['forEach'](_0x3ad939=>{const _0x29b68=_0x3ad939['clone']();_0x29b68['_authorId']=_0x3ad939['_authorId'],_0x29b68['_isInit']=!!_0x3ad939['_isInit'],_0x29b68['createdAt']=_0x3ad939['createdAt'],_0x29b68['baseVersion']+=this['_offset'],_0x3ad939['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x29b68),this['serverHistory']['addOperation'](_0x29b68);});}['_handleReconnectionError'](_0x39c2a1){const _0xddad1a=this['editor']['plugins']['get']('Notification'),_0x3d883e=this['editor']['locale'];_0x39c2a1||(_0x39c2a1=X(_0x3d883e,'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.')),_0xddad1a['showWarning'](_0x39c2a1,{'title':X(_0x3d883e,'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'](_0x1358ff)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1358ff)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2b8fbf){const _0x2720da=_0x2b8fbf['map'](_0x19fab1=>_0x19fab1['toJSON']());return this['_compressor']['compress'](_0x2720da);}['_decompressOperations'](_0x38d8a8,_0x445344){return this['_compressor']['decompress'](_0x38d8a8)['map']((_0xb5b36a,_0x3d267f)=>{const _0x1be3bd='init'==_0x445344[_0x3d267f]['type'];if('InsertOperation'==_0xb5b36a['__className']){const _0x457615=_0xb5b36a['position']['root'];!this['_document']['getRoot'](_0x457615)&&(this['_document']['createRoot']('$root',_0x457615)['_isAttached']=!0x1);}const _0x5622f1=_0x46f55e['fromJSON'](_0xb5b36a,this['_document']);return _0x5622f1['wasUndone']=_0xb5b36a['wasUndone'],_0x5622f1['_isInit']=_0x1be3bd,_0x5622f1['_authorId']=_0x1be3bd?null:_0x445344[_0x3d267f]['userId'],_0x5622f1['_isDisconnection']='cs:removeUser'===_0x445344[_0x3d267f]['type'],_0x5622f1['createdAt']=_0x445344[_0x3d267f]['createdAt'],_0x5622f1;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x268abc=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x268abc&&_0x268abc['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x199bdb,_0xf80d2d){for(const _0x20c16e of _0x199bdb)_0x20c16e['baseVersion']=_0xf80d2d++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x3bac91){this['_ignoredOperations']=_0x3bac91,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4e8bf1){let _0x391fd8=_0x4e8bf1['length'];for(;_0x391fd8--;){const _0x436d96=_0x4e8bf1[_0x391fd8];if(!this['_ignoredOperations']['has'](_0x436d96)){if(!this['_operationToId']['has'](_0x436d96)){const _0x530194=_0x4ffe65()['slice'](0x1,0x12);this['_operationToId']['set'](_0x436d96,_0x530194);}return this['_operationToId']['get'](_0x436d96);}}}['setIdForTheLastOperation'](_0x17965c,_0x18345f){if(!_0x18345f)return;let _0x1fb8f5=_0x17965c['length'];for(;_0x1fb8f5--;){const _0x4c7643=_0x17965c[_0x1fb8f5];this['_ignoredOperations']['has'](_0x4c7643)||this['_operationToId']['set'](_0x4c7643,_0x18345f);}}}class nt extends _0x317dac{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x40a17f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0xfab053)());['_services'];static get['requires'](){return[z,_0x4b7eab,Y,_0x5170f0];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4da272){super(_0x4da272),this['_services']=new Map();}async['init'](){const _0x3184c9=this['context'],_0x5a5fd6=_0x3184c9['plugins']['get'](_0x4b7eab);if(_0x3184c9['plugins']['get'](z)['addToReconnectionStack'](this),_0x5a5fd6['adapter']={'addCommentThread':async({channelId:_0x17c97c,threadId:_0x1f1025,comments:_0x5e3ab3,resolvedAt:_0x111fab,resolvedBy:_0x1a2c94,context:_0x524250,attributes:_0x236b22})=>{const _0x128a31=await this['_getService'](_0x17c97c)['addCommentThread']({'commentThreadId':_0x1f1025,'comments':_0x5e3ab3['map'](_0x476313=>function(_0x23e98d,_0x232bc8,_0x5794a0){return{'commentThreadId':_0x5794a0,'commentId':_0x23e98d['commentId'],'userId':_0x23e98d['authorId'],'content':_0x23e98d['content'],'documentId':_0x232bc8,'createdAt':_0x23e98d['createdAt'],'attributes':_0x23e98d['attributes']||{}};}(_0x476313,_0x17c97c,_0x1f1025)),'resolvedAt':_0x111fab,'resolvedBy':_0x1a2c94,'context':_0x524250,'attributes':_0x236b22})['catch'](ct);return{'threadId':_0x128a31['commentThreadId'],'comments':_0x128a31['comments']};},'getCommentThread':async({channelId:_0x29e4f4,threadId:_0x3d3fde})=>{const _0x253b99=await this['_getService'](_0x29e4f4)['getCommentThread'](_0x3d3fde)['catch'](rt)['catch'](ct);return _0x253b99?_0x253b99['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x253b99]),{'threadId':_0x253b99['commentThreadId'],'comments':_0x253b99['comments']['map'](at),'context':_0x253b99['context'],'resolvedAt':_0x253b99['resolvedAt'],'resolvedBy':_0x253b99['resolvedBy'],'attributes':_0x253b99['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x227034,threadId:_0x1219e1,context:_0x11f93f,unlinkedAt:_0x46a32f,attributes:_0x5bac44})=>this['_getService'](_0x227034)['updateCommentThread']({'commentThreadId':_0x1219e1,'context':_0x11f93f,'attributes':_0x5bac44,'unlinkedAt':_0x46a32f})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x62fc91,threadId:_0xbb8f0a})=>{const _0x4dd107=await this['_getService'](_0x62fc91)['resolveCommentThread'](_0xbb8f0a)['catch'](rt)['catch'](ct);return{'threadId':_0x4dd107['commentThreadId'],'resolvedAt':_0x4dd107['resolvedAt'],'resolvedBy':_0x4dd107['resolvedBy']};},'reopenCommentThread':async({channelId:_0x8cc064,threadId:_0x34b7ec})=>this['_getService'](_0x8cc064)['reopenCommentThread'](_0x34b7ec)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5d9c17,threadId:_0x1d2e5e})=>this['_getService'](_0x5d9c17)['removeCommentThread'](_0x1d2e5e)['catch'](rt)['catch'](ct),'addComment':({channelId:_0xee19a,threadId:_0x16b758,commentId:_0x2c8fd3,content:_0xa7adda,attributes:_0xc17291})=>this['_getService'](_0xee19a)['addComment'](_0x16b758,_0x2c8fd3,_0xa7adda,_0xc17291)['catch'](ct),'updateComment':({channelId:_0xe0a5c2,threadId:_0x1f9367,commentId:_0x32494c,content:_0x5a2041,attributes:_0x336bbc})=>this['_getService'](_0xe0a5c2)['updateComment'](_0x1f9367,_0x32494c,_0x5a2041,_0x336bbc)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x3c31f7,threadId:_0x108f89,commentId:_0xabb84})=>this['_getService'](_0x3c31f7)['removeComment'](_0x108f89,_0xabb84)['catch'](rt)['catch'](ct)},_0x3184c9 instanceof _0x14d173){const _0x359359=_0x3184c9['config']['get']('collaboration.channelId'),_0x2ff444=_0x3184c9['plugins']['get'](Y);await this['_setUpService'](_0x359359);const _0x5958f1=await this['_services']['get'](_0x359359)['getConnectedSessions']();this['listenTo'](_0x2ff444,'sessionAdd:'+_0x359359,(_0x80bffa,{session:_0x503804})=>{_0x503804['id']===_0x2ff444['mySessionId']&&(_0x80bffa['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x503804['permissions'],_0x359359));}),_0x2ff444['register'](_0x359359,_0x5958f1);}}async['_setUpService'](_0xd0463c){if(this['_services']['has'](_0xd0463c))throw new _0x89efa8('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xd0463c});const _0x301eaa=this['context']['plugins']['get'](_0x4b7eab),_0x26ad3e=new ot['CommentsService'](_0xd0463c);this['_services']['set'](_0xd0463c,_0x26ad3e),this['listenTo'](_0x26ad3e,'commentThreadAdded',(_0x24b99c,_0xdce81e)=>{const {commentThreadId:_0x506e9f,documentId:_0x406639,context:_0x5a450e,attributes:_0x49cfef,resolvedAt:_0x86c52a,resolvedBy:_0x19f2be,comments:_0x2d7018}=_0xdce81e;_0x301eaa['getCommentThread'](_0x506e9f)||_0x301eaa['addCommentThread']({'threadId':_0x506e9f,'channelId':_0x406639,'comments':_0x2d7018?_0x2d7018['map'](at):[],'context':_0x5a450e,'attributes':_0x49cfef,'resolvedAt':_0x86c52a,'resolvedBy':_0x19f2be,'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentThreadUpdated',(_0x5e660e,{commentThreadId:_0x207cc4,documentId:_0x1dd82b,context:_0x149828,unlinkedAt:_0x4661ee,attributes:_0x361191})=>{_0x301eaa['getCommentThread'](_0x207cc4)&&_0x301eaa['updateCommentThread']({'threadId':_0x207cc4,'channelId':_0x1dd82b,'context':_0x149828,'unlinkedAt':_0x4661ee,'attributes':_0x361191,'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentThreadResolved',(_0x139e17,{commentThreadId:_0x36b008,resolvedBy:_0x2d04fa,resolvedAt:_0xe09920})=>{const _0x6f3ebe=_0x301eaa['getCommentThread'](_0x36b008);_0x6f3ebe&&_0x6f3ebe['resolve']({'resolvedBy':_0x2d04fa,'resolvedAt':_0xe09920,'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentThreadReopened',(_0x4b7c9d,{commentThreadId:_0x451ec1})=>{const _0x22eb49=_0x301eaa['getCommentThread'](_0x451ec1);_0x22eb49&&_0x22eb49['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentThreadRemoved',(_0xe24d0,{commentThreadId:_0x240a72})=>{const _0x3ae308=_0x301eaa['getCommentThread'](_0x240a72);_0x3ae308&&_0x3ae308['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentAdded',(_0x35ff34,_0x2bb1ef)=>{const _0x46a893=_0x2bb1ef['commentThreadId'],_0x8cb75b=_0x301eaa['getCommentThread'](_0x46a893);_0x8cb75b&&_0x8cb75b['addComment']({...at(_0x2bb1ef),'isFromAdapter':!0x0});}),this['listenTo'](_0x26ad3e,'commentUpdated',(_0x321631,{commentThreadId:_0x281b39,commentId:_0x136ce2,content:_0x259da9,attributes:_0x1d7fc6})=>{const _0x1e2989=_0x301eaa['getCommentThread'](_0x281b39);if(_0x1e2989){const _0x4240ce=_0x1e2989['getComment'](_0x136ce2);_0x4240ce&&_0x4240ce['update']({'content':_0x259da9,'attributes':_0x1d7fc6,'isFromAdapter':!0x0});}}),this['listenTo'](_0x26ad3e,'commentRemoved',(_0x574d8d,{commentThreadId:_0x151be3,commentId:_0x320b82})=>{const _0x1a6539=_0x301eaa['getCommentThread'](_0x151be3);if(_0x1a6539){const _0x2fa129=_0x1a6539['getComment'](_0x320b82);_0x2fa129&&_0x2fa129['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xd0463c);}['destroy'](){if(this['context']instanceof _0x14d173){const _0x42e703=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x42e703);}}['_terminateService'](_0x14fa24){if(!this['_services']['has'](_0x14fa24))throw new _0x89efa8('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x14fa24});this['_getService'](_0x14fa24)['disconnect'](),this['_services']['delete'](_0x14fa24);}async['reconnect'](){for(const _0x20d313 of this['_services']['keys']())await this['_connectService'](_0x20d313);if(this['context']instanceof _0x14d173){const _0x43e32b=this['context']['config']['get']('collaboration.channelId'),_0x4cb79c=this['context']['plugins']['get'](Y);_0x4cb79c['unregister'](_0x43e32b);const _0x3c5b9d=await this['_services']['get'](_0x43e32b)['getConnectedSessions']();_0x4cb79c['register'](_0x43e32b,_0x3c5b9d);}}async['_connectService'](_0x2dd0d2){const {connection:_0x276044}=this['context']['plugins']['get'](z),_0x18e0f6=this['context']['plugins']['get'](_0x4b7eab),_0x2321a1=this['_services']['get'](_0x2dd0d2),_0x3d939a=await _0x2321a1['connect'](_0x276044);await this['_fetchMissingUsersForThreads'](_0x3d939a);const _0x3e22fd=new Set(Array['from'](_0x18e0f6['getCommentThreads']({'channelId':_0x2dd0d2}),_0x1a3353=>_0x1a3353['id']));for(const _0x469364 of _0x3d939a)_0x469364['deletedAt']||_0x3e22fd['delete'](_0x469364['commentThreadId']);for(const _0x1a0c03 of _0x3e22fd)_0x18e0f6['getCommentThread'](_0x1a0c03)['remove']({'isFromAdapter':!0x0});for(const _0x3968b3 of _0x3d939a){let _0x80700c=_0x18e0f6['getCommentThread'](_0x3968b3['commentThreadId']);const {commentThreadId:_0x311245,context:_0x24487a,attributes:_0x251d32,resolvedBy:_0x420d52,resolvedAt:_0x3a7e19,unlinkedAt:_0x51be32,deletedAt:_0x28e0d1}=_0x3968b3;if(_0x28e0d1)continue;_0x80700c||(_0x80700c=_0x18e0f6['addCommentThread']({'channelId':_0x2dd0d2,'threadId':_0x311245,'context':_0x24487a,'attributes':_0x251d32||{},'resolvedBy':_0x420d52,'resolvedAt':_0x3a7e19,'unlinkedAt':_0x51be32,'isFromAdapter':!0x0}));const _0x126054=new Set(Array['from'](_0x80700c['comments'],_0x4c5c8a=>_0x4c5c8a['id']));for(const _0x128c0a of _0x3968b3['comments'])_0x126054['delete'](_0x128c0a['commentId']);for(const _0x2dc986 of _0x126054)_0x80700c['getComment'](_0x2dc986)['remove']({'isFromAdapter':!0x0});for(const _0x3b8d8b of _0x3968b3['comments']){const _0x1ecf29=_0x80700c['getComment'](_0x3b8d8b['commentId']);_0x1ecf29?_0x1ecf29['content']!==_0x3b8d8b['content']&&_0x1ecf29['update']({'content':_0x3b8d8b['content'],'isFromAdapter':!0x0}):_0x80700c['addComment'](Object['assign'](at(_0x3b8d8b),{'isFromAdapter':!0x0}));}}}['_getService'](_0x202fd4){if(!this['_services']['has'](_0x202fd4))throw new _0x89efa8('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x202fd4});return this['_services']['get'](_0x202fd4);}async['_fetchMissingUsersForThreads'](_0x923292){const _0x16b20c=this['context']['plugins']['get'](_0x5170f0),{connection:_0x5e160c}=this['context']['plugins']['get'](z),_0x20e8c9=new Set();for(const {resolvedBy:_0x1e0734,comments:_0x3b9206}of _0x923292){_0x1e0734&&!_0x16b20c['getUser'](_0x1e0734)&&_0x20e8c9['add'](_0x1e0734);for(const {userId:_0x420d18}of _0x3b9206)_0x16b20c['getUser'](_0x420d18)||_0x20e8c9['add'](_0x420d18);}if(0x0===_0x20e8c9['size'])return;const _0x37e426=await _0x34697a['getMany'](_0x5e160c,Array['from'](_0x20e8c9));for(const _0x522ca2 of _0x37e426)_0x16b20c['getUser'](_0x522ca2['id'])||_0x16b20c['addUser'](_0x522ca2);}}async function rt(_0x1798cd){if('404'!==_0x1798cd['code'])throw _0x1798cd;}function ct(_0x2944ad){if((_0x4348da=_0x2944ad)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4348da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4348da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4348da;throw _0x2944ad;}function at(_0x40773c){return{'threadId':_0x40773c['commentThreadId'],'commentId':_0x40773c['commentId'],'content':_0x40773c['content'],'createdAt':_0x40773c['createdAt'],'authorId':_0x40773c['userId'],'attributes':_0x40773c['attributes']||{}};}class ht extends _0x317dac{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x1427df)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x1c7485,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x17b386){super(_0x17b386);const _0x51fdd1=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x51fdd1);}['init'](){const _0x204c14=this['editor']['plugins']['get'](z),_0x2d4553=this['editor']['plugins']['get'](_0x1c7485);return _0x2d4553['adapter']={'getSuggestion':async _0x3f2406=>{await this['_waitForServiceReady']();const _0x444ecf=await this['_trackChangesService']['get'](_0x3f2406)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x444ecf]),_0x444ecf;},'addSuggestion':async({id:_0x16ac9e,type:_0x5bfa72,data:_0x51c6d0,originalSuggestionId:_0x4cb682,attributes:_0x48965a})=>{await this['_waitForServiceReady']();const _0x57e932={'id':_0x16ac9e,'type':_0x5bfa72,'data':_0x51c6d0,'originalSuggestionId':_0x4cb682,'attributes':_0x48965a},_0x258bc2=await this['_trackChangesService']['add'](_0x16ac9e,_0x5bfa72,_0x51c6d0,_0x4cb682,_0x48965a)['catch'](_0x5b2b24=>{if(dt(_0x5b2b24))return new Promise(_0x26a6f0=>{this['_bufferedRequests']['set'](_0x16ac9e,{'resolve':_0x26a6f0,'suggestionData':_0x57e932});});throw _0x5b2b24;});return this['_bufferedRequests']['delete'](_0x16ac9e),_0x258bc2;},'updateSuggestion':async(_0x3bb590,_0x75fd25)=>{if(await this['_waitForServiceReady'](),'open'!==_0x75fd25['state'])return this['_trackChangesService']['update'](_0x3bb590,_0x75fd25)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xccc547,_0x20217a)=>{_0x2d4553['hasSuggestion'](_0x20217a['id'])&&(_0x2d4553['getSuggestion'](_0x20217a['id'])['attributes']=_0x20217a['attributes']);}),this['_trackChangesService']['connect'](_0x204c14['connection'])['then'](_0x9ff019=>(_0x204c14['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x9ff019)['then'](()=>{for(const _0x167d6f of _0x9ff019){_0x2d4553['addSuggestionData'](_0x167d6f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x4e533c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x569233}=this['editor']['plugins']['get'](z),_0x3d0290=await this['_trackChangesService']['connect'](_0x569233);await this['_fetchMissingUsersForThreads'](_0x3d0290);for(const {suggestionData:_0x176abc,resolve:_0x2bd8ce}of this['_bufferedRequests']['values']()){let _0x1a1858=_0x3d0290['find'](_0x29692b=>_0x29692b['id']===_0x176abc['id']);_0x1a1858||(_0x1a1858=await this['_trackChangesService']['add'](_0x176abc['id'],_0x176abc['type'],_0x176abc['data'],_0x176abc['originalSuggestionId'])),_0x2bd8ce(_0x1a1858);}for(const _0x30b2e6 of _0x3d0290)_0x4e533c['hasSuggestion'](_0x30b2e6['id'])||_0x4e533c['addSuggestionData'](_0x30b2e6);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4a0f09=>{this['listenTo'](this['_trackChangesService'],'connected',_0x7dea22=>{_0x7dea22['off'](),_0x4a0f09();});});}async['_fetchMissingUsersForThreads'](_0x348564){const _0x87dc04=this['editor']['plugins']['get'](_0x5170f0),{connection:_0x2afb4b}=this['editor']['plugins']['get'](z),_0x56ad7a=new Set();for(const {authorId:_0x35e7ff}of _0x348564)_0x87dc04['getUser'](_0x35e7ff)||_0x56ad7a['add'](_0x35e7ff);if(0x0===_0x56ad7a['size'])return;const _0x1d1922=await _0x34697a['getMany'](_0x2afb4b,Array['from'](_0x56ad7a));for(const _0x4cbe00 of _0x1d1922)_0x87dc04['getUser'](_0x4cbe00['id'])||_0x87dc04['addUser'](_0x4cbe00);}}function lt(_0x64c2ab){if(dt(_0x64c2ab))return new Promise(()=>{});throw _0x64c2ab;}function dt(_0x47c070){return _0x47c070['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x47c070['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x317dac{static get['requires'](){return[_0x3987c8,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x34b070=this['editor']['plugins']['get'](z),_0x5181ce=this['editor']['plugins']['get'](_0x114ed1),_0x1f8110=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x34b070,'change:state',(_0x21f5d9,_0x42f2f6,_0x43378f)=>{_0x5181ce['isThreadsLoadingPaused']='connected'!==_0x43378f;});}),this['listenTo'](_0x34b070,'change:state',(_0xce5889,_0x52e620,_0x3662f3)=>{this['editor']['plugins']['get'](_0x4b7eab)['switchReadOnly']('connected'!==_0x3662f3);}),_0x1f8110['_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 _0x317dac{static get['requires'](){return[ut,ht,_0x412e46];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x317dac{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x3744f1)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x5eb5a6,Y,_0x5170f0];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x53b7ff){super(_0x53b7ff);const _0x237a37=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x237a37);}async['init'](){const _0x28b49d=this['editor']['plugins']['get'](tt),_0x5c699d=_0x28b49d['serverHistory'],_0x3e4f43=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x5c699d,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x28b49d['sessionId']});const _0xee3792=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x31dc87,_0x49cc86=await _0x13e030['isBundleUploaded'](_0x3e4f43['connection'],_0xee3792);this['editor']['plugins']['get'](_0x5eb5a6)['adapter']={'getRevision':async({revisionId:_0x18d540})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x18d540)),'updateRevisions':async _0x2dbb20=>{await this['_waitForServiceReady']();const _0x30d8cc=this['_revisionTracker']['currentRevision'];if(_0x49cc86&&0x1===_0x2dbb20['length']&&_0x2dbb20[0x0]['id']===_0x30d8cc['id'])return _0x2dbb20;for(const _0x221e87 of _0x2dbb20)_0x221e87['id']===_0x30d8cc['id']&&(_0x221e87['isEmptyCurrent']=_0x221e87['fromVersion']===_0x221e87['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2dbb20,this['_lastRequestId'])['then'](_0x472f54=>(this['_lastRequestId']=_0x472f54,_0x2dbb20))['catch'](_0x51916b=>{if(pt(_0x51916b)||'400'===_0x51916b['code']&&void 0x0!==_0x51916b['data']['wrongRequestId']){for(const _0x2edbea of _0x2dbb20){!this['_revisionTracker']['repository']['getRevision'](_0x2edbea['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2edbea['id'],_0x2edbea,!0x1);}if(pt(_0x51916b)&&'destroyed'!==this['editor']['state'])throw _0x51916b;return _0x2dbb20;}throw _0x51916b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x83d44b,{revisionsData:_0x598101,requestId:_0x4a81cc})=>{Math['max'](..._0x598101['map'](_0x3d9687=>_0x3d9687['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x598101,_0x4a81cc);}):this['_handleRevisionsUpdate'](_0x598101,_0x4a81cc);});const {revisions:_0x37adf7,requestId:_0x822555}=await this['_revisionHistoryService']['connect'](_0x3e4f43['connection']);_0x3e4f43['addToReconnectionStack'](this),this['_lastRequestId']=_0x822555,await this['_fetchMissingUsers'](_0x37adf7);for(const _0xaacbf6 of _0x37adf7)this['_revisionTracker']['addRevisionData'](_0xaacbf6);this['listenTo'](_0x28b49d,'change:_isConnected',(_0x1f2a40,_0x1a7ded,_0x40fd37)=>{_0x40fd37&&(this['_oldOffset']=_0x28b49d['_offset'],_0x1f2a40['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3e4f43,'state',_0x130038=>_0x130038===_0x2d64f4['CONNECTED']);}async['reconnect'](){const _0x2d94e4=this['editor']['plugins']['get'](z),_0x20fa70=this['editor']['plugins']['get'](tt),_0x4e494e=async()=>{const _0x2bb379=this['_revisionTracker']['currentRevision'],_0x1305d0=_0x2bb379['id'],_0x38884d=_0x1305d0!==_0x20fa70['sessionId'];if(_0x38884d){const _0x5a9376=_0x20fa70['_offset']-this['_oldOffset'],_0x2d13e2=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2bb379['toVersion']+_0x5a9376!==_0x2d13e2){const _0x369992=_0x2bb379['fromVersion']+_0x5a9376,_0x1d7eb0=this['editor']['plugins']['get'](_0x5170f0),_0x25b355=this['_revisionTracker']['buildRevisionData']({'revision':_0x2bb379,'from':_0x369992,'to':_0x2d13e2});_0x25b355['id']=_0x2bb379['id'];const _0x4b8e70=_0x25b355['authorsIds']['map'](_0x20bba3=>_0x1d7eb0['getUser'](_0x20bba3));_0x2bb379['_update']({..._0x25b355,'authors':_0x4b8e70},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2bb379['id'],_0x25b355,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2d13e2,(_0x2bb379['toVersion']===_0x2bb379['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1305d0)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1305d0),this['_revisionTracker']['_createCurrentRevision'](_0x2d13e2));}const {revisions:_0x6c98c1,requestId:_0x4a3215}=await this['_revisionHistoryService']['reconnect'](_0x2d94e4['connection'],this['_lastRequestId']);_0x38884d&&_0x6c98c1['length']>0x0?_0x20fa70['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x6c98c1),this['_handleRevisionsUpdate'](_0x6c98c1,_0x4a3215),this['_revisionTracker']['sendBufferedUpdates']());};return _0x20fa70['_isConnected']?_0x4e494e():new Promise((_0x3c107d,_0x556d79)=>{_0x20fa70['once']('change:_isConnected',()=>{_0x4e494e()['then'](_0x3c107d)['catch'](_0x556d79);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x539741=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x371cab=>{_0x371cab['off'](),_0x539741();});});}['_getLatestVersionFromServerOperations'](){const _0x178e26=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x29203b of _0x178e26)if('marker'!==_0x29203b['type']||_0x29203b['affectsData'])return _0x29203b['baseVersion']+0x1;}['_getLatestVersion'](){const _0x16a1db=this['editor']['plugins']['get'](tt);return new Promise(_0x45bad8=>{_0x16a1db['_isPendingUpdate']?_0x16a1db['once']('change:_isPendingUpdate',()=>{_0x45bad8(this['_getLatestVersionFromServerOperations']());}):_0x45bad8(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3b5180,_0x3b0876){const _0x562c97=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3b0876;for(const _0x3ec540 of _0x3b5180){const _0x3dae52=_0x562c97['getRevision'](_0x3ec540['id']);if(_0x3dae52){if((_0x3ec540['fromVersion']||_0x3ec540['toVersion'])&&(_0x3ec540['diffData']=null),_0x3dae52===this['_revisionTracker']['currentRevision']){const _0x5c94ed=Math['max'](_0x3dae52['toVersion'],_0x3ec540['toVersion']),_0x15eca6=Math['max'](_0x3dae52['fromVersion'],_0x3ec540['fromVersion']);let _0x1857b8;_0x3dae52['toVersion']===_0x3ec540['toVersion']&&_0x3dae52['fromVersion']===_0x3ec540['fromVersion']?(_0x1857b8=!0x0,this['_preventResendingRevisionData'](_0x3ec540)):_0x3ec540['toVersion']===_0x5c94ed&&_0x3ec540['fromVersion']===_0x15eca6?_0x1857b8=!0x1:(_0x3dae52['toVersion']===_0x5c94ed&&_0x3dae52['fromVersion']===_0x15eca6||this['_fixRevision']({'revision':_0x3dae52,'from':_0x15eca6,'to':_0x5c94ed}),_0x1857b8=!0x0),_0x1857b8&&(delete _0x3ec540['fromVersion'],delete _0x3ec540['toVersion'],delete _0x3ec540['diffData'],delete _0x3ec540['createdAt'],delete _0x3ec540['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3ec540),this['_preventResendingRevisionData'](_0x3ec540);}else this['_revisionTracker']['addRevisionData'](_0x3ec540);}const _0x39a261=_0x562c97['getRevisions']();_0x39a261['reverse']();for(let _0x3f6512=0x0;_0x3f6512<_0x39a261['length']-0x1;_0x3f6512++){const _0x4f0bc0=_0x39a261[_0x3f6512],_0x1ceaf7=_0x39a261[_0x3f6512+0x1];if(_0x4f0bc0['fromVersion']<_0x1ceaf7['toVersion']){const _0x4bb96e=_0x1ceaf7['toVersion'],_0x4f176c=Math['max'](_0x4bb96e,_0x4f0bc0['toVersion']);this['_fixRevision']({'revision':_0x4f0bc0,'from':_0x4bb96e,'to':_0x4f176c});}}}['_fixRevision']({revision:_0x3826eb,from:_0x3d20e7,to:_0x93ef31}={}){const _0x1fcc9b=this['editor']['plugins']['get'](_0x5170f0),_0x4a5e48=this['_revisionTracker']['buildRevisionData']({'revision':_0x3826eb,'from':_0x3d20e7,'to':_0x93ef31});_0x4a5e48['authors']=_0x4a5e48['authorsIds']['map'](_0x3b8683=>_0x1fcc9b['getUser'](_0x3b8683)),_0x3826eb['_update'](_0x4a5e48);}['_preventResendingRevisionData'](_0x5c9692){const _0x3330c7={};_0x3330c7['id']=_0x5c9692['id'];for(const _0x1992d0 of Object['keys'](_0x5c9692))'id'!==_0x1992d0&&(_0x3330c7[_0x1992d0]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3330c7['id'],_0x3330c7,!0x0);}async['_fetchMissingUsers'](_0x171a66){const _0x430fa4=this['editor']['plugins']['get'](_0x5170f0),{connection:_0x300649}=this['editor']['plugins']['get'](z),_0x57dc44=new Set();for(const _0x4a6075 of _0x171a66){for(const _0x19f336 of _0x4a6075['authorsIds'])_0x2470f6(_0x19f336);_0x4a6075['creatorId']&&_0x2470f6(_0x4a6075['creatorId']);}if(0x0===_0x57dc44['size'])return;const _0x9b14fb=await _0x34697a['getMany'](_0x300649,Array['from'](_0x57dc44));for(const _0x4a6edf of _0x9b14fb)_0x430fa4['getUser'](_0x4a6edf['id'])||_0x430fa4['addUser'](_0x4a6edf);function _0x2470f6(_0x50858e){_0x430fa4['getUser'](_0x50858e)||_0x57dc44['add'](_0x50858e);}}}function pt(_0x1c6cb7){return _0x1c6cb7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1c6cb7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1c6cb7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x317dac{static get['requires'](){return[_0x5eb5a6,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x41b18b{['_collapseAt'];constructor(_0x4aec1d,_0x5487f3=0x6){super(_0x4aec1d);const _0xc75103=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5487f3,this['bind']('isHidden')['to'](this,'usersCount',_0x26aecd=>_0x26aecd<_0x5487f3),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xc75103['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':_0xc75103['to']('usersCount',_0x2eab47=>'+'+(_0x2eab47-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x41b18b{['items'];['keystrokes'];constructor(_0x441610){super(_0x441610);const _0x207345=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2b69b0(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x207345['if']('hasPopup'),'aria-expanded':_0x207345['to']('isExpanded',_0x71f343=>this['hasPopup']&&String(_0x71f343)),'aria-label':_0x207345['to']('hasPopup',_0x1df7b7=>X(_0x441610,_0x1df7b7?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x207345['to']('hasPopup',_0x3573c6=>!!_0x3573c6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x207345['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x207345['to'](_0x1c4aa9=>{const _0x40891c=_0x1c4aa9,_0x5e1327=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1de0ac=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5e1327?.['contains'](_0x40891c['relatedTarget'])||_0x1de0ac?.['contains'](_0x40891c['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2535ea,_0x350ead,_0xd17961)=>{this['element']&&(_0xd17961?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 _0x41b18b{['counterView'];['inlineListView'];constructor(_0x1e7490,_0x30f0bf=0x6){super(_0x1e7490);const _0x4edafe=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x30f0bf),this['inlineListView']=new vt(_0x1e7490),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5da002 of this['inlineListView']['items'])_0x5da002['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',_0x4edafe['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x41b18b{['listWrapperView'];constructor(_0x1b71fa,_0x404714){super(_0x1b71fa);const _0x174f5a=this['bindTemplate'];this['listWrapperView']=new bt(_0x1b71fa,_0x404714),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x1b71fa,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x174f5a['to'](_0x15779a=>{const _0x484b9f=_0x15779a,_0x1538f6=document['querySelector']('.ck-presence-list__list'),_0x420ffc=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1538f6?.['contains'](_0x484b9f['relatedTarget'])||_0x420ffc?.['contains'](_0x484b9f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x40698b{constructor(_0x5578ab,_0x5788c8){super(_0x5578ab);const _0x636eda=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5788c8?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x636eda['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x636eda['to']('role'),'aria-label':_0x636eda['to']('ariaLabel'),'aria-labelledby':_0x636eda['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5207e9['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x48f051=this['element'];_0x48f051&&(this['_isScrollable']=Math['max'](_0x48f051['scrollHeight'],_0x48f051['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x3d2bd6{['userView'];constructor(_0x4d2ace,_0x74a172,_0x4b06a4){super(_0x4d2ace);const _0x4ee9ce=this['bindTemplate'];this['userView']=new _0x4eb3d8(_0x4d2ace,_0x74a172);const _0x161b6c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x74a172['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x74a172['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x74a172['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x74a172['color']['getColorVariable'](),'--ck-user-color-alpha':_0x74a172['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4b06a4&&(_0x161b6c['tag']='button',_0x161b6c['on']={'click':_0x4ee9ce['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x161b6c);}['focus'](){this['element']['focus']();}}class It extends _0x41b18b{['userView'];['markerView'];constructor(_0x347538,_0x4b6f9d,_0x2a855d){super(_0x347538);const _0x41af82=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4eb3d8(_0x347538,_0x4b6f9d),this['markerView']=new St(_0x347538,_0x4b6f9d);const _0x2d9f9a=new _0x143d3f(_0x347538);_0x2d9f9a['template']['tag']='span',_0x2d9f9a['text']=_0x4b6f9d['name'];const _0x3ad02c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x41af82['to']('isFocusable',_0x5c4362=>!!_0x5c4362&&0x0),'aria-labelledby':_0x2d9f9a['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x41af82['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x41af82['to']('hasTooltip',_0x10e72d=>!_0x10e72d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2d9f9a]};_0x2a855d&&(_0x3ad02c['tag']='button',_0x3ad02c['on']={'click':_0x41af82['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3ad02c);}}class St extends _0x41b18b{constructor(_0x4b1d9c,_0x18d989){super(_0x4b1d9c),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x18d989['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x18d989['color']['getColorVariable'](),'--ck-user-color-alpha':_0x18d989['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x40a17f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe99a5c){super(_0xe99a5c),this['context']['config']['define']('presenceList',Tt);const _0x228e24=_0xe99a5c['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x228e24)throw new _0x89efa8('presencelist-collapseat-invalid-format',this);if(_0x228e24<0x1)throw new _0x89efa8('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4f44ac(),this['balloonPanelView']=new _0x550d0e(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1ee525 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1ee525);this['listenTo'](this['_allConnectedUsers'],'add',(_0x46fd54,_0x2c88c7)=>{this['_handleUserAdd'](_0x2c88c7);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1308e8,_0x2340cf)=>{this['_handleUserRemove'](_0x2340cf);});}['_createView'](){const _0x3bef3e=this['context'],_0x4a0030=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x187030=this['balloonPanelView'];if(!_0x45757d(_0x3bef3e['config']['get']('presenceList.container')))throw new _0x89efa8('presencelist-missing-container',this);return _0x4a0030['counterView']['bind']('usersCount')['to'](this),_0x4a0030['bind']('isCollapsed')['to'](this,'usersCount',_0x26f40b=>{const {collapseAt:_0x19c987}=_0x3bef3e['config']['get']('presenceList'),_0x439eb4=_0x26f40b>=_0x19c987;if(_0x439eb4&&!_0x4a0030['inlineListView']['items']['find'](_0x4db95a=>_0x4db95a instanceof wt)){const _0x6a6d00=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x6a6d00&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4a0030['inlineListView']['items']['add'](_0x4a0030['counterView']);}return _0x439eb4||this['hideDropdown'](),_0x439eb4;}),_0x4a0030['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x372731=>{const _0x24e4d4=_0x3bef3e['config']['get']('presenceList'),_0x241eca=new It(_0x3bef3e['locale'],_0x372731,!!_0x24e4d4['onClick']);return _0x241eca['bind']('hasTooltip')['to'](_0x4a0030,'isCollapsed',_0xb7d0eb=>!_0xb7d0eb),_0x241eca['bind']('isFocusable')['to'](_0x4a0030,'isCollapsed',_0x140817=>!_0x140817),_0x24e4d4['onClick']&&this['listenTo'](_0x241eca,'execute',()=>{this['view']['isCollapsed']||_0x24e4d4['onClick'](_0x372731,_0x241eca['element']);}),_0x241eca;}),this['listenTo'](_0x4a0030['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4a0030['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4a0030['inlineListView']['keystrokes']['set']('Enter',(_0x1c0d35,_0x3dc88e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3dc88e());}),_0x4a0030['render'](),_0x187030['render'](),_0x241ae5({'emitter':_0x4a0030,'activator':()=>_0x187030['isVisible'],'contextElements':[_0x187030['element'],_0x4a0030['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3bef3e['config']['get']('presenceList.container')['appendChild'](_0x4a0030['element']),this['_bodyCollection']=new _0x16f974(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4a0030;}['_handleUserAdd'](_0xe4a6a1){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xe4a6a1['isMe'])return;const _0x1d0c71=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1d0c71-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x41f95c=_0xe4a6a1['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xe4a6a1,_0x41f95c);}['_handleUserRemove'](_0x3adaea){this['usersCount']--;const {collapseAt:_0x39b997}=this['context']['config']['get']('presenceList'),_0x51d075=this['usersCount']>=_0x39b997;if(this['currentDisplayedUsers']['get'](_0x3adaea['id']))this['currentDisplayedUsers']['remove'](_0x3adaea['id']);else{if(_0x51d075&&this['currentDisplayedUsers']['length']+0x1===_0x39b997-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x51d075?0x1:0x0)<this['usersCount']){for(const _0x33c95f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x33c95f['id'])&&(this['currentDisplayedUsers']['add'](_0x33c95f,Math['min'](this['currentDisplayedUsers']['length']-(_0x51d075?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x51d075?0x1:0x0)===_0x39b997-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x3fc977=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x3fc977['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0xc2e5be}=this['presenceDropdownView'];_0xc2e5be['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x54149e=>{if(!_0x3fc977['displayMe']&&_0x54149e['isMe'])return null;const _0x42d4d7=new kt(this['context']['locale'],_0x54149e,!!_0x3fc977['onClick']);return _0x3fc977['onClick']&&this['listenTo'](_0x42d4d7,'execute',()=>{_0x3fc977['onClick'](_0x54149e,_0x42d4d7['element']);}),_0x42d4d7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0xc2e5be['focus'](),_0xc2e5be['checkIfScrollable']();const _0x27aba3=(_0x4a3dbc,_0x274da9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x274da9();};_0xc2e5be['keystrokes']['set']('Esc',_0x27aba3),_0xc2e5be['keystrokes']['set']('Shift+Tab',_0x27aba3),_0xc2e5be['keystrokes']['set']('Tab',(_0x1ea204,_0x2e5ad3)=>{!function(_0x5406fe){const _0x21d38f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1e5eb0=>_0x1e5eb0+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x59c07a=[...document['body']['querySelectorAll'](_0x21d38f)]['filter'](_0x48583b=>_0x48583b===document['activeElement']||_0x48583b['offsetWidth']+_0x48583b['offsetHeight']>0x0)['sort']((_0x2d6b47,_0x5c05b4)=>(_0x2d6b47['tabIndex']||0x0)-(_0x5c05b4['tabIndex']||0x0)),_0x394741=_0x59c07a['indexOf'](_0x5406fe),_0x79dcad=_0x59c07a[(_0x394741+0x1)%_0x59c07a['length']];_0x79dcad&&_0x79dcad['focus']();}(this['view']['element']),this['hideDropdown'](),_0x2e5ad3();}),_0xc2e5be['focusTracker']['add'](this['view']['element']),_0xc2e5be['focusTracker']['on']('change:isFocused',(_0x1d95f1,_0x34da82,_0x214980)=>{_0x214980||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 _0x40a17f{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 _0x5cca81,Plugin as _0x539c3e,PendingActions as _0xd9ea96,Context as _0x285430}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x236293,CKEditorError as _0x2b1db2,Collection as _0x442047,global as _0x3feea9,version as _0x5f4d8d,uid as _0x243793,KeystrokeHandler as _0x473501}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3beb50,View as _0xaa5d78,ListView as _0x44faf1,ListItemView as _0x4a4ec4,LabelView as _0x169be3,BalloonPanelView as _0x1723fd,clickOutsideHandler as _0x13b972,BodyCollection as _0x25513e}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x468486,History as _0x2d26a6,NoOperation as _0x3e327f,InsertOperation as _0x3841a2,MarkerOperation as _0x4ed2d7,RootAttributeOperation as _0x57bef9,transformOperationSets as _0x16312c,OperationFactory as _0x10370b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x359e6e}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2d3563,WEB_SOCKET_GATEWAY_STATES as _0xf9333a,CollaborativeEditingService as _0x35e047,User as _0x1ca5f7,CommentsService as _0x55b714,TrackChangesService as _0x1c8aeb,RevisionHistoryService as _0x44cd6b,EditorService as _0x553943}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x15d62c,UserView as _0x31b224}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x5a3d56}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x45a080,TrackChanges as _0x527e70}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5383ad,Comments as _0x403d11,CommentsEditing as _0x37e082}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x40c931}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x573df8}from'es-toolkit/compat';class z extends _0x5cca81{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x2d3563)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x359e6e,_0x3beb50];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3cac25){super(_0x3cac25),this['set']('state',_0xf9333a['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x236293())();}['init'](){const _0x3e0781=this['context'],_0x5038d6=_0x3e0781['plugins']['get'](_0x359e6e),_0x1fd44d=_0x3e0781['plugins']['get'](_0x3beb50);if(!_0x5038d6['token'])throw new _0x2b1db2('websocketgateway-missing-token',this);if(!_0x5038d6['webSocketUrl'])throw new _0x2b1db2('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'](_0x5038d6['token'],_0x5038d6['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5b810e=>{if(this['connection']=_0x5b810e,this['bind']('state')['to'](_0x5b810e,'state',this,'_isBrowserOffline',(_0x84a0b9,_0x236b5a)=>('connected'!==_0x84a0b9&&(this['_shouldPluginsReconnect']=!0x0),_0x236b5a||_0x84a0b9!==_0xf9333a['CONNECTED']?_0xf9333a['DISCONNECTED']:this['state']==_0xf9333a['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xf9333a['CONNECTING']):_0xf9333a['CONNECTED'])),this['connection']['on']('error',(_0x1da72a,_0x55a5c5)=>{if('limitExceeded'!==_0x55a5c5['code'])throw console['error'](_0x55a5c5),new _0x2b1db2('cloudservices-init',null,{'originalError':_0x55a5c5});_0x1fd44d['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'});}),!_0x5b810e['me'])return new Promise(_0x373909=>_0x5b810e['on']('change:me',_0x373909));})['catch'](_0x6539bc=>{throw console['error'](_0x6539bc),new _0x2b1db2('cloudservices-init',null,{'originalError':_0x6539bc});});}['addToReconnectionStack'](_0x33b4c3){if('function'!=typeof _0x33b4c3['reconnect'])throw new _0x2b1db2('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x33b4c3))throw new _0x2b1db2('websocketgateway-plugin-already-registered',this,{'name':_0x33b4c3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x33b4c3);}['removeFromReconnectionStack'](_0x5686c3){this['_reconnectionStack']['delete'](_0x5686c3);}['isInReconnectionStack'](_0xacdf21){return this['_reconnectionStack']['has'](_0xacdf21);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2a269e=>_0x2a269e['reconnect']())))['then'](()=>this['state']=_0xf9333a['CONNECTED'])['catch'](_0x25a624=>{throw console['error'](_0x25a624),new _0x2b1db2('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xf9333a['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x5cca81{['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,_0x15d62c];}constructor(_0xbfb5e9){super(_0xbfb5e9),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x442047(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x15d62c);}['init'](){const _0x4ff35c=this['context']['plugins']['get'](z);this['listenTo'](_0x4ff35c,'change:state',(_0x6fa848,_0x16d014,_0x11fa3b)=>{if('connected'!==_0x11fa3b)this['channelSessions']['forEach'](_0x4ef392=>_0x4ef392['clear']()),this['channelConnectedUsers']['forEach'](_0x263e64=>_0x263e64['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xafb147,_0x36ab52]of this['_registeredSessions'])for(const _0x404635 of _0x36ab52)this['_handleSessionAdd'](_0xafb147,_0x404635);}}),this['_createUser'](_0x4ff35c['connection']['me'],!0x0);}['register'](_0x3b3b80,_0x167d2d){if(this['_registeredSessions']['has'](_0x3b3b80))throw new _0x2b1db2('sessions-register-already-registered',null,{'channelId':_0x3b3b80});this['_registeredSessions']['set'](_0x3b3b80,_0x167d2d),this['channelSessions']['set'](_0x3b3b80,new _0x442047()),this['channelConnectedUsers']['set'](_0x3b3b80,new _0x442047()),this['listenTo'](_0x167d2d,'add',(_0x5b8d1e,_0x383b03)=>this['_handleSessionAdd'](_0x3b3b80,_0x383b03)),this['listenTo'](_0x167d2d,'remove',(_0x217da0,_0x3ea400)=>this['_handleSessionRemove'](_0x3b3b80,_0x3ea400));for(const _0x2f0468 of _0x167d2d)this['_handleSessionAdd'](_0x3b3b80,_0x2f0468);}['unregister'](_0x50b9af){if(!this['_registeredSessions']['has'](_0x50b9af))throw new _0x2b1db2('sessions-unregister-not-exist',null,{'channelId':_0x50b9af});const _0x2d6517=this['_registeredSessions']['get'](_0x50b9af);this['stopListening'](_0x2d6517);for(const _0x36a9c9 of _0x2d6517)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x50b9af,_0x36a9c9);this['_registeredSessions']['delete'](_0x50b9af),this['channelSessions']['delete'](_0x50b9af),this['channelConnectedUsers']['delete'](_0x50b9af);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x5a1805){for(const _0x2a0d18 of this['channelSessions']['values']())for(const _0x4bb55d of _0x2a0d18)if(_0x4bb55d['id']===_0x5a1805)return _0x4bb55d['user'];}['getUserSessions'](_0x16bfcc,_0xd578f2){const _0x17860e=_0xd578f2?[this['channelSessions']['get'](_0xd578f2)]:this['channelSessions']['values'](),_0x5c972b=new Set();for(const _0x1cadba of _0x17860e)for(const _0x8f0e85 of _0x1cadba)_0x8f0e85['user']['id']===_0x16bfcc['id']&&_0x5c972b['add'](_0x8f0e85['id']);return _0x5c972b;}['getUserRole'](_0x512102){for(const _0x4663d6 of this['channelSessions']['values']())for(const _0x5d1bca of _0x4663d6)if(_0x5d1bca['user']===_0x512102)return _0x5d1bca['role'];}['_handleSessionAdd'](_0x6bc086,_0x56a7cf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x342fbf=_0x56a7cf['user'],_0x5d4c75=this['_users']['getUser'](_0x342fbf['id'])||this['_createUser'](_0x342fbf),_0x1e6f92=Object['assign']({},_0x56a7cf,{'user':_0x5d4c75});if(this['channelSessions']['get'](_0x6bc086)['add'](_0x1e6f92),!_0x342fbf['hiddenInPresenceList']){const _0x18a3e9=this['channelConnectedUsers']['get'](_0x6bc086);_0x18a3e9['has'](_0x5d4c75['id'])||_0x18a3e9['add'](_0x5d4c75),this['allConnectedUsers']['has'](_0x5d4c75['id'])||_0x342fbf['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5d4c75,_0x5d4c75['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x6bc086,{'channelId':_0x6bc086,'session':_0x1e6f92});}['_handleSessionRemove'](_0x3c1f83,_0x394ec5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1eb51e=this['channelConnectedUsers']['get'](_0x3c1f83),_0x40eadd=_0x394ec5['user'];_0x40eadd['id']&&(this['channelSessions']['get'](_0x3c1f83)['remove'](_0x394ec5['id']),_0x1eb51e['has'](_0x40eadd['id'])&&!this['getUserSessions'](_0x40eadd,_0x3c1f83)['size']&&_0x1eb51e['remove'](_0x40eadd['id']),this['allConnectedUsers']['get'](_0x40eadd['id'])&&!this['getUserSessions'](_0x40eadd)['size']&&this['allConnectedUsers']['remove'](_0x40eadd['id']));}['_createUser'](_0x1003c7,_0x2c49fd){const _0x503480=this['_users']['addUser'](_0x1003c7);return _0x2c49fd&&this['_users']['defineMe'](_0x1003c7['id']),_0x503480['orderNumber']=this['_uniqueUsersCount']++,_0x503480;}}class K extends _0x539c3e{['_domEmitter']=new(_0x236293())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x40ebba=this['editor'],_0x22d6a8=_0x40ebba['plugins']['get'](Y);_0x40ebba['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x27218b,{writer:_0x176ffc})=>function(_0x366f8f,_0x3bdd5b,_0x5e82ae,_0x186185){const _0x4eccef=_0x366f8f['markerName']['split'](':')[0x2],_0xb661bc=_0x5e82ae['getUserBySessionId'](_0x4eccef);if(!_0xb661bc||_0x4eccef===_0x5e82ae['mySessionId'])return;if(!_0x186185['model']['schema']['checkChild'](_0x366f8f['markerRange']['start'],'$text'))return;const _0x420fa9={'class':'ck-user__marker\x20'+_0xb661bc['color']['getMarkerClass'](),'style':Q(_0xb661bc),'data-name':_0xb661bc['name'],'data-session-id':_0x4eccef},_0x3b2636=_0x186185['model']['markers']['get'](_0x366f8f['markerName']),_0x501d2b=_0x3b2636['getStart'](),_0x1d4d36=_0x501d2b['nodeAfter'],_0x29c4f6=_0x186185['model']['schema'];if(_0x1d4d36&&_0x29c4f6['isObject'](_0x1d4d36)&&_0x29c4f6['isInline'](_0x1d4d36)&&!_0x186185['model']['markers']['get']('user:range:'+_0x4eccef)['getRange']()['isCollapsed'])return;const _0x17fc03=_0x501d2b['parent'];return _0x186185['model']['schema']['isLimit'](_0x17fc03)&&!_0x186185['model']['hasContent'](_0x17fc03)&&(_0x420fa9['contenteditable']=!0x1),function(_0x2d7319,_0x22ccc8,_0x37076e){const _0x5a9632=_0x2d7319['createUIElement']('span',_0x22ccc8);return _0x2d7319['setCustomProperty']('userPositionMarker',!0x0,_0x5a9632),_0x5a9632['render']=function(_0x3d2e01){const _0x2b9536=this['toDomElement'](_0x3d2e01),_0x5c4d4d=document['createElement']('span');return _0x5c4d4d['classList']['add']('ck-user__marker-tooltip'),_0x5c4d4d['setAttribute']('contenteditable','false'),_0x5c4d4d['setAttribute']('spellcheck','false'),_0x5c4d4d['textContent']=_0x37076e['name'],_0x2b9536['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5c4d4d['outerHTML']+'⁠',_0x2b9536['addEventListener']('mouseenter',()=>{_0x2b9536['classList']['add']('ck-user__marker_hovered');}),_0x2b9536['addEventListener']('mouseleave',()=>{_0x2b9536['classList']['remove']('ck-user__marker_hovered');}),_0x2b9536;},_0x5a9632['isSimilar']=function(_0x2a9728){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2a9728['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2a9728['getAttribute']('data-session-id'));},_0x5a9632;}(_0x3bdd5b,_0x420fa9,_0xb661bc);}(_0x27218b,_0x176ffc,_0x22d6a8,_0x40ebba)}),_0x40ebba['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x40e573=>function(_0x2a2e0c,_0x4029dd){const _0x117c0c=_0x2a2e0c['markerName']['split'](':')[0x2];if(_0x117c0c===_0x4029dd['mySessionId'])return null;const _0x566429=_0x4029dd['getUserBySessionId'](_0x117c0c);if(!_0x566429)return{'id':_0x117c0c,'classes':[]};return{'id':_0x117c0c,'classes':['ck-user__selection',_0x566429['color']['getSelectionClass']()],'attributes':{'style':Q(_0x566429),'data-session-id':_0x117c0c},'priority':0x7d0+_0x566429['orderNumber']};}(_0x40e573,_0x22d6a8)}),function(_0x7c0789){const _0x54b355=_0x7c0789['model'],_0x256777=new Map(),_0x2bcb09=_0x7c0789['plugins']['get'](Y);_0x54b355['markers']['on']('update:user:range',(_0x4e023a,_0x4378c7,_0x283fc8,_0x4feeab)=>{if(!_0x4feeab&&_0x256777['get'](_0x4378c7['name']))return _0x256777['get'](_0x4378c7['name'])['detach'](),void _0x256777['delete'](_0x4378c7['name']);const _0x3d8780=_0x4378c7['name']['split'](':')[0x2];if(_0x3d8780===_0x2bcb09['mySessionId'])return;const _0x31573a='user:position:'+_0x3d8780;_0x54b355['markers']['has'](_0x31573a)&&_0x7c0789['editing']['reconvertMarker'](_0x31573a),_0x4378c7['on']('change:range',(_0x16649f,_0x3fbc44,_0x5d2fcf)=>{if('$graveyard'!=_0x3fbc44['root']['rootName']&&'$graveyard'==_0x4378c7['getRange']()['root']['rootName']&&!_0x256777['has'](_0x4378c7['name'])){const _0x3d0fbe=_0x54b355['schema']['getNearestSelectionRange'](_0x5d2fcf['deletionPosition']);if(_0x3d0fbe){const _0x46b224=_0x468486['fromRange'](_0x3d0fbe);_0x256777['set'](_0x4378c7['name'],_0x46b224),_0x46b224['on']('change:range',(_0x23c1a2,_0x5a3306,_0xfc58ee)=>{if('$graveyard'==_0x46b224['root']['rootName']){const _0x22e106=_0x54b355['schema']['getNearestSelectionRange'](_0xfc58ee['deletionPosition']);_0x22e106?(_0x46b224['start']=_0x22e106['start'],_0x46b224['end']=_0x22e106['end']):(_0x256777['delete'](_0x4378c7['name']),_0x46b224['detach']());}});}}});}),_0x54b355['document']['on']('change',()=>{_0x256777['size']>0x0&&_0x54b355['enqueueChange']({'isUndoable':!0x1},_0x488068=>{for(const [_0x488bd4,_0x599b33]of _0x256777)'$graveyard'==_0x54b355['markers']['get'](_0x488bd4)['getRange']()['root']['rootName']&&(J(_0x488bd4['split'](':')[0x2],_0x599b33['toRange'](),_0x54b355,_0x488068),_0x599b33['detach']());_0x256777['clear']();});});}(_0x40ebba),this['_domEmitter']['listenTo'](_0x3feea9['document'],'keydown',(_0x2ab889,{key:_0x9be9b7})=>{'Escape'===_0x9be9b7&&function(_0x3bae0a){_0x3bae0a['editing']['view']['change'](_0x1adc9b=>{for(const _0x4daf2b of _0x3bae0a['model']['markers']){if(!_0x4daf2b['name']['startsWith']('user:position'))continue;const _0x279157=_0x3bae0a['editing']['mapper']['markerNameToElements'](_0x4daf2b['name']);if(_0x279157){for(const _0x4618d9 of _0x279157)_0x1adc9b['removeClass']('ck-user__marker_hovered',_0x4618d9);}}});}(_0x40ebba);},{'useCapture':!0x0});}['afterInit'](){const _0x30558e=this['editor'],_0x15f85a=_0x30558e['commands']['get']('undo');_0x15f85a&&_0x30558e['model']['on']('applyOperation',(_0x38fe86,_0x306190)=>{const _0x4e6629=_0x306190[0x0];if(!_0x4e6629['isDocumentOperation'])return;if('marker'!=_0x4e6629['type']||!_0x4e6629['name']['startsWith']('user:'))return;const _0x4d1225=_0x4e6629['batch'];_0x15f85a['_createdBatches']['has'](_0x4d1225)&&(_0x4e6629['newRange']=_0x4e6629['oldRange']?_0x30558e['model']['createRange'](_0x4e6629['oldRange']['start'],_0x4e6629['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x203c9d=this['editor'],_0x14627f=_0x203c9d['model']['document'],_0x5a68a4=_0x203c9d['plugins']['get'](Y);_0x203c9d['model']['enqueueChange']({'isUndoable':!0x1},_0x546daf=>{const _0x1d79e0='user:range:'+_0x5a68a4['mySessionId'],_0x5cd4c5='user:position:'+_0x5a68a4['mySessionId'],_0x3aaa3e=_0x203c9d['model']['markers']['has'](_0x1d79e0);_0x203c9d['editing']['view']['hasDomSelection']?J(_0x5a68a4['mySessionId'],_0x14627f['selection']['getFirstRange'](),_0x203c9d['model'],_0x546daf):_0x3aaa3e&&(_0x546daf['removeMarker'](_0x1d79e0),_0x546daf['removeMarker'](_0x5cd4c5));});}}function J(_0x586b37,_0xb4a11a,_0x19ea86,_0x518786){const _0x1a150e='user:range:'+_0x586b37,_0x499285='user:position:'+_0x586b37,_0x15a5ef=_0xb4a11a['getContainedElement']();let _0x2c4925=_0xb4a11a['start'];if(_0x15a5ef&&_0x15a5ef['is']('element','tableCell')){const _0x2eafd1=function(_0x1d0501,_0x59917f){for(const _0x42d0f9 of _0x1d0501['getPositions']())if(_0x59917f['schema']['checkChild'](_0x42d0f9,'$text'))return _0x42d0f9;}(_0xb4a11a,_0x19ea86);_0x2eafd1&&(_0x2c4925=_0x2eafd1,_0xb4a11a=_0x518786['createRange'](_0x2c4925));}const _0x2e1bb5=_0x518786['createRange'](_0x2c4925);_0x19ea86['markers']['has'](_0x1a150e)?(_0x518786['updateMarker'](_0x1a150e,{'range':_0xb4a11a}),_0x518786['updateMarker'](_0x499285,{'range':_0x2e1bb5})):(_0x518786['addMarker'](_0x1a150e,{'range':_0xb4a11a,'usingOperation':!0x0}),_0x518786['addMarker'](_0x499285,{'range':_0x2e1bb5,'usingOperation':!0x0}));}function Q(_0x4cfa44){return'--ck-user-color:'+_0x4cfa44['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4cfa44['color']['getColorAlphaVariable']()+';';}function X(_0xa89946,_0x59cfb5,_0xc7ff08){const _0xb0700b=_0xa89946['t'],t=_0xa89946['t'];switch(_0x59cfb5){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 _0xb0700b({'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'},_0xc7ff08);default:return'';}}let Z=0x1;class tt extends _0x539c3e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x35e047)());['_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,_0xd9ea96,_0x15d62c,_0x3beb50];}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 _0x1ea482=this['serverHistory']['getOperations']();for(let _0x205b89=_0x1ea482['length']-0x1;_0x205b89>=0x0;_0x205b89--){const _0x13646f=_0x1ea482[_0x205b89];if(!this['_disconnectionOperations']['has'](_0x13646f))return _0x13646f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x390202){if(super(_0x390202),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2d26a6(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2b1db2('collaboration-missing-channelid',this);const _0x273bfe=_0x390202['config']['get']('cloudServices.bundleVersion')||_0x5f4d8d;this['_service']=new tt['CollaborativeEditingService'](_0x273bfe,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5a3d56(),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 _0x153a80=this['editor'],_0x29033f=_0x153a80['plugins']['get'](_0x15d62c),_0x294a13=_0x153a80['plugins']['get'](z);this['listenTo'](_0x29033f,'getOperationAuthor',(_0x167ec8,_0xec2b14)=>{const _0x46d9e5=_0xec2b14[0x0];_0x46d9e5['_authorId']&&(_0x167ec8['return']=_0x29033f['getUser'](_0x46d9e5['_authorId']),_0x167ec8['stop']()),null===_0x46d9e5['_authorId']&&(_0x167ec8['return']=null,_0x167ec8['stop']());},{'priority':'high'}),this['listenTo'](_0x153a80['model']['document']['selection'],'change:range',(_0x28be37,_0x3744b3)=>{_0x3744b3['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x153a80['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x153a80['model']['on']('applyOperation',(_0x565bb0,_0x1521d4)=>{const _0x4c80a8=_0x1521d4[0x0];_0x4c80a8['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4c80a8),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x294a13,'state',this,'_hasSynchronizationProblem',(_0xd24138,_0x394b3)=>'connected'===_0xd24138&&!_0x394b3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x153a80['disableReadOnlyMode']('rtc-offline'):_0x153a80['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x153a80['disableReadOnlyMode']('rtc-offline'):_0x153a80['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4c5241=this['editor']['plugins']['get'](Y),_0x5be913=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x4c5241['unregister'](this['_channelId']);const _0x54a203=await this['_service']['reconnect'](_0x5be913['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x54a203)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x49c534=await this['_service']['getConnectedSessions']();_0x4c5241['register'](this['_channelId'],_0x49c534),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5d18f7){if(function(_0xed42d0){return'404'===_0xed42d0['code'];}(_0x5d18f7)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x32a64d){return'409'===_0x32a64d['code'];}(_0x5d18f7)){const _0x59e69e=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'](_0x59e69e);}else{if(!(_0x5d18f7 instanceof et))throw _0x5d18f7;this['_handleReconnectionError']();}}}}['destroy'](){const _0x9773dd=this['editor']['plugins']['get'](z),_0x41bb4e=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x41bb4e['channelSessions']['has'](this['_channelId'])&&_0x41bb4e['unregister'](this['_channelId']),_0x9773dd['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x46939d){if(this['sessionId']!==_0x46939d['sessionId']&&this['_lastSyncedOperationId']!==_0x46939d['lastOperationId'])throw new et();return this['sessionId']=_0x46939d['sessionId'],this['_handleServerResponse']([],{..._0x46939d,'wereChangesApplied':!0x1,'data':_0x46939d['data']},'reconnect');}async['_connectService'](_0x5dc94e,_0x304ac5=!0x1){const {connection:_0x162a74}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x162a74,this['_channelId'])['then'](_0x38620b=>this['_initSessionsHandling'](_0x38620b))['catch'](_0x35a2b6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x35a2b6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5af7cf,_0x110094)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x110094);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x128439=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5dc94e);this['_isPendingUpdate']=!0x0;const _0x2b3dd0=await this['_service']['connect'](_0x162a74,this['_compressOperations'](_0x5dc94e),_0x128439);if(this['sessionId']=_0x2b3dd0['sessionId'],_0x304ac5){if(!_0x2b3dd0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2b3dd0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5dc94e,_0x2b3dd0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2b3dd0,_0x5dc94e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x119e14=this['editor']['plugins']['get'](Y),_0x51dd8d=this['editor']['plugins']['get'](K),_0x1f0b92=_0x119e14['channelSessions']['get'](this['_channelId']);_0x1f0b92&&_0x1f0b92['length']>0x1?_0x51dd8d['createUserMarkerOperations']():this['listenTo'](_0x119e14,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x119e14['channelSessions']['get'](this['_channelId'])['length']&&_0x51dd8d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x398210,_0x54096a,_0x31f06a,_0x1f925d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x54096a){const _0x5369c7=this['_decompressOperations'](_0x31f06a,_0x1f925d);await this['_fetchMissingUsers'](_0x5369c7),this['_handleExternalOperations'](_0x5369c7,_0x54096a,_0x31f06a['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x36e22f}=this['editor'];let _0x5661cd;try{_0x5661cd=await this['_service']['getDocumentDetails']();}catch{const _0xaed56f=X(_0x36e22f,'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'](_0xaed56f);}const _0x529ce6=_0x5661cd['currentDocumentSession']||_0x5661cd['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x529ce6['lastOperationId']){const _0x5e9071=X(_0x36e22f,'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'](_0x5e9071);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x12313b){const _0x306a7a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x306a7a,'sessionAdd:'+this['_channelId'],(_0x34936f,{session:_0x2deb06})=>{if(_0x2deb06['id']===_0x306a7a['mySessionId']){_0x34936f['off']();const _0x2124b5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x88fa83=_0x2deb06['permissions'];_0x2124b5&&_0x2124b5['isEnabled']&&(_0x88fa83=_0x88fa83['filter'](_0x6d42f6=>'document:write'!==_0x6d42f6)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x88fa83,this['_channelId']);}}),_0x306a7a['register'](this['_channelId'],_0x12313b);}['_initThrowingOnDataSet'](){const _0x48d8ed=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3ff46c)=>{if(!_0x3ff46c[_0x3ff46c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2b1db2('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x48d8ed['apply'](this['editor']['data'],_0x3ff46c);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x440741,[_0x35bb91])=>{if(this['_document']['version'])throw new _0x2b1db2('realtimecollaborationclient-init-document-already-initialized',this);_0x440741['stop'](),this['_setPendingAction']();const _0xd693fc=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x23b06f])=>!_0x23b06f['lazyLoad'])['map'](([_0x32bbb6,_0x2671a6])=>[_0x32bbb6,_0x2671a6['modelAttributes']||{}])),_0x5f46e9=this['_getOperationsFromInitData'](_0x35bb91,_0xd693fc);0x0==_0x5f46e9['length']&&_0x5f46e9['push'](new _0x3e327f(0x0)),_0x440741['return']=this['_connectService'](_0x5f46e9)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xaad939=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xaad939))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xe84be9,[_0x17eb56,_0x2271f0])=>{_0xe84be9['stop']();const _0x245c41=this['editor']['model']['document']['getRoot'](_0x17eb56);if(!this['_knownRootNames']['has'](_0x17eb56)){const _0x59ca91=_0x2271f0&&_0x2271f0['data']?_0x2271f0['data']:'',_0x27f592=_0x2271f0&&_0x2271f0['attributes']?_0x2271f0['attributes']:{};await this['_loadRoot'](_0x17eb56,_0x59ca91,_0x27f592);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x245c41['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x245c41);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x15c068){const _0x48a53f=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x7b35f9}=this['editor']['plugins']['get'](z),_0x32640e=new Set();for(const _0x2f4905 of _0x15c068){const _0x2c7492=_0x2f4905['_authorId'];_0x2c7492&&!_0x48a53f['getUser'](_0x2c7492)&&_0x32640e['add'](_0x2c7492);}if(0x0===_0x32640e['size'])return;const _0x22da8e=await _0x1ca5f7['getMany'](_0x7b35f9,Array['from'](_0x32640e));for(const _0x2faa12 of _0x22da8e)_0x48a53f['getUser'](_0x2faa12['id'])||_0x48a53f['addUser'](_0x2faa12);}['_getOperationsFromInitData'](_0x14e66c,_0x4df968={}){const _0x462514=this['editor']['model'],_0x475e2f=[];let _0x464b13=0x0;const _0x792f5f='string'==typeof _0x14e66c?{'main':_0x14e66c}:_0x14e66c;for(const _0x75d5b5 of Object['keys'](_0x792f5f)){if(!this['_document']['roots']['has'](_0x75d5b5))throw new _0x2b1db2('realtimecollaborationclient-init-non-existent-root',this);const _0x926c5=this['editor']['data']['parse'](_0x792f5f[_0x75d5b5]),_0x2611e2=this['_document']['getRoot'](_0x75d5b5),_0x352301=new _0x3841a2(_0x462514['createPositionAt'](_0x2611e2,0x0),_0x926c5,_0x464b13++);_0x475e2f['push'](_0x352301);for(const [_0x56e5a0,_0x98b941]of _0x926c5['markers']){const _0x3d9675=_0x462514['createRange'](_0x462514['createPositionFromPath'](_0x2611e2,_0x98b941['start']['path']['slice']()),_0x462514['createPositionFromPath'](_0x2611e2,_0x98b941['end']['path']['slice']())),_0x2d1069=new _0x4ed2d7(_0x56e5a0,null,_0x3d9675,_0x462514['markers'],!0x0,_0x464b13++);_0x475e2f['push'](_0x2d1069);}}if(_0x4df968)for(const [_0x43eb06,_0x2d6a21]of Object['entries'](_0x4df968)){const _0x332b75=_0x462514['document']['getRoot'](_0x43eb06);if(!_0x332b75)throw new _0x2b1db2('multi-root-editor-root-attributes-no-root',null);for(const [_0x4ab22f,_0x52c58d]of Object['entries'](_0x2d6a21))if(null!==_0x52c58d){const _0x346517=new _0x57bef9(_0x332b75,_0x4ab22f,null,_0x52c58d,_0x464b13++);_0x475e2f['push'](_0x346517);}}return _0x475e2f;}async['_loadRoot'](_0x1b4f23,_0x29125f,_0x5c9e25){this['_getOperationsFromInitData']({[_0x1b4f23]:_0x29125f},{[_0x1b4f23]:_0x5c9e25})['forEach']((_0x29208d,_0x348c2c)=>{_0x29208d['baseVersion']=this['_document']['version']+_0x348c2c,_0x29208d['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x29208d);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x336930,_0x443d3f){let _0x21714e;this['_offset']=_0x336930['offset'];const _0x48e93a=_0x336930['wereChangesApplied']&&!_0x336930['initData'],_0x39a089=_0x48e93a?0x0:_0x336930['data']['baseVersion'];if(_0x443d3f['forEach'](_0x10cd8b=>{_0x10cd8b['_isInit']=!0x0,_0x10cd8b['createdAt']=_0x336930['sessionCreatedAt'],_0x10cd8b['_authorId']=null;}),_0x48e93a)_0x21714e=_0x443d3f,this['_applyOperationsSet'](_0x21714e,_0x48e93a);else{if(_0x336930['initData']){const _0x5e2a18=this['_getOperationsFromInitData'](_0x336930['initData']);this['_document']['history']['version']=-_0x5e2a18['length'],_0x5e2a18['forEach'](_0x15476e=>{_0x15476e['baseVersion']-=_0x5e2a18['length'],_0x15476e['createdAt']=_0x336930['sessionCreatedAt'],_0x15476e['_isInit']=!0x0,_0x15476e['_authorId']=null;}),this['_applyOperationsSet'](_0x5e2a18,!0x0),this['serverHistory']['version']=-_0x5e2a18['length']+this['_offset'],this['_updateServerHistory'](_0x5e2a18);}this['_document']['history']['version']=_0x39a089,_0x21714e=this['_decompressOperations'](_0x336930['data'],_0x336930['metadata']),await this['_fetchMissingUsers'](_0x21714e),this['_applyOperationsSet'](_0x21714e,_0x48e93a);}_0x336930['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x21714e,_0x336930['lastOperationId']),this['_lastSyncedOperationId']=_0x336930['lastOperationId']),this['serverHistory']['version']=_0x39a089+this['_offset'],this['_updateServerHistory'](_0x21714e),_0x443d3f['filter'](_0x4d9850=>{const _0x465694=this['_getAffectedRoot'](_0x4d9850);return _0x465694&&!this['_knownRootNames']['has'](_0x465694);})['forEach']((_0x4f6e03,_0x3134bc)=>{_0x4f6e03['baseVersion']=this['_document']['version']+_0x3134bc,this['_saveOperationInBuffer'](_0x4f6e03);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x32b820,_0x355f66){const _0x333cbc=_0x355f66&&_0x355f66['message'];if(_0x333cbc&&_0x333cbc['startsWith']('realtimecollaborationclient'))throw _0x355f66;const _0x1e101b=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1e101b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2b1db2(_0x32b820,this['editor'],_0x333cbc?{'originalError':_0x333cbc}:void 0x0);}['_saveOperationInBuffer'](_0x437bbc){this['_knownOperations']['has'](_0x437bbc)||(this['_knownOperations']['add'](_0x437bbc),this['_bufferedOperations']['push'](_0x437bbc),this['_pendingAction']||'marker'==_0x437bbc['type']&&!_0x437bbc['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3a72ce=!0x1){!_0x3a72ce&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3b6c4e=>{_0x3b6c4e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1c87c3=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x56348f){return _0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1c87c3)||this['_crash'](_0x1c87c3['message'],_0x1c87c3);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3ebe5d=>{this['on']('change:_isPendingUpdate',()=>{_0x3ebe5d();});});}async['_sendBufferedOperations'](){const _0x17c750=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x17c750['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xfc6821=[...this['_bufferedOperations']];for(const _0x3dd349 of _0xfc6821)_0x3dd349['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3dd349);const _0x16f444=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xfc6821),_0x34a16d=Z++,_0x472adf=this['_compressOperations'](_0xfc6821),_0x50f436=await this['_service']['sendOperations'](_0x472adf,_0x472adf['baseVersion'],_0x16f444);try{return await this['_handleServerResponse'](_0xfc6821,_0x50f436,_0x34a16d);}catch(_0x408309){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x408309);}}async['_handleServerResponse'](_0x410371,_0x451677,_0x4aa97c){if('error'in _0x451677)throw _0x451677['error'];let _0xc7d12=!0x1;if(_0x451677['wereChangesApplied']){_0x451677['lastOperationId']&&(this['_lastSyncedOperationId']=_0x451677['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x295796=>!_0x410371['includes'](_0x295796));for(const _0xf6b500 of _0x410371)_0xf6b500['createdAt']='lastOperationAcceptedAt'in _0x451677&&_0x451677['lastOperationAcceptedAt']||void 0x0;st(_0x410371,_0x451677['version']-_0x410371['length']),this['_updateServerHistory'](_0x410371);const _0x3460c4=_0x410371['filter'](_0x5f3da2=>{if(!_0x5f3da2['_isInit'])return!0x1;const _0xff370d=this['_getAffectedRoot'](_0x5f3da2);return _0xff370d&&!this['_knownRootNames']['has'](_0xff370d);});st(_0x3460c4,this['_document']['version']),this['_applyOperationsSet'](_0x3460c4),_0xc7d12=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x186bf0=this['_decompressOperations'](_0x451677['data'],_0x451677['metadata'])['filter'](_0x28e519=>_0x28e519['baseVersion']>=this['_lastServerVersion']);_0x186bf0['forEach'](_0x1ff73a=>this['_addKnownRoot'](_0x1ff73a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4dd34=>!_0x4dd34['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4dd34))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x186bf0),_0xc7d12=this['_handleExternalOperations'](_0x186bf0,_0x451677['version'],_0x451677['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0xc7d12?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x466527,_0x37f814,_0x2d594e){try{const _0x22dd18={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x367c05,operationsB:_0xb6e25a,originalOperations:_0x179182}=_0x16312c(_0x466527,this['_bufferedOperations'],_0x22dd18);st(_0x367c05,this['_document']['version']),st(_0xb6e25a,_0x37f814);for(const _0x255597 of _0x367c05){const _0x4b9c28=_0x179182['get'](_0x255597);_0x255597['_authorId']=_0x4b9c28?_0x4b9c28['_authorId']:null;}_0x2d594e&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x466527,_0x2d594e),this['_lastSyncedOperationId']=_0x2d594e),this['_bufferedOperations']=[..._0xb6e25a],this['_applyOperationsSet'](_0x367c05),this['_updateServerHistory'](_0x466527);}catch(_0x1b13eb){return console['error'](_0x1b13eb),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2e271e,_0x1f8b6a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x8c4919=>{for(const _0x656b1d of _0x2e271e)this['_knownOperations']['add'](_0x656b1d),this['_addKnownRoot'](_0x656b1d),_0x8c4919['batch']['addOperation'](_0x656b1d),this['editor']['model']['applyOperation'](_0x656b1d);});}['_addKnownRoot'](_0x416295){const _0x54179f=this['_getAffectedRoot'](_0x416295);_0x54179f&&this['_knownRootNames']['add'](_0x54179f);}['_getAffectedRoot'](_0x3758e8){let _0x8a32cb,_0x2cef06;switch(_0x3758e8['type']){case'insert':_0x8a32cb=_0x3758e8['position']['root'];break;case'marker':if(_0x2cef06=_0x3758e8['newRange'],!_0x2cef06)return null;_0x8a32cb=_0x2cef06['root'];break;case'addRootAttribute':_0x8a32cb=_0x3758e8['root'];break;case'addRoot':_0x8a32cb=_0x3758e8['affectedSelectable'];break;case'move':_0x8a32cb=_0x3758e8['targetPosition']['root'];break;default:return null;}return _0x8a32cb['rootName'];}['_updateServerHistory'](_0x5887fb){_0x5887fb['forEach'](_0x3b8429=>{const _0x354604=_0x3b8429['clone']();_0x354604['_authorId']=_0x3b8429['_authorId'],_0x354604['_isInit']=!!_0x3b8429['_isInit'],_0x354604['createdAt']=_0x3b8429['createdAt'],_0x354604['baseVersion']+=this['_offset'],_0x3b8429['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x354604),this['serverHistory']['addOperation'](_0x354604);});}['_handleReconnectionError'](_0x1ff3e1){const _0x22593a=this['editor']['plugins']['get']('Notification'),_0x4ae177=this['editor']['locale'];_0x1ff3e1||(_0x1ff3e1=X(_0x4ae177,'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.')),_0x22593a['showWarning'](_0x1ff3e1,{'title':X(_0x4ae177,'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'](_0xd9ea96)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xd9ea96)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5ca940){const _0x695fa3=_0x5ca940['map'](_0x2b30b2=>_0x2b30b2['toJSON']());return this['_compressor']['compress'](_0x695fa3);}['_decompressOperations'](_0x312944,_0x207290){return this['_compressor']['decompress'](_0x312944)['map']((_0xd6c219,_0x224f4c)=>{const _0x18feb4='init'==_0x207290[_0x224f4c]['type'];if('InsertOperation'==_0xd6c219['__className']){const _0xbe14a5=_0xd6c219['position']['root'];!this['_document']['getRoot'](_0xbe14a5)&&(this['_document']['createRoot']('$root',_0xbe14a5)['_isAttached']=!0x1);}const _0x7dcd3=_0x10370b['fromJSON'](_0xd6c219,this['_document']);return _0x7dcd3['wasUndone']=_0xd6c219['wasUndone'],_0x7dcd3['_isInit']=_0x18feb4,_0x7dcd3['_authorId']=_0x18feb4?null:_0x207290[_0x224f4c]['userId'],_0x7dcd3['_isDisconnection']='cs:removeUser'===_0x207290[_0x224f4c]['type'],_0x7dcd3['createdAt']=_0x207290[_0x224f4c]['createdAt'],_0x7dcd3;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x7c3f50=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x7c3f50&&_0x7c3f50['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x42e3c0,_0x15ed94){for(const _0x288d54 of _0x42e3c0)_0x288d54['baseVersion']=_0x15ed94++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x30b15){this['_ignoredOperations']=_0x30b15,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x41fcc0){let _0x519de5=_0x41fcc0['length'];for(;_0x519de5--;){const _0x3a07cd=_0x41fcc0[_0x519de5];if(!this['_ignoredOperations']['has'](_0x3a07cd)){if(!this['_operationToId']['has'](_0x3a07cd)){const _0x121d16=_0x243793()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3a07cd,_0x121d16);}return this['_operationToId']['get'](_0x3a07cd);}}}['setIdForTheLastOperation'](_0x5c84b0,_0xdb152d){if(!_0xdb152d)return;let _0x5de669=_0x5c84b0['length'];for(;_0x5de669--;){const _0x22317c=_0x5c84b0[_0x5de669];this['_ignoredOperations']['has'](_0x22317c)||this['_operationToId']['set'](_0x22317c,_0xdb152d);}}}class nt extends _0x539c3e{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x5cca81{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x55b714)());['_services'];static get['requires'](){return[z,_0x5383ad,Y,_0x15d62c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x27c7c6){super(_0x27c7c6),this['_services']=new Map();}async['init'](){const _0x402c86=this['context'],_0xa84af0=_0x402c86['plugins']['get'](_0x5383ad);if(_0x402c86['plugins']['get'](z)['addToReconnectionStack'](this),_0xa84af0['adapter']={'addCommentThread':async({channelId:_0xd5e818,threadId:_0x3d8126,comments:_0x5c13a8,resolvedAt:_0x46a8fd,resolvedBy:_0x1baf0f,context:_0x15aa1d,attributes:_0x1b29e6})=>{const _0x1291d4=await this['_getService'](_0xd5e818)['addCommentThread']({'commentThreadId':_0x3d8126,'comments':_0x5c13a8['map'](_0x54a1a0=>function(_0x32d5d9,_0x20c330,_0x2598cb){return{'commentThreadId':_0x2598cb,'commentId':_0x32d5d9['commentId'],'userId':_0x32d5d9['authorId'],'content':_0x32d5d9['content'],'documentId':_0x20c330,'createdAt':_0x32d5d9['createdAt'],'attributes':_0x32d5d9['attributes']||{}};}(_0x54a1a0,_0xd5e818,_0x3d8126)),'resolvedAt':_0x46a8fd,'resolvedBy':_0x1baf0f,'context':_0x15aa1d,'attributes':_0x1b29e6})['catch'](ct);return{'threadId':_0x1291d4['commentThreadId'],'comments':_0x1291d4['comments']};},'getCommentThread':async({channelId:_0x31ae82,threadId:_0x94777a})=>{const _0x340841=await this['_getService'](_0x31ae82)['getCommentThread'](_0x94777a)['catch'](rt)['catch'](ct);return _0x340841?_0x340841['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x340841]),{'threadId':_0x340841['commentThreadId'],'comments':_0x340841['comments']['map'](at),'context':_0x340841['context'],'resolvedAt':_0x340841['resolvedAt'],'resolvedBy':_0x340841['resolvedBy'],'attributes':_0x340841['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x25c821,threadId:_0x5795a8,context:_0x526c71,unlinkedAt:_0x15f264,attributes:_0x58671d})=>this['_getService'](_0x25c821)['updateCommentThread']({'commentThreadId':_0x5795a8,'context':_0x526c71,'attributes':_0x58671d,'unlinkedAt':_0x15f264})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0xdefeb4,threadId:_0x4ee7d4})=>{const _0x43f6f7=await this['_getService'](_0xdefeb4)['resolveCommentThread'](_0x4ee7d4)['catch'](rt)['catch'](ct);return{'threadId':_0x43f6f7['commentThreadId'],'resolvedAt':_0x43f6f7['resolvedAt'],'resolvedBy':_0x43f6f7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x301b3c,threadId:_0x9463e})=>this['_getService'](_0x301b3c)['reopenCommentThread'](_0x9463e)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x413ef2,threadId:_0x43bf8b})=>this['_getService'](_0x413ef2)['removeCommentThread'](_0x43bf8b)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x373364,threadId:_0x317781,commentId:_0x337519,content:_0x420e79,attributes:_0xf618ec})=>this['_getService'](_0x373364)['addComment'](_0x317781,_0x337519,_0x420e79,_0xf618ec)['catch'](ct),'updateComment':({channelId:_0x441d35,threadId:_0x5a376d,commentId:_0x625764,content:_0x576878,attributes:_0x23027b})=>this['_getService'](_0x441d35)['updateComment'](_0x5a376d,_0x625764,_0x576878,_0x23027b)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x135445,threadId:_0x54732d,commentId:_0x2dde49})=>this['_getService'](_0x135445)['removeComment'](_0x54732d,_0x2dde49)['catch'](rt)['catch'](ct)},_0x402c86 instanceof _0x285430){const _0x2ab922=_0x402c86['config']['get']('collaboration.channelId'),_0x460caa=_0x402c86['plugins']['get'](Y);await this['_setUpService'](_0x2ab922);const _0x72e775=await this['_services']['get'](_0x2ab922)['getConnectedSessions']();this['listenTo'](_0x460caa,'sessionAdd:'+_0x2ab922,(_0x2915d7,{session:_0xe4a4a8})=>{_0xe4a4a8['id']===_0x460caa['mySessionId']&&(_0x2915d7['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xe4a4a8['permissions'],_0x2ab922));}),_0x460caa['register'](_0x2ab922,_0x72e775);}}async['_setUpService'](_0x2648db){if(this['_services']['has'](_0x2648db))throw new _0x2b1db2('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2648db});const _0x412544=this['context']['plugins']['get'](_0x5383ad),_0x2d8c65=new ot['CommentsService'](_0x2648db);this['_services']['set'](_0x2648db,_0x2d8c65),this['listenTo'](_0x2d8c65,'commentThreadAdded',(_0x31dd29,_0x337bee)=>{const {commentThreadId:_0x1f5da1,documentId:_0xb50c55,context:_0x4e95e5,attributes:_0x3005a5,resolvedAt:_0x5af5f2,resolvedBy:_0x41d79e,comments:_0x19651b}=_0x337bee;_0x412544['getCommentThread'](_0x1f5da1)||_0x412544['addCommentThread']({'threadId':_0x1f5da1,'channelId':_0xb50c55,'comments':_0x19651b?_0x19651b['map'](at):[],'context':_0x4e95e5,'attributes':_0x3005a5,'resolvedAt':_0x5af5f2,'resolvedBy':_0x41d79e,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadUpdated',(_0x585ff6,{commentThreadId:_0xb552be,documentId:_0x16e1a5,context:_0x451b9a,unlinkedAt:_0x2377e5,attributes:_0x334d4c})=>{_0x412544['getCommentThread'](_0xb552be)&&_0x412544['updateCommentThread']({'threadId':_0xb552be,'channelId':_0x16e1a5,'context':_0x451b9a,'unlinkedAt':_0x2377e5,'attributes':_0x334d4c,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadResolved',(_0x531f51,{commentThreadId:_0x2f13f2,resolvedBy:_0x251552,resolvedAt:_0x1b0574})=>{const _0x5f13b4=_0x412544['getCommentThread'](_0x2f13f2);_0x5f13b4&&_0x5f13b4['resolve']({'resolvedBy':_0x251552,'resolvedAt':_0x1b0574,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadReopened',(_0xbe81dc,{commentThreadId:_0x294b6f})=>{const _0xea5873=_0x412544['getCommentThread'](_0x294b6f);_0xea5873&&_0xea5873['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadRemoved',(_0x23d537,{commentThreadId:_0x38893e})=>{const _0x364394=_0x412544['getCommentThread'](_0x38893e);_0x364394&&_0x364394['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentAdded',(_0x43caab,_0x5e23a0)=>{const _0x284999=_0x5e23a0['commentThreadId'],_0x15048c=_0x412544['getCommentThread'](_0x284999);_0x15048c&&_0x15048c['addComment']({...at(_0x5e23a0),'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentUpdated',(_0x392ce7,{commentThreadId:_0x406b63,commentId:_0x4ae33a,content:_0x2e6761,attributes:_0x372523})=>{const _0x416b63=_0x412544['getCommentThread'](_0x406b63);if(_0x416b63){const _0x48bd7c=_0x416b63['getComment'](_0x4ae33a);_0x48bd7c&&_0x48bd7c['update']({'content':_0x2e6761,'attributes':_0x372523,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2d8c65,'commentRemoved',(_0x5ad25a,{commentThreadId:_0x49c83b,commentId:_0x8cc84e})=>{const _0x461e8c=_0x412544['getCommentThread'](_0x49c83b);if(_0x461e8c){const _0x3eef99=_0x461e8c['getComment'](_0x8cc84e);_0x3eef99&&_0x3eef99['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2648db);}['destroy'](){if(this['context']instanceof _0x285430){const _0x4f241b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4f241b);}}['_terminateService'](_0x13afc1){if(!this['_services']['has'](_0x13afc1))throw new _0x2b1db2('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x13afc1});this['_getService'](_0x13afc1)['disconnect'](),this['_services']['delete'](_0x13afc1);}async['reconnect'](){for(const _0x4fa1c6 of this['_services']['keys']())await this['_connectService'](_0x4fa1c6);if(this['context']instanceof _0x285430){const _0x4120fd=this['context']['config']['get']('collaboration.channelId'),_0x8d775f=this['context']['plugins']['get'](Y);_0x8d775f['unregister'](_0x4120fd);const _0x27b028=await this['_services']['get'](_0x4120fd)['getConnectedSessions']();_0x8d775f['register'](_0x4120fd,_0x27b028);}}async['_connectService'](_0x21d34e){const {connection:_0x4c0971}=this['context']['plugins']['get'](z),_0x4349a1=this['context']['plugins']['get'](_0x5383ad),_0x31c901=this['_services']['get'](_0x21d34e),_0x1be2dd=await _0x31c901['connect'](_0x4c0971);await this['_fetchMissingUsersForThreads'](_0x1be2dd);const _0x340da6=new Set(Array['from'](_0x4349a1['getCommentThreads']({'channelId':_0x21d34e}),_0x4988c0=>_0x4988c0['id']));for(const _0x1caecd of _0x1be2dd)_0x1caecd['deletedAt']||_0x340da6['delete'](_0x1caecd['commentThreadId']);for(const _0x259aa7 of _0x340da6)_0x4349a1['getCommentThread'](_0x259aa7)['remove']({'isFromAdapter':!0x0});for(const _0x5580d1 of _0x1be2dd){let _0x21d313=_0x4349a1['getCommentThread'](_0x5580d1['commentThreadId']);const {commentThreadId:_0x230a11,context:_0x2448c0,attributes:_0x5639fa,resolvedBy:_0x2754e2,resolvedAt:_0x84852f,unlinkedAt:_0x243b7c,deletedAt:_0x256647}=_0x5580d1;if(_0x256647)continue;_0x21d313||(_0x21d313=_0x4349a1['addCommentThread']({'channelId':_0x21d34e,'threadId':_0x230a11,'context':_0x2448c0,'attributes':_0x5639fa||{},'resolvedBy':_0x2754e2,'resolvedAt':_0x84852f,'unlinkedAt':_0x243b7c,'isFromAdapter':!0x0}));const _0x1f2492=new Set(Array['from'](_0x21d313['comments'],_0x55a59d=>_0x55a59d['id']));for(const _0x23cc9f of _0x5580d1['comments'])_0x1f2492['delete'](_0x23cc9f['commentId']);for(const _0x55b717 of _0x1f2492)_0x21d313['getComment'](_0x55b717)['remove']({'isFromAdapter':!0x0});for(const _0x4f1647 of _0x5580d1['comments']){const _0x4904b9=_0x21d313['getComment'](_0x4f1647['commentId']);_0x4904b9?_0x4904b9['content']!==_0x4f1647['content']&&_0x4904b9['update']({'content':_0x4f1647['content'],'isFromAdapter':!0x0}):_0x21d313['addComment'](Object['assign'](at(_0x4f1647),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1f32e0){if(!this['_services']['has'](_0x1f32e0))throw new _0x2b1db2('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1f32e0});return this['_services']['get'](_0x1f32e0);}async['_fetchMissingUsersForThreads'](_0x37a912){const _0x4e23f3=this['context']['plugins']['get'](_0x15d62c),{connection:_0x1d9361}=this['context']['plugins']['get'](z),_0x5045c8=new Set();for(const {resolvedBy:_0x36f96a,comments:_0x2dd5d9}of _0x37a912){_0x36f96a&&!_0x4e23f3['getUser'](_0x36f96a)&&_0x5045c8['add'](_0x36f96a);for(const {userId:_0x31ced6}of _0x2dd5d9)_0x4e23f3['getUser'](_0x31ced6)||_0x5045c8['add'](_0x31ced6);}if(0x0===_0x5045c8['size'])return;const _0x2c1f37=await _0x1ca5f7['getMany'](_0x1d9361,Array['from'](_0x5045c8));for(const _0x1b78ac of _0x2c1f37)_0x4e23f3['getUser'](_0x1b78ac['id'])||_0x4e23f3['addUser'](_0x1b78ac);}}async function rt(_0x4638dd){if('404'!==_0x4638dd['code'])throw _0x4638dd;}function ct(_0x35c777){if((_0x23c953=_0x35c777)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x23c953['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x23c953['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x23c953;throw _0x35c777;}function at(_0x225330){return{'threadId':_0x225330['commentThreadId'],'commentId':_0x225330['commentId'],'content':_0x225330['content'],'createdAt':_0x225330['createdAt'],'authorId':_0x225330['userId'],'attributes':_0x225330['attributes']||{}};}class ht extends _0x539c3e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x1c8aeb)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x45a080,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2cd0a2){super(_0x2cd0a2);const _0x1d9323=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x1d9323);}['init'](){const _0x2aba71=this['editor']['plugins']['get'](z),_0x19cc5c=this['editor']['plugins']['get'](_0x45a080);return _0x19cc5c['adapter']={'getSuggestion':async _0x4e39d9=>{await this['_waitForServiceReady']();const _0x12002f=await this['_trackChangesService']['get'](_0x4e39d9)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x12002f]),_0x12002f;},'addSuggestion':async({id:_0x39ffa1,type:_0x338111,data:_0x37b3bf,originalSuggestionId:_0x32b72f,attributes:_0x196f12})=>{await this['_waitForServiceReady']();const _0x13af7b={'id':_0x39ffa1,'type':_0x338111,'data':_0x37b3bf,'originalSuggestionId':_0x32b72f,'attributes':_0x196f12},_0x3d027a=await this['_trackChangesService']['add'](_0x39ffa1,_0x338111,_0x37b3bf,_0x32b72f,_0x196f12)['catch'](_0x546283=>{if(dt(_0x546283))return new Promise(_0x21f342=>{this['_bufferedRequests']['set'](_0x39ffa1,{'resolve':_0x21f342,'suggestionData':_0x13af7b});});throw _0x546283;});return this['_bufferedRequests']['delete'](_0x39ffa1),_0x3d027a;},'updateSuggestion':async(_0x21c188,_0x5e869b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5e869b['state'])return this['_trackChangesService']['update'](_0x21c188,_0x5e869b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x30ed82,_0xfc64f0)=>{_0x19cc5c['hasSuggestion'](_0xfc64f0['id'])&&(_0x19cc5c['getSuggestion'](_0xfc64f0['id'])['attributes']=_0xfc64f0['attributes']);}),this['_trackChangesService']['connect'](_0x2aba71['connection'])['then'](_0xd2f0e0=>(_0x2aba71['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xd2f0e0)['then'](()=>{for(const _0x20406f of _0xd2f0e0){_0x19cc5c['addSuggestionData'](_0x20406f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3a7cc8=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x219efc}=this['editor']['plugins']['get'](z),_0x466a65=await this['_trackChangesService']['connect'](_0x219efc);await this['_fetchMissingUsersForThreads'](_0x466a65);for(const {suggestionData:_0xbc1385,resolve:_0x28eda5}of this['_bufferedRequests']['values']()){let _0x682f4f=_0x466a65['find'](_0x2af48c=>_0x2af48c['id']===_0xbc1385['id']);_0x682f4f||(_0x682f4f=await this['_trackChangesService']['add'](_0xbc1385['id'],_0xbc1385['type'],_0xbc1385['data'],_0xbc1385['originalSuggestionId'])),_0x28eda5(_0x682f4f);}for(const _0x4f6dc9 of _0x466a65)_0x3a7cc8['hasSuggestion'](_0x4f6dc9['id'])||_0x3a7cc8['addSuggestionData'](_0x4f6dc9);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x59363a=>{this['listenTo'](this['_trackChangesService'],'connected',_0xac67c9=>{_0xac67c9['off'](),_0x59363a();});});}async['_fetchMissingUsersForThreads'](_0x29d938){const _0x397055=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x185d31}=this['editor']['plugins']['get'](z),_0x48f62f=new Set();for(const {authorId:_0x50b2d1}of _0x29d938)_0x397055['getUser'](_0x50b2d1)||_0x48f62f['add'](_0x50b2d1);if(0x0===_0x48f62f['size'])return;const _0x2754ce=await _0x1ca5f7['getMany'](_0x185d31,Array['from'](_0x48f62f));for(const _0x3c6087 of _0x2754ce)_0x397055['getUser'](_0x3c6087['id'])||_0x397055['addUser'](_0x3c6087);}}function lt(_0x42335c){if(dt(_0x42335c))return new Promise(()=>{});throw _0x42335c;}function dt(_0x3eeb1e){return _0x3eeb1e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3eeb1e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x539c3e{static get['requires'](){return[_0x403d11,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xa2bd91=this['editor']['plugins']['get'](z),_0xfc184d=this['editor']['plugins']['get'](_0x37e082),_0x405c16=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xa2bd91,'change:state',(_0x151251,_0x5e24b6,_0x366a81)=>{_0xfc184d['isThreadsLoadingPaused']='connected'!==_0x366a81;});}),this['listenTo'](_0xa2bd91,'change:state',(_0x43d43c,_0x2025bb,_0x425dcf)=>{this['editor']['plugins']['get'](_0x5383ad)['switchReadOnly']('connected'!==_0x425dcf);}),_0x405c16['_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 _0x539c3e{static get['requires'](){return[ut,ht,_0x527e70];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x539c3e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x44cd6b)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x40c931,Y,_0x15d62c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x6a17fc){super(_0x6a17fc);const _0x1d3513=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x1d3513);}async['init'](){const _0x2dd0ae=this['editor']['plugins']['get'](tt),_0x4b8b1a=_0x2dd0ae['serverHistory'],_0x3cb8e7=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4b8b1a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2dd0ae['sessionId']});const _0x7ce184=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x5f4d8d,_0x17577d=await _0x553943['isBundleUploaded'](_0x3cb8e7['connection'],_0x7ce184);this['editor']['plugins']['get'](_0x40c931)['adapter']={'getRevision':async({revisionId:_0x20a806})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x20a806)),'updateRevisions':async _0x5a31fa=>{await this['_waitForServiceReady']();const _0x33bd4e=this['_revisionTracker']['currentRevision'];if(_0x17577d&&0x1===_0x5a31fa['length']&&_0x5a31fa[0x0]['id']===_0x33bd4e['id'])return _0x5a31fa;for(const _0x534ca3 of _0x5a31fa)_0x534ca3['id']===_0x33bd4e['id']&&(_0x534ca3['isEmptyCurrent']=_0x534ca3['fromVersion']===_0x534ca3['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5a31fa,this['_lastRequestId'])['then'](_0x5da16f=>(this['_lastRequestId']=_0x5da16f,_0x5a31fa))['catch'](_0x236ca9=>{if(pt(_0x236ca9)||'400'===_0x236ca9['code']&&void 0x0!==_0x236ca9['data']['wrongRequestId']){for(const _0x842250 of _0x5a31fa){!this['_revisionTracker']['repository']['getRevision'](_0x842250['id'])||this['_revisionTracker']['_bufferUpdate'](_0x842250['id'],_0x842250,!0x1);}if(pt(_0x236ca9)&&'destroyed'!==this['editor']['state'])throw _0x236ca9;return _0x5a31fa;}throw _0x236ca9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xfe70f6,{revisionsData:_0x56e8d6,requestId:_0xec025e})=>{Math['max'](..._0x56e8d6['map'](_0x43f917=>_0x43f917['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x56e8d6,_0xec025e);}):this['_handleRevisionsUpdate'](_0x56e8d6,_0xec025e);});const {revisions:_0x1b8156,requestId:_0x492231}=await this['_revisionHistoryService']['connect'](_0x3cb8e7['connection']);_0x3cb8e7['addToReconnectionStack'](this),this['_lastRequestId']=_0x492231,await this['_fetchMissingUsers'](_0x1b8156);for(const _0x2ff806 of _0x1b8156)this['_revisionTracker']['addRevisionData'](_0x2ff806);this['listenTo'](_0x2dd0ae,'change:_isConnected',(_0x35a34a,_0x122f5f,_0x26879d)=>{_0x26879d&&(this['_oldOffset']=_0x2dd0ae['_offset'],_0x35a34a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3cb8e7,'state',_0x2fe627=>_0x2fe627===_0xf9333a['CONNECTED']);}async['reconnect'](){const _0x2e45c6=this['editor']['plugins']['get'](z),_0x536ec3=this['editor']['plugins']['get'](tt),_0x252c5a=async()=>{const _0xcac4d5=this['_revisionTracker']['currentRevision'],_0x34f1f9=_0xcac4d5['id'],_0x122d55=_0x34f1f9!==_0x536ec3['sessionId'];if(_0x122d55){const _0x476c6b=_0x536ec3['_offset']-this['_oldOffset'],_0x13a66d=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xcac4d5['toVersion']+_0x476c6b!==_0x13a66d){const _0x2091df=_0xcac4d5['fromVersion']+_0x476c6b,_0x36567b=this['editor']['plugins']['get'](_0x15d62c),_0x87dd=this['_revisionTracker']['buildRevisionData']({'revision':_0xcac4d5,'from':_0x2091df,'to':_0x13a66d});_0x87dd['id']=_0xcac4d5['id'];const _0x5d4833=_0x87dd['authorsIds']['map'](_0x322b68=>_0x36567b['getUser'](_0x322b68));_0xcac4d5['_update']({..._0x87dd,'authors':_0x5d4833},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xcac4d5['id'],_0x87dd,!0x0);}this['_revisionTracker']['_startingVersion']=_0x13a66d,(_0xcac4d5['toVersion']===_0xcac4d5['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x34f1f9)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x34f1f9),this['_revisionTracker']['_createCurrentRevision'](_0x13a66d));}const {revisions:_0x42aaf8,requestId:_0x52668b}=await this['_revisionHistoryService']['reconnect'](_0x2e45c6['connection'],this['_lastRequestId']);_0x122d55&&_0x42aaf8['length']>0x0?_0x536ec3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x42aaf8),this['_handleRevisionsUpdate'](_0x42aaf8,_0x52668b),this['_revisionTracker']['sendBufferedUpdates']());};return _0x536ec3['_isConnected']?_0x252c5a():new Promise((_0x34d13a,_0x313c03)=>{_0x536ec3['once']('change:_isConnected',()=>{_0x252c5a()['then'](_0x34d13a)['catch'](_0x313c03);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4bb135=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x43d87e=>{_0x43d87e['off'](),_0x4bb135();});});}['_getLatestVersionFromServerOperations'](){const _0x160295=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x1e8a1f of _0x160295)if('marker'!==_0x1e8a1f['type']||_0x1e8a1f['affectsData'])return _0x1e8a1f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x17c5b1=this['editor']['plugins']['get'](tt);return new Promise(_0x2a2f20=>{_0x17c5b1['_isPendingUpdate']?_0x17c5b1['once']('change:_isPendingUpdate',()=>{_0x2a2f20(this['_getLatestVersionFromServerOperations']());}):_0x2a2f20(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3d63c2,_0x463206){const _0x3b359f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x463206;for(const _0xc5d19f of _0x3d63c2){const _0xf958d7=_0x3b359f['getRevision'](_0xc5d19f['id']);if(_0xf958d7){if((_0xc5d19f['fromVersion']||_0xc5d19f['toVersion'])&&(_0xc5d19f['diffData']=null),_0xf958d7===this['_revisionTracker']['currentRevision']){const _0x196fe0=Math['max'](_0xf958d7['toVersion'],_0xc5d19f['toVersion']),_0x57bc7=Math['max'](_0xf958d7['fromVersion'],_0xc5d19f['fromVersion']);let _0x461b82;_0xf958d7['toVersion']===_0xc5d19f['toVersion']&&_0xf958d7['fromVersion']===_0xc5d19f['fromVersion']?(_0x461b82=!0x0,this['_preventResendingRevisionData'](_0xc5d19f)):_0xc5d19f['toVersion']===_0x196fe0&&_0xc5d19f['fromVersion']===_0x57bc7?_0x461b82=!0x1:(_0xf958d7['toVersion']===_0x196fe0&&_0xf958d7['fromVersion']===_0x57bc7||this['_fixRevision']({'revision':_0xf958d7,'from':_0x57bc7,'to':_0x196fe0}),_0x461b82=!0x0),_0x461b82&&(delete _0xc5d19f['fromVersion'],delete _0xc5d19f['toVersion'],delete _0xc5d19f['diffData'],delete _0xc5d19f['createdAt'],delete _0xc5d19f['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xc5d19f),this['_preventResendingRevisionData'](_0xc5d19f);}else this['_revisionTracker']['addRevisionData'](_0xc5d19f);}const _0x4ea790=_0x3b359f['getRevisions']();_0x4ea790['reverse']();for(let _0x239e6d=0x0;_0x239e6d<_0x4ea790['length']-0x1;_0x239e6d++){const _0x403fdc=_0x4ea790[_0x239e6d],_0x478d5c=_0x4ea790[_0x239e6d+0x1];if(_0x403fdc['fromVersion']<_0x478d5c['toVersion']){const _0x21d3cf=_0x478d5c['toVersion'],_0x5afe04=Math['max'](_0x21d3cf,_0x403fdc['toVersion']);this['_fixRevision']({'revision':_0x403fdc,'from':_0x21d3cf,'to':_0x5afe04});}}}['_fixRevision']({revision:_0x5046ff,from:_0x17c5ad,to:_0x3d80ab}={}){const _0x3348a7=this['editor']['plugins']['get'](_0x15d62c),_0x45969b=this['_revisionTracker']['buildRevisionData']({'revision':_0x5046ff,'from':_0x17c5ad,'to':_0x3d80ab});_0x45969b['authors']=_0x45969b['authorsIds']['map'](_0x4efcc9=>_0x3348a7['getUser'](_0x4efcc9)),_0x5046ff['_update'](_0x45969b);}['_preventResendingRevisionData'](_0x120880){const _0x39af6d={};_0x39af6d['id']=_0x120880['id'];for(const _0x45c482 of Object['keys'](_0x120880))'id'!==_0x45c482&&(_0x39af6d[_0x45c482]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x39af6d['id'],_0x39af6d,!0x0);}async['_fetchMissingUsers'](_0x1f21a2){const _0x3268c6=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x16072a}=this['editor']['plugins']['get'](z),_0x50d1b2=new Set();for(const _0x1d8db0 of _0x1f21a2){for(const _0x5c2f63 of _0x1d8db0['authorsIds'])_0x28b8bb(_0x5c2f63);_0x1d8db0['creatorId']&&_0x28b8bb(_0x1d8db0['creatorId']);}if(0x0===_0x50d1b2['size'])return;const _0x577bf1=await _0x1ca5f7['getMany'](_0x16072a,Array['from'](_0x50d1b2));for(const _0x405065 of _0x577bf1)_0x3268c6['getUser'](_0x405065['id'])||_0x3268c6['addUser'](_0x405065);function _0x28b8bb(_0x2dbbee){_0x3268c6['getUser'](_0x2dbbee)||_0x50d1b2['add'](_0x2dbbee);}}}function pt(_0x521e9e){return _0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x539c3e{static get['requires'](){return[_0x40c931,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0xaa5d78{['_collapseAt'];constructor(_0x509c97,_0x38e32b=0x6){super(_0x509c97);const _0x19520b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x38e32b,this['bind']('isHidden')['to'](this,'usersCount',_0x2036fb=>_0x2036fb<_0x38e32b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x19520b['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':_0x19520b['to']('usersCount',_0x597e8c=>'+'+(_0x597e8c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0xaa5d78{['items'];['keystrokes'];constructor(_0x17e884){super(_0x17e884);const _0x390496=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x473501(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x390496['if']('hasPopup'),'aria-expanded':_0x390496['to']('isExpanded',_0x260420=>this['hasPopup']&&String(_0x260420)),'aria-label':_0x390496['to']('hasPopup',_0x26326c=>X(_0x17e884,_0x26326c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x390496['to']('hasPopup',_0x290c86=>!!_0x290c86&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x390496['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x390496['to'](_0x39c96c=>{const _0x3eba79=_0x39c96c,_0x4cc264=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1a899d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4cc264?.['contains'](_0x3eba79['relatedTarget'])||_0x1a899d?.['contains'](_0x3eba79['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x58a3df,_0x675cb6,_0x4aef65)=>{this['element']&&(_0x4aef65?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 _0xaa5d78{['counterView'];['inlineListView'];constructor(_0x597b7b,_0x57d6d9=0x6){super(_0x597b7b);const _0x3fde1b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x57d6d9),this['inlineListView']=new vt(_0x597b7b),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x43ef46 of this['inlineListView']['items'])_0x43ef46['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',_0x3fde1b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0xaa5d78{['listWrapperView'];constructor(_0x577822,_0xe2fe95){super(_0x577822);const _0x539ad4=this['bindTemplate'];this['listWrapperView']=new bt(_0x577822,_0xe2fe95),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x577822,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x539ad4['to'](_0x25c88c=>{const _0x424d49=_0x25c88c,_0x435cc2=document['querySelector']('.ck-presence-list__list'),_0x585323=document['querySelector']('.ck-balloon-panel_with-arrow');_0x435cc2?.['contains'](_0x424d49['relatedTarget'])||_0x585323?.['contains'](_0x424d49['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x44faf1{constructor(_0x407d5a,_0x23ba3d){super(_0x407d5a);const _0x2ff51b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x23ba3d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2ff51b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2ff51b['to']('role'),'aria-label':_0x2ff51b['to']('ariaLabel'),'aria-labelledby':_0x2ff51b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3feea9['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xc34036=this['element'];_0xc34036&&(this['_isScrollable']=Math['max'](_0xc34036['scrollHeight'],_0xc34036['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x4a4ec4{['userView'];constructor(_0x1eac99,_0x5210cc,_0x4967de){super(_0x1eac99);const _0x187e2c=this['bindTemplate'];this['userView']=new _0x31b224(_0x1eac99,_0x5210cc);const _0xed7885={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5210cc['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5210cc['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5210cc['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5210cc['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5210cc['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4967de&&(_0xed7885['tag']='button',_0xed7885['on']={'click':_0x187e2c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xed7885);}['focus'](){this['element']['focus']();}}class It extends _0xaa5d78{['userView'];['markerView'];constructor(_0x5c9432,_0x42b9f5,_0x43cbbf){super(_0x5c9432);const _0x431f72=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x31b224(_0x5c9432,_0x42b9f5),this['markerView']=new St(_0x5c9432,_0x42b9f5);const _0x3770a7=new _0x169be3(_0x5c9432);_0x3770a7['template']['tag']='span',_0x3770a7['text']=_0x42b9f5['name'];const _0x831aab={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x431f72['to']('isFocusable',_0x3eb3a9=>!!_0x3eb3a9&&0x0),'aria-labelledby':_0x3770a7['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x431f72['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x431f72['to']('hasTooltip',_0x11dccf=>!_0x11dccf),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3770a7]};_0x43cbbf&&(_0x831aab['tag']='button',_0x831aab['on']={'click':_0x431f72['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x831aab);}}class St extends _0xaa5d78{constructor(_0x4404e6,_0x1108b3){super(_0x4404e6),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1108b3['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1108b3['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1108b3['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x5cca81{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e32a0){super(_0x4e32a0),this['context']['config']['define']('presenceList',Tt);const _0x27b9bd=_0x4e32a0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x27b9bd)throw new _0x2b1db2('presencelist-collapseat-invalid-format',this);if(_0x27b9bd<0x1)throw new _0x2b1db2('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x442047(),this['balloonPanelView']=new _0x1723fd(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x50b6f0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x50b6f0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5c05b2,_0x11e7f3)=>{this['_handleUserAdd'](_0x11e7f3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x404cd2,_0x48b1a0)=>{this['_handleUserRemove'](_0x48b1a0);});}['_createView'](){const _0x42e1f7=this['context'],_0x498a07=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49fed5=this['balloonPanelView'];if(!_0x573df8(_0x42e1f7['config']['get']('presenceList.container')))throw new _0x2b1db2('presencelist-missing-container',this);return _0x498a07['counterView']['bind']('usersCount')['to'](this),_0x498a07['bind']('isCollapsed')['to'](this,'usersCount',_0x2532dc=>{const {collapseAt:_0x51c34d}=_0x42e1f7['config']['get']('presenceList'),_0x189484=_0x2532dc>=_0x51c34d;if(_0x189484&&!_0x498a07['inlineListView']['items']['find'](_0x46d1df=>_0x46d1df instanceof wt)){const _0x1eff08=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1eff08&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x498a07['inlineListView']['items']['add'](_0x498a07['counterView']);}return _0x189484||this['hideDropdown'](),_0x189484;}),_0x498a07['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2026e8=>{const _0x1985b2=_0x42e1f7['config']['get']('presenceList'),_0x56ec7a=new It(_0x42e1f7['locale'],_0x2026e8,!!_0x1985b2['onClick']);return _0x56ec7a['bind']('hasTooltip')['to'](_0x498a07,'isCollapsed',_0x54fd10=>!_0x54fd10),_0x56ec7a['bind']('isFocusable')['to'](_0x498a07,'isCollapsed',_0x1465f0=>!_0x1465f0),_0x1985b2['onClick']&&this['listenTo'](_0x56ec7a,'execute',()=>{this['view']['isCollapsed']||_0x1985b2['onClick'](_0x2026e8,_0x56ec7a['element']);}),_0x56ec7a;}),this['listenTo'](_0x498a07['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x498a07['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x498a07['inlineListView']['keystrokes']['set']('Enter',(_0x5184b3,_0x273bb6)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x273bb6());}),_0x498a07['render'](),_0x49fed5['render'](),_0x13b972({'emitter':_0x498a07,'activator':()=>_0x49fed5['isVisible'],'contextElements':[_0x49fed5['element'],_0x498a07['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x42e1f7['config']['get']('presenceList.container')['appendChild'](_0x498a07['element']),this['_bodyCollection']=new _0x25513e(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x498a07;}['_handleUserAdd'](_0x276e47){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x276e47['isMe'])return;const _0xa5dc5e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xa5dc5e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5c145c=_0x276e47['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x276e47,_0x5c145c);}['_handleUserRemove'](_0x1616da){this['usersCount']--;const {collapseAt:_0x5661b2}=this['context']['config']['get']('presenceList'),_0xa3a8a9=this['usersCount']>=_0x5661b2;if(this['currentDisplayedUsers']['get'](_0x1616da['id']))this['currentDisplayedUsers']['remove'](_0x1616da['id']);else{if(_0xa3a8a9&&this['currentDisplayedUsers']['length']+0x1===_0x5661b2-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xa3a8a9?0x1:0x0)<this['usersCount']){for(const _0x5cdf3b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5cdf3b['id'])&&(this['currentDisplayedUsers']['add'](_0x5cdf3b,Math['min'](this['currentDisplayedUsers']['length']-(_0xa3a8a9?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xa3a8a9?0x1:0x0)===_0x5661b2-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x318c9c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x318c9c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x41bdb3}=this['presenceDropdownView'];_0x41bdb3['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5a9e46=>{if(!_0x318c9c['displayMe']&&_0x5a9e46['isMe'])return null;const _0x37bb77=new kt(this['context']['locale'],_0x5a9e46,!!_0x318c9c['onClick']);return _0x318c9c['onClick']&&this['listenTo'](_0x37bb77,'execute',()=>{_0x318c9c['onClick'](_0x5a9e46,_0x37bb77['element']);}),_0x37bb77;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x41bdb3['focus'](),_0x41bdb3['checkIfScrollable']();const _0x345d57=(_0x147032,_0x5523e7)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5523e7();};_0x41bdb3['keystrokes']['set']('Esc',_0x345d57),_0x41bdb3['keystrokes']['set']('Shift+Tab',_0x345d57),_0x41bdb3['keystrokes']['set']('Tab',(_0x1433a0,_0x1a4bd2)=>{!function(_0x1e38d8){const _0x5a399a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2c0592=>_0x2c0592+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x10c3e7=[...document['body']['querySelectorAll'](_0x5a399a)]['filter'](_0x50c4cc=>_0x50c4cc===document['activeElement']||_0x50c4cc['offsetWidth']+_0x50c4cc['offsetHeight']>0x0)['sort']((_0x2ed92c,_0x540a5c)=>(_0x2ed92c['tabIndex']||0x0)-(_0x540a5c['tabIndex']||0x0)),_0x5058a2=_0x10c3e7['indexOf'](_0x1e38d8),_0x389450=_0x10c3e7[(_0x5058a2+0x1)%_0x10c3e7['length']];_0x389450&&_0x389450['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1a4bd2();}),_0x41bdb3['focusTracker']['add'](this['view']['element']),_0x41bdb3['focusTracker']['on']('change:isFocused',(_0xa888dc,_0x2db752,_0x4580ea)=>{_0x4580ea||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 _0x5cca81{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':_0x2dbf9e=>0x1!=_0x2dbf9e}};
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':_0x448a53=>0x1!=_0x448a53}};