@ckeditor/ckeditor5-real-time-collaboration 48.0.0-alpha.7 → 48.0.0-alpha.9

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 _0x1fad56,Plugin as _0x19622f,PendingActions as _0x480140,Context as _0x1485db}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x377d8d,CKEditorError as _0x22c7bf,Collection as _0x10ebb7,global as _0x1ac0d1,version as _0x320d77,uid as _0x310fa1,KeystrokeHandler as _0x1ced63}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xeb09b5,View as _0x5393af,ListView as _0xe551d3,ListItemView as _0x40b324,LabelView as _0x3ae632,BalloonPanelView as _0x5489ef,clickOutsideHandler as _0xde9cd3,BodyCollection as _0x266491}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x458245,History as _0x3b03c5,NoOperation as _0x3594fe,InsertOperation as _0x36e123,MarkerOperation as _0x410f97,RootAttributeOperation as _0x47b02a,transformOperationSets as _0x16a1ca,OperationFactory as _0x699ba4}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x571256}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x10bd91,WEB_SOCKET_GATEWAY_STATES as _0x54f615,CollaborativeEditingService as _0x14e124,User as _0x5f5b22,CommentsService as _0x2946d4,TrackChangesService as _0x27f298,RevisionHistoryService as _0x2caeb1,EditorService as _0x54be2a}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x18cf17,UserView as _0x29988c}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x491561}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x3d0bb1,TrackChanges as _0x4b45a7}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5dfa99,Comments as _0x5ce99f,CommentsEditing as _0x1ed9c7}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x598ef1}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x47c2eb}from'es-toolkit/compat';class z extends _0x1fad56{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x10bd91)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x571256,_0xeb09b5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3d1b21){super(_0x3d1b21),this['set']('state',_0x54f615['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x377d8d())();}['init'](){const _0x232881=this['context'],_0x2bcc80=_0x232881['plugins']['get'](_0x571256),_0x41f981=_0x232881['plugins']['get'](_0xeb09b5);if(!_0x2bcc80['token'])throw new _0x22c7bf('websocketgateway-missing-token',this);if(!_0x2bcc80['webSocketUrl'])throw new _0x22c7bf('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'](_0x2bcc80['token'],_0x2bcc80['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x50a2b0=>{if(this['connection']=_0x50a2b0,this['bind']('state')['to'](_0x50a2b0,'state',this,'_isBrowserOffline',(_0xa565ea,_0x1ebbb3)=>('connected'!==_0xa565ea&&(this['_shouldPluginsReconnect']=!0x0),_0x1ebbb3||_0xa565ea!==_0x54f615['CONNECTED']?_0x54f615['DISCONNECTED']:this['state']==_0x54f615['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x54f615['CONNECTING']):_0x54f615['CONNECTED'])),this['connection']['on']('error',(_0x769e12,_0x9e017b)=>{if('limitExceeded'!==_0x9e017b['code'])throw console['error'](_0x9e017b),new _0x22c7bf('cloudservices-init',null,{'originalError':_0x9e017b});_0x41f981['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'});}),!_0x50a2b0['me'])return new Promise(_0x2f8e9c=>_0x50a2b0['on']('change:me',_0x2f8e9c));})['catch'](_0x4d0c72=>{throw console['error'](_0x4d0c72),new _0x22c7bf('cloudservices-init',null,{'originalError':_0x4d0c72});});}['addToReconnectionStack'](_0x5583f3){if('function'!=typeof _0x5583f3['reconnect'])throw new _0x22c7bf('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5583f3))throw new _0x22c7bf('websocketgateway-plugin-already-registered',this,{'name':_0x5583f3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5583f3);}['removeFromReconnectionStack'](_0x1f3f4d){this['_reconnectionStack']['delete'](_0x1f3f4d);}['isInReconnectionStack'](_0x2bceea){return this['_reconnectionStack']['has'](_0x2bceea);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2c7082=>_0x2c7082['reconnect']())))['then'](()=>this['state']=_0x54f615['CONNECTED'])['catch'](_0x4c3672=>{throw console['error'](_0x4c3672),new _0x22c7bf('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x54f615['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x1fad56{['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,_0x18cf17];}constructor(_0x592b9a){super(_0x592b9a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x10ebb7(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x18cf17);}['init'](){const _0xc77899=this['context']['plugins']['get'](z);this['listenTo'](_0xc77899,'change:state',(_0x3ea99b,_0x2b57ee,_0x518278)=>{if('connected'!==_0x518278)this['channelSessions']['forEach'](_0x23b7ab=>_0x23b7ab['clear']()),this['channelConnectedUsers']['forEach'](_0x162228=>_0x162228['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x19c08a,_0x1d61be]of this['_registeredSessions'])for(const _0x53be22 of _0x1d61be)this['_handleSessionAdd'](_0x19c08a,_0x53be22);}}),this['_createUser'](_0xc77899['connection']['me'],!0x0);}['register'](_0x478820,_0x4768af){if(this['_registeredSessions']['has'](_0x478820))throw new _0x22c7bf('sessions-register-already-registered',null,{'channelId':_0x478820});this['_registeredSessions']['set'](_0x478820,_0x4768af),this['channelSessions']['set'](_0x478820,new _0x10ebb7()),this['channelConnectedUsers']['set'](_0x478820,new _0x10ebb7()),this['listenTo'](_0x4768af,'add',(_0x1e6683,_0x2c9480)=>this['_handleSessionAdd'](_0x478820,_0x2c9480)),this['listenTo'](_0x4768af,'remove',(_0xd0d50a,_0x5935c2)=>this['_handleSessionRemove'](_0x478820,_0x5935c2));for(const _0x941302 of _0x4768af)this['_handleSessionAdd'](_0x478820,_0x941302);}['unregister'](_0x1ed763){if(!this['_registeredSessions']['has'](_0x1ed763))throw new _0x22c7bf('sessions-unregister-not-exist',null,{'channelId':_0x1ed763});const _0x4c8803=this['_registeredSessions']['get'](_0x1ed763);this['stopListening'](_0x4c8803);for(const _0x5b8579 of _0x4c8803)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x1ed763,_0x5b8579);this['_registeredSessions']['delete'](_0x1ed763),this['channelSessions']['delete'](_0x1ed763),this['channelConnectedUsers']['delete'](_0x1ed763);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x5d3559){for(const _0x5e3c21 of this['channelSessions']['values']())for(const _0xad5192 of _0x5e3c21)if(_0xad5192['id']===_0x5d3559)return _0xad5192['user'];}['getUserSessions'](_0xcf0e50,_0x47f004){const _0x1a56a3=_0x47f004?[this['channelSessions']['get'](_0x47f004)]:this['channelSessions']['values'](),_0x54254f=new Set();for(const _0x174bb5 of _0x1a56a3)for(const _0x305a27 of _0x174bb5)_0x305a27['user']['id']===_0xcf0e50['id']&&_0x54254f['add'](_0x305a27['id']);return _0x54254f;}['getUserRole'](_0x598a18){for(const _0x18a3a6 of this['channelSessions']['values']())for(const _0x330202 of _0x18a3a6)if(_0x330202['user']===_0x598a18)return _0x330202['role'];}['_handleSessionAdd'](_0x207b7e,_0x45e01c){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3f1b98=_0x45e01c['user'],_0x34bd23=this['_users']['getUser'](_0x3f1b98['id'])||this['_createUser'](_0x3f1b98),_0x50e9d2=Object['assign']({},_0x45e01c,{'user':_0x34bd23});if(this['channelSessions']['get'](_0x207b7e)['add'](_0x50e9d2),!_0x3f1b98['hiddenInPresenceList']){const _0x40a998=this['channelConnectedUsers']['get'](_0x207b7e);_0x40a998['has'](_0x34bd23['id'])||_0x40a998['add'](_0x34bd23),this['allConnectedUsers']['has'](_0x34bd23['id'])||_0x3f1b98['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x34bd23,_0x34bd23['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x207b7e,{'channelId':_0x207b7e,'session':_0x50e9d2});}['_handleSessionRemove'](_0x4395c3,_0x31f9ff){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xd32a11=this['channelConnectedUsers']['get'](_0x4395c3),_0x1ba1b5=_0x31f9ff['user'];_0x1ba1b5['id']&&(this['channelSessions']['get'](_0x4395c3)['remove'](_0x31f9ff['id']),_0xd32a11['has'](_0x1ba1b5['id'])&&!this['getUserSessions'](_0x1ba1b5,_0x4395c3)['size']&&_0xd32a11['remove'](_0x1ba1b5['id']),this['allConnectedUsers']['get'](_0x1ba1b5['id'])&&!this['getUserSessions'](_0x1ba1b5)['size']&&this['allConnectedUsers']['remove'](_0x1ba1b5['id']));}['_createUser'](_0x4edbbb,_0x3063ec){const _0x15f2cb=this['_users']['addUser'](_0x4edbbb);return _0x3063ec&&this['_users']['defineMe'](_0x4edbbb['id']),_0x15f2cb['orderNumber']=this['_uniqueUsersCount']++,_0x15f2cb;}}class K extends _0x19622f{['_domEmitter']=new(_0x377d8d())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5a5c30=this['editor'],_0x48c337=_0x5a5c30['plugins']['get'](Y);_0x5a5c30['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x50c3af,{writer:_0x8e389})=>function(_0x591119,_0x4a9092,_0xc3c29a,_0x4aa1dc){const _0x2d1d5e=_0x591119['markerName']['split'](':')[0x2],_0x17531c=_0xc3c29a['getUserBySessionId'](_0x2d1d5e);if(!_0x17531c||_0x2d1d5e===_0xc3c29a['mySessionId'])return;if(!_0x4aa1dc['model']['schema']['checkChild'](_0x591119['markerRange']['start'],'$text'))return;const _0x5b521f={'class':'ck-user__marker\x20'+_0x17531c['color']['getMarkerClass'](),'style':Q(_0x17531c),'data-name':_0x17531c['name'],'data-session-id':_0x2d1d5e},_0x1fd5af=_0x4aa1dc['model']['markers']['get'](_0x591119['markerName']),_0x2fcc14=_0x1fd5af['getStart'](),_0x324225=_0x2fcc14['nodeAfter'],_0x16202c=_0x4aa1dc['model']['schema'];if(_0x324225&&_0x16202c['isObject'](_0x324225)&&_0x16202c['isInline'](_0x324225)&&!_0x4aa1dc['model']['markers']['get']('user:range:'+_0x2d1d5e)['getRange']()['isCollapsed'])return;const _0xc2a28a=_0x2fcc14['parent'];return _0x4aa1dc['model']['schema']['isLimit'](_0xc2a28a)&&!_0x4aa1dc['model']['hasContent'](_0xc2a28a)&&(_0x5b521f['contenteditable']=!0x1),function(_0x383e01,_0xe381f0,_0x2f6580){const _0x1b1930=_0x383e01['createUIElement']('span',_0xe381f0);return _0x383e01['setCustomProperty']('userPositionMarker',!0x0,_0x1b1930),_0x1b1930['render']=function(_0x2fdcfd){const _0x250ca1=this['toDomElement'](_0x2fdcfd),_0x1e9f28=document['createElement']('span');return _0x1e9f28['classList']['add']('ck-user__marker-tooltip'),_0x1e9f28['setAttribute']('contenteditable','false'),_0x1e9f28['setAttribute']('spellcheck','false'),_0x1e9f28['textContent']=_0x2f6580['name'],_0x250ca1['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1e9f28['outerHTML']+'⁠',_0x250ca1['addEventListener']('mouseenter',()=>{_0x250ca1['classList']['add']('ck-user__marker_hovered');}),_0x250ca1['addEventListener']('mouseleave',()=>{_0x250ca1['classList']['remove']('ck-user__marker_hovered');}),_0x250ca1;},_0x1b1930['isSimilar']=function(_0x29187a){return!(!this['getCustomProperty']('userPositionMarker')||!_0x29187a['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x29187a['getAttribute']('data-session-id'));},_0x1b1930;}(_0x4a9092,_0x5b521f,_0x17531c);}(_0x50c3af,_0x8e389,_0x48c337,_0x5a5c30)}),_0x5a5c30['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1f6001=>function(_0x1b6b89,_0x3ad36d){const _0x5a23c5=_0x1b6b89['markerName']['split'](':')[0x2];if(_0x5a23c5===_0x3ad36d['mySessionId'])return null;const _0x4f5e28=_0x3ad36d['getUserBySessionId'](_0x5a23c5);if(!_0x4f5e28)return{'id':_0x5a23c5,'classes':[]};return{'id':_0x5a23c5,'classes':['ck-user__selection',_0x4f5e28['color']['getSelectionClass']()],'attributes':{'style':Q(_0x4f5e28),'data-session-id':_0x5a23c5},'priority':0x7d0+_0x4f5e28['orderNumber']};}(_0x1f6001,_0x48c337)}),function(_0x21444d){const _0x2765f1=_0x21444d['model'],_0x46592b=new Map(),_0x45bd08=_0x21444d['plugins']['get'](Y);_0x2765f1['markers']['on']('update:user:range',(_0x237363,_0x4cbb4f,_0x1d30e4,_0x3111a2)=>{if(!_0x3111a2&&_0x46592b['get'](_0x4cbb4f['name']))return _0x46592b['get'](_0x4cbb4f['name'])['detach'](),void _0x46592b['delete'](_0x4cbb4f['name']);const _0x19a509=_0x4cbb4f['name']['split'](':')[0x2];if(_0x19a509===_0x45bd08['mySessionId'])return;const _0x195207='user:position:'+_0x19a509;_0x2765f1['markers']['has'](_0x195207)&&_0x21444d['editing']['reconvertMarker'](_0x195207),_0x4cbb4f['on']('change:range',(_0x5459cc,_0x8879a3,_0x234813)=>{if('$graveyard'!=_0x8879a3['root']['rootName']&&'$graveyard'==_0x4cbb4f['getRange']()['root']['rootName']&&!_0x46592b['has'](_0x4cbb4f['name'])){const _0x4d8357=_0x2765f1['schema']['getNearestSelectionRange'](_0x234813['deletionPosition']);if(_0x4d8357){const _0x32faba=_0x458245['fromRange'](_0x4d8357);_0x46592b['set'](_0x4cbb4f['name'],_0x32faba),_0x32faba['on']('change:range',(_0x224a82,_0x1e9c08,_0xfc8910)=>{if('$graveyard'==_0x32faba['root']['rootName']){const _0x38132e=_0x2765f1['schema']['getNearestSelectionRange'](_0xfc8910['deletionPosition']);_0x38132e?(_0x32faba['start']=_0x38132e['start'],_0x32faba['end']=_0x38132e['end']):(_0x46592b['delete'](_0x4cbb4f['name']),_0x32faba['detach']());}});}}});}),_0x2765f1['document']['on']('change',()=>{_0x46592b['size']>0x0&&_0x2765f1['enqueueChange']({'isUndoable':!0x1},_0x2b4f93=>{for(const [_0x478575,_0x307bbc]of _0x46592b)'$graveyard'==_0x2765f1['markers']['get'](_0x478575)['getRange']()['root']['rootName']&&(J(_0x478575['split'](':')[0x2],_0x307bbc['toRange'](),_0x2765f1,_0x2b4f93),_0x307bbc['detach']());_0x46592b['clear']();});});}(_0x5a5c30),this['_domEmitter']['listenTo'](_0x1ac0d1['document'],'keydown',(_0x2f91d6,{key:_0x268aea})=>{'Escape'===_0x268aea&&function(_0x3f180b){_0x3f180b['editing']['view']['change'](_0x3178fc=>{for(const _0x32bb1 of _0x3f180b['model']['markers']){if(!_0x32bb1['name']['startsWith']('user:position'))continue;const _0x2070d8=_0x3f180b['editing']['mapper']['markerNameToElements'](_0x32bb1['name']);if(_0x2070d8){for(const _0x13006f of _0x2070d8)_0x3178fc['removeClass']('ck-user__marker_hovered',_0x13006f);}}});}(_0x5a5c30);},{'useCapture':!0x0});}['afterInit'](){const _0x32676a=this['editor'],_0x11bb19=_0x32676a['commands']['get']('undo');_0x11bb19&&_0x32676a['model']['on']('applyOperation',(_0x11b473,_0x50a004)=>{const _0x18fe3c=_0x50a004[0x0];if(!_0x18fe3c['isDocumentOperation'])return;if('marker'!=_0x18fe3c['type']||!_0x18fe3c['name']['startsWith']('user:'))return;const _0x41e606=_0x18fe3c['batch'];_0x11bb19['_createdBatches']['has'](_0x41e606)&&(_0x18fe3c['newRange']=_0x18fe3c['oldRange']?_0x32676a['model']['createRange'](_0x18fe3c['oldRange']['start'],_0x18fe3c['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3f42c8=this['editor'],_0x1894f9=_0x3f42c8['model']['document'],_0x360816=_0x3f42c8['plugins']['get'](Y);_0x3f42c8['model']['enqueueChange']({'isUndoable':!0x1},_0x30c77e=>{const _0x2e0126='user:range:'+_0x360816['mySessionId'],_0x2872c8='user:position:'+_0x360816['mySessionId'],_0x19e88e=_0x3f42c8['model']['markers']['has'](_0x2e0126);_0x3f42c8['editing']['view']['hasDomSelection']?J(_0x360816['mySessionId'],_0x1894f9['selection']['getFirstRange'](),_0x3f42c8['model'],_0x30c77e):_0x19e88e&&(_0x30c77e['removeMarker'](_0x2e0126),_0x30c77e['removeMarker'](_0x2872c8));});}}function J(_0x5971dc,_0x2e0dbc,_0x15505a,_0x673336){const _0x5c1172='user:range:'+_0x5971dc,_0x119c8e='user:position:'+_0x5971dc,_0x4a31c6=_0x2e0dbc['getContainedElement']();let _0xf83f12=_0x2e0dbc['start'];if(_0x4a31c6&&_0x4a31c6['is']('element','tableCell')){const _0x147c5c=function(_0x25a9ca,_0x80747a){for(const _0x558bc3 of _0x25a9ca['getPositions']())if(_0x80747a['schema']['checkChild'](_0x558bc3,'$text'))return _0x558bc3;}(_0x2e0dbc,_0x15505a);_0x147c5c&&(_0xf83f12=_0x147c5c,_0x2e0dbc=_0x673336['createRange'](_0xf83f12));}const _0x24e095=_0x673336['createRange'](_0xf83f12);_0x15505a['markers']['has'](_0x5c1172)?(_0x673336['updateMarker'](_0x5c1172,{'range':_0x2e0dbc}),_0x673336['updateMarker'](_0x119c8e,{'range':_0x24e095})):(_0x673336['addMarker'](_0x5c1172,{'range':_0x2e0dbc,'usingOperation':!0x0}),_0x673336['addMarker'](_0x119c8e,{'range':_0x24e095,'usingOperation':!0x0}));}function Q(_0x4b04ab){return'--ck-user-color:'+_0x4b04ab['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4b04ab['color']['getColorAlphaVariable']()+';';}function X(_0x5c627b,_0x52b281,_0x77cea8){const _0x7a5b81=_0x5c627b['t'],t=_0x5c627b['t'];switch(_0x52b281){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 _0x7a5b81({'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'},_0x77cea8);default:return'';}}let Z=0x1;class tt extends _0x19622f{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x14e124)());['_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,_0x480140,_0x18cf17,_0xeb09b5];}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 _0x21b8c4=this['serverHistory']['getOperations']();for(let _0x411e46=_0x21b8c4['length']-0x1;_0x411e46>=0x0;_0x411e46--){const _0x31d738=_0x21b8c4[_0x411e46];if(!this['_disconnectionOperations']['has'](_0x31d738))return _0x31d738['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x15bdce){if(super(_0x15bdce),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3b03c5(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x22c7bf('collaboration-missing-channelid',this);const _0x383e3d=_0x15bdce['config']['get']('cloudServices.bundleVersion')||_0x320d77;this['_service']=new tt['CollaborativeEditingService'](_0x383e3d,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x491561(),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 _0x202f58=this['editor'],_0x417979=_0x202f58['plugins']['get'](_0x18cf17),_0xe8da9b=_0x202f58['plugins']['get'](z);this['listenTo'](_0x417979,'getOperationAuthor',(_0x5255e2,_0x131c77)=>{const _0x4d9aab=_0x131c77[0x0];_0x4d9aab['_authorId']&&(_0x5255e2['return']=_0x417979['getUser'](_0x4d9aab['_authorId']),_0x5255e2['stop']()),null===_0x4d9aab['_authorId']&&(_0x5255e2['return']=null,_0x5255e2['stop']());},{'priority':'high'}),this['listenTo'](_0x202f58['model']['document']['selection'],'change:range',(_0x52704e,_0x3aff07)=>{_0x3aff07['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x202f58['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x202f58['model']['on']('applyOperation',(_0x42a743,_0x401685)=>{const _0x3b1337=_0x401685[0x0];_0x3b1337['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3b1337),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xe8da9b,'state',this,'_hasSynchronizationProblem',(_0x495412,_0x536d82)=>'connected'===_0x495412&&!_0x536d82),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x202f58['disableReadOnlyMode']('rtc-offline'):_0x202f58['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x202f58['disableReadOnlyMode']('rtc-offline'):_0x202f58['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x289365=this['editor']['plugins']['get'](Y),_0x5260b0=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x289365['unregister'](this['_channelId']);const _0x57b5aa=await this['_service']['reconnect'](_0x5260b0['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x57b5aa)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x28eb28=await this['_service']['getConnectedSessions']();_0x289365['register'](this['_channelId'],_0x28eb28),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4345c0){if(function(_0xd2492c){return'404'===_0xd2492c['code'];}(_0x4345c0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5ec9ac){return'409'===_0x5ec9ac['code'];}(_0x4345c0)){const _0x5e89b9=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'](_0x5e89b9);}else{if(!(_0x4345c0 instanceof et))throw _0x4345c0;this['_handleReconnectionError']();}}}}['destroy'](){const _0x46e784=this['editor']['plugins']['get'](z),_0x1321f7=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1321f7['channelSessions']['has'](this['_channelId'])&&_0x1321f7['unregister'](this['_channelId']),_0x46e784['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5287e8){if(this['sessionId']!==_0x5287e8['sessionId']&&this['_lastSyncedOperationId']!==_0x5287e8['lastOperationId'])throw new et();return this['sessionId']=_0x5287e8['sessionId'],this['_handleServerResponse']([],{..._0x5287e8,'wereChangesApplied':!0x1,'data':_0x5287e8['data']},'reconnect');}async['_connectService'](_0x48f6ce,_0x2306fe=!0x1){const {connection:_0x4fbc8c}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x4fbc8c,this['_channelId'])['then'](_0x113c89=>this['_initSessionsHandling'](_0x113c89))['catch'](_0x13cf2f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x13cf2f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4a7d78,_0x47564f)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x47564f);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x31012f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x48f6ce);this['_isPendingUpdate']=!0x0;const _0x800742=await this['_service']['connect'](_0x4fbc8c,this['_compressOperations'](_0x48f6ce),_0x31012f);if(this['sessionId']=_0x800742['sessionId'],_0x2306fe){if(!_0x800742['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x800742['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x48f6ce,_0x800742,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x800742,_0x48f6ce);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x393001=this['editor']['plugins']['get'](Y),_0x1cb3bb=this['editor']['plugins']['get'](K),_0x525691=_0x393001['channelSessions']['get'](this['_channelId']);_0x525691&&_0x525691['length']>0x1?_0x1cb3bb['createUserMarkerOperations']():this['listenTo'](_0x393001,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x393001['channelSessions']['get'](this['_channelId'])['length']&&_0x1cb3bb['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4467d5,_0x5e99f2,_0x4eb4c4,_0xc149f0){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5e99f2){const _0x5c3175=this['_decompressOperations'](_0x4eb4c4,_0xc149f0);await this['_fetchMissingUsers'](_0x5c3175),this['_handleExternalOperations'](_0x5c3175,_0x5e99f2,_0x4eb4c4['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x5ccc6c}=this['editor'];let _0x4dbfea;try{_0x4dbfea=await this['_service']['getDocumentDetails']();}catch{const _0x5cba67=X(_0x5ccc6c,'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'](_0x5cba67);}const _0x5d6b08=_0x4dbfea['currentDocumentSession']||_0x4dbfea['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5d6b08['lastOperationId']){const _0x4db3ae=X(_0x5ccc6c,'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'](_0x4db3ae);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4fa81d){const _0x1b2645=this['editor']['plugins']['get'](Y);this['listenTo'](_0x1b2645,'sessionAdd:'+this['_channelId'],(_0xed532,{session:_0x5689a1})=>{if(_0x5689a1['id']===_0x1b2645['mySessionId']){_0xed532['off']();const _0x17af8f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4761eb=_0x5689a1['permissions'];_0x17af8f&&_0x17af8f['isEnabled']&&(_0x4761eb=_0x4761eb['filter'](_0x4de44e=>'document:write'!==_0x4de44e)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4761eb,this['_channelId']);}}),_0x1b2645['register'](this['_channelId'],_0x4fa81d);}['_initThrowingOnDataSet'](){const _0x3dfa89=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1eb9df)=>{if(!_0x1eb9df[_0x1eb9df['length']-0x1]['suppressErrorInCollaboration'])throw new _0x22c7bf('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3dfa89['apply'](this['editor']['data'],_0x1eb9df);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5b408a,[_0x136fcd])=>{if(this['_document']['version'])throw new _0x22c7bf('realtimecollaborationclient-init-document-already-initialized',this);_0x5b408a['stop'](),this['_setPendingAction']();const _0x9e466c=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x17ab0e])=>!_0x17ab0e['lazyLoad'])['map'](([_0x28be20,_0x627075])=>[_0x28be20,_0x627075['modelAttributes']||{}])),_0x41eeab=this['_getOperationsFromInitData'](_0x136fcd,_0x9e466c);0x0==_0x41eeab['length']&&_0x41eeab['push'](new _0x3594fe(0x0)),_0x5b408a['return']=this['_connectService'](_0x41eeab)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2090af=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2090af))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x364434,[_0x21b5b2,_0x55d90f])=>{_0x364434['stop']();const _0x4c221a=this['editor']['model']['document']['getRoot'](_0x21b5b2);if(!this['_knownRootNames']['has'](_0x21b5b2)){const _0x3c669b=_0x55d90f&&_0x55d90f['data']?_0x55d90f['data']:'',_0x2353b7=_0x55d90f&&_0x55d90f['attributes']?_0x55d90f['attributes']:{};await this['_loadRoot'](_0x21b5b2,_0x3c669b,_0x2353b7);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4c221a['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4c221a);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x170ea6){const _0x130203=this['editor']['plugins']['get'](_0x18cf17),{connection:_0x1dd05b}=this['editor']['plugins']['get'](z),_0x499cee=new Set();for(const _0x336e96 of _0x170ea6){const _0x3a00fb=_0x336e96['_authorId'];_0x3a00fb&&!_0x130203['getUser'](_0x3a00fb)&&_0x499cee['add'](_0x3a00fb);}if(0x0===_0x499cee['size'])return;const _0x2a5e79=await _0x5f5b22['getMany'](_0x1dd05b,Array['from'](_0x499cee));for(const _0x531072 of _0x2a5e79)_0x130203['getUser'](_0x531072['id'])||_0x130203['addUser'](_0x531072);}['_getOperationsFromInitData'](_0x4e5f5c,_0x5a825b={}){const _0xcb9122=this['editor']['model'],_0x5932e6=[];let _0x5fef74=0x0;const _0x2a9cc0='string'==typeof _0x4e5f5c?{'main':_0x4e5f5c}:_0x4e5f5c;for(const _0x1a0d66 of Object['keys'](_0x2a9cc0)){if(!this['_document']['roots']['has'](_0x1a0d66))throw new _0x22c7bf('realtimecollaborationclient-init-non-existent-root',this);const _0x131682=this['editor']['data']['parse'](_0x2a9cc0[_0x1a0d66]),_0x3cf7de=this['_document']['getRoot'](_0x1a0d66),_0x35eb82=new _0x36e123(_0xcb9122['createPositionAt'](_0x3cf7de,0x0),_0x131682,_0x5fef74++);_0x5932e6['push'](_0x35eb82);for(const [_0x3df17f,_0x3c1dbd]of _0x131682['markers']){const _0x26e399=_0xcb9122['createRange'](_0xcb9122['createPositionFromPath'](_0x3cf7de,_0x3c1dbd['start']['path']['slice']()),_0xcb9122['createPositionFromPath'](_0x3cf7de,_0x3c1dbd['end']['path']['slice']())),_0x24684a=new _0x410f97(_0x3df17f,null,_0x26e399,_0xcb9122['markers'],!0x0,_0x5fef74++);_0x5932e6['push'](_0x24684a);}}if(_0x5a825b)for(const [_0x257de8,_0x8551f7]of Object['entries'](_0x5a825b)){const _0x15fb23=_0xcb9122['document']['getRoot'](_0x257de8);if(!_0x15fb23)throw new _0x22c7bf('multi-root-editor-root-attributes-no-root',null);for(const [_0x4f3d26,_0x26c14f]of Object['entries'](_0x8551f7))if(null!==_0x26c14f){const _0x439889=new _0x47b02a(_0x15fb23,_0x4f3d26,null,_0x26c14f,_0x5fef74++);_0x5932e6['push'](_0x439889);}}return _0x5932e6;}async['_loadRoot'](_0x3e558b,_0x20044d,_0x67b90f){this['_getOperationsFromInitData']({[_0x3e558b]:_0x20044d},{[_0x3e558b]:_0x67b90f})['forEach']((_0x40b5da,_0x4e5edb)=>{_0x40b5da['baseVersion']=this['_document']['version']+_0x4e5edb,_0x40b5da['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x40b5da);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4b501e,_0x5505b3){let _0x500e65;this['_offset']=_0x4b501e['offset'];const _0x365c5b=_0x4b501e['wereChangesApplied']&&!_0x4b501e['initData'],_0x870944=_0x365c5b?0x0:_0x4b501e['data']['baseVersion'];if(_0x5505b3['forEach'](_0x3a74f9=>{_0x3a74f9['_isInit']=!0x0,_0x3a74f9['createdAt']=_0x4b501e['sessionCreatedAt'],_0x3a74f9['_authorId']=null;}),_0x365c5b)_0x500e65=_0x5505b3,this['_applyOperationsSet'](_0x500e65,_0x365c5b);else{if(_0x4b501e['initData']){const _0x54dce2=this['_getOperationsFromInitData'](_0x4b501e['initData']);this['_document']['history']['version']=-_0x54dce2['length'],_0x54dce2['forEach'](_0x3a061d=>{_0x3a061d['baseVersion']-=_0x54dce2['length'],_0x3a061d['createdAt']=_0x4b501e['sessionCreatedAt'],_0x3a061d['_isInit']=!0x0,_0x3a061d['_authorId']=null;}),this['_applyOperationsSet'](_0x54dce2,!0x0),this['serverHistory']['version']=-_0x54dce2['length']+this['_offset'],this['_updateServerHistory'](_0x54dce2);}this['_document']['history']['version']=_0x870944,_0x500e65=this['_decompressOperations'](_0x4b501e['data'],_0x4b501e['metadata']),await this['_fetchMissingUsers'](_0x500e65),this['_applyOperationsSet'](_0x500e65,_0x365c5b);}_0x4b501e['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x500e65,_0x4b501e['lastOperationId']),this['_lastSyncedOperationId']=_0x4b501e['lastOperationId']),this['serverHistory']['version']=_0x870944+this['_offset'],this['_updateServerHistory'](_0x500e65),_0x5505b3['filter'](_0xacc228=>{const _0x48236e=this['_getAffectedRoot'](_0xacc228);return _0x48236e&&!this['_knownRootNames']['has'](_0x48236e);})['forEach']((_0x5dfe88,_0x4efde1)=>{_0x5dfe88['baseVersion']=this['_document']['version']+_0x4efde1,this['_saveOperationInBuffer'](_0x5dfe88);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x28634d,_0x5ddf5c){const _0x543494=_0x5ddf5c&&_0x5ddf5c['message'];if(_0x543494&&_0x543494['startsWith']('realtimecollaborationclient'))throw _0x5ddf5c;const _0x287301=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x287301['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x22c7bf(_0x28634d,this['editor'],_0x543494?{'originalError':_0x543494}:void 0x0);}['_saveOperationInBuffer'](_0x1c9488){this['_knownOperations']['has'](_0x1c9488)||(this['_knownOperations']['add'](_0x1c9488),this['_bufferedOperations']['push'](_0x1c9488),this['_pendingAction']||'marker'==_0x1c9488['type']&&!_0x1c9488['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x550047=!0x1){!_0x550047&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5b586f=>{_0x5b586f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xc6ccce=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4ce6e7){return _0x4ce6e7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ce6e7['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4ce6e7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xc6ccce)||this['_crash'](_0xc6ccce['message'],_0xc6ccce);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3065b6=>{this['on']('change:_isPendingUpdate',()=>{_0x3065b6();});});}async['_sendBufferedOperations'](){const _0x5b0144=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5b0144['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x141808=[...this['_bufferedOperations']];for(const _0x26ce9f of _0x141808)_0x26ce9f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x26ce9f);const _0x464549=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x141808),_0x333adc=Z++,_0x427bcc=this['_compressOperations'](_0x141808),_0x9e61a8=await this['_service']['sendOperations'](_0x427bcc,_0x427bcc['baseVersion'],_0x464549);try{return await this['_handleServerResponse'](_0x141808,_0x9e61a8,_0x333adc);}catch(_0x28c0ed){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x28c0ed);}}async['_handleServerResponse'](_0x2df099,_0x10ba5d,_0x33a023){if('error'in _0x10ba5d)throw _0x10ba5d['error'];let _0x337a71=!0x1;if(_0x10ba5d['wereChangesApplied']){_0x10ba5d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x10ba5d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x57cbb5=>!_0x2df099['includes'](_0x57cbb5));for(const _0x35ec5d of _0x2df099)_0x35ec5d['createdAt']='lastOperationAcceptedAt'in _0x10ba5d&&_0x10ba5d['lastOperationAcceptedAt']||void 0x0;st(_0x2df099,_0x10ba5d['version']-_0x2df099['length']),this['_updateServerHistory'](_0x2df099);const _0x328cd2=_0x2df099['filter'](_0x3e1284=>{if(!_0x3e1284['_isInit'])return!0x1;const _0x410072=this['_getAffectedRoot'](_0x3e1284);return _0x410072&&!this['_knownRootNames']['has'](_0x410072);});st(_0x328cd2,this['_document']['version']),this['_applyOperationsSet'](_0x328cd2),_0x337a71=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2fb7d1=this['_decompressOperations'](_0x10ba5d['data'],_0x10ba5d['metadata'])['filter'](_0x5669d7=>_0x5669d7['baseVersion']>=this['_lastServerVersion']);_0x2fb7d1['forEach'](_0x25d1da=>this['_addKnownRoot'](_0x25d1da)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x48735b=>!_0x48735b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x48735b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2fb7d1),_0x337a71=this['_handleExternalOperations'](_0x2fb7d1,_0x10ba5d['version'],_0x10ba5d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x337a71?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4888c6,_0x3651c0,_0x4a977d){try{const _0x23491a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xbefe18,operationsB:_0x3ca70e,originalOperations:_0x18ac7b}=_0x16a1ca(_0x4888c6,this['_bufferedOperations'],_0x23491a);st(_0xbefe18,this['_document']['version']),st(_0x3ca70e,_0x3651c0);for(const _0x574e1e of _0xbefe18){const _0x5d7b25=_0x18ac7b['get'](_0x574e1e);_0x574e1e['_authorId']=_0x5d7b25?_0x5d7b25['_authorId']:null;}_0x4a977d&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4888c6,_0x4a977d),this['_lastSyncedOperationId']=_0x4a977d),this['_bufferedOperations']=[..._0x3ca70e],this['_applyOperationsSet'](_0xbefe18),this['_updateServerHistory'](_0x4888c6);}catch(_0x22c387){return console['error'](_0x22c387),!0x1;}return!0x0;}['_applyOperationsSet'](_0x24f73c,_0x15f216=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x20bfa1=>{for(const _0x583bb9 of _0x24f73c)this['_knownOperations']['add'](_0x583bb9),this['_addKnownRoot'](_0x583bb9),_0x20bfa1['batch']['addOperation'](_0x583bb9),this['editor']['model']['applyOperation'](_0x583bb9);});}['_addKnownRoot'](_0x27d9cf){const _0x4c6b34=this['_getAffectedRoot'](_0x27d9cf);_0x4c6b34&&this['_knownRootNames']['add'](_0x4c6b34);}['_getAffectedRoot'](_0x2ca0b3){let _0x372ad1,_0x3b1a1a;switch(_0x2ca0b3['type']){case'insert':_0x372ad1=_0x2ca0b3['position']['root'];break;case'marker':if(_0x3b1a1a=_0x2ca0b3['newRange'],!_0x3b1a1a)return null;_0x372ad1=_0x3b1a1a['root'];break;case'addRootAttribute':_0x372ad1=_0x2ca0b3['root'];break;case'addRoot':_0x372ad1=_0x2ca0b3['affectedSelectable'];break;case'move':_0x372ad1=_0x2ca0b3['targetPosition']['root'];break;default:return null;}return _0x372ad1['rootName'];}['_updateServerHistory'](_0x491a2c){_0x491a2c['forEach'](_0x4c281e=>{const _0x3f69c2=_0x4c281e['clone']();_0x3f69c2['_authorId']=_0x4c281e['_authorId'],_0x3f69c2['_isInit']=!!_0x4c281e['_isInit'],_0x3f69c2['createdAt']=_0x4c281e['createdAt'],_0x3f69c2['baseVersion']+=this['_offset'],_0x4c281e['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3f69c2),this['serverHistory']['addOperation'](_0x3f69c2);});}['_handleReconnectionError'](_0x5f4f3e){const _0x55c4d1=this['editor']['plugins']['get']('Notification'),_0x1c5baf=this['editor']['locale'];_0x5f4f3e||(_0x5f4f3e=X(_0x1c5baf,'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.')),_0x55c4d1['showWarning'](_0x5f4f3e,{'title':X(_0x1c5baf,'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'](_0x480140)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x480140)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4b5c19){const _0x13cee7=_0x4b5c19['map'](_0x2a14bd=>_0x2a14bd['toJSON']());return this['_compressor']['compress'](_0x13cee7);}['_decompressOperations'](_0x1b4f64,_0x57b5e2){return this['_compressor']['decompress'](_0x1b4f64)['map']((_0xde36b7,_0x373c6e)=>{const _0x5beb6c='init'==_0x57b5e2[_0x373c6e]['type'];if('InsertOperation'==_0xde36b7['__className']){const _0x9b6076=_0xde36b7['position']['root'];!this['_document']['getRoot'](_0x9b6076)&&(this['_document']['createRoot']('$root',_0x9b6076)['_isAttached']=!0x1);}const _0xb87a74=_0x699ba4['fromJSON'](_0xde36b7,this['_document']);return _0xb87a74['wasUndone']=_0xde36b7['wasUndone'],_0xb87a74['_isInit']=_0x5beb6c,_0xb87a74['_authorId']=_0x5beb6c?null:_0x57b5e2[_0x373c6e]['userId'],_0xb87a74['_isDisconnection']='cs:removeUser'===_0x57b5e2[_0x373c6e]['type'],_0xb87a74['createdAt']=_0x57b5e2[_0x373c6e]['createdAt'],_0xb87a74;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x532a72=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x532a72&&_0x532a72['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x14a49d,_0x1370f3){for(const _0x417493 of _0x14a49d)_0x417493['baseVersion']=_0x1370f3++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x34418a){this['_ignoredOperations']=_0x34418a,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xb9c727){let _0x55cd6f=_0xb9c727['length'];for(;_0x55cd6f--;){const _0xe505ae=_0xb9c727[_0x55cd6f];if(!this['_ignoredOperations']['has'](_0xe505ae)){if(!this['_operationToId']['has'](_0xe505ae)){const _0x440475=_0x310fa1()['slice'](0x1,0x12);this['_operationToId']['set'](_0xe505ae,_0x440475);}return this['_operationToId']['get'](_0xe505ae);}}}['setIdForTheLastOperation'](_0x16fdbd,_0xd0c454){if(!_0xd0c454)return;let _0x22f5d3=_0x16fdbd['length'];for(;_0x22f5d3--;){const _0x21e32d=_0x16fdbd[_0x22f5d3];this['_ignoredOperations']['has'](_0x21e32d)||this['_operationToId']['set'](_0x21e32d,_0xd0c454);}}}class nt extends _0x19622f{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x1fad56{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x2946d4)());['_services'];static get['requires'](){return[z,_0x5dfa99,Y,_0x18cf17];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3dd01c){super(_0x3dd01c),this['_services']=new Map();}async['init'](){const _0x482d16=this['context'],_0x12b69e=_0x482d16['plugins']['get'](_0x5dfa99);if(_0x482d16['plugins']['get'](z)['addToReconnectionStack'](this),_0x12b69e['adapter']={'addCommentThread':async({channelId:_0x34cab7,threadId:_0xafea6d,comments:_0x231537,resolvedAt:_0x3f9a92,resolvedBy:_0x4e0b4d,context:_0x717b6d,attributes:_0x3ec743})=>{const _0x4c6ca1=await this['_getService'](_0x34cab7)['addCommentThread']({'commentThreadId':_0xafea6d,'comments':_0x231537['map'](_0x177c6f=>function(_0x3ab6b1,_0x5b5ea1,_0x39ebf9){return{'commentThreadId':_0x39ebf9,'commentId':_0x3ab6b1['commentId'],'userId':_0x3ab6b1['authorId'],'content':_0x3ab6b1['content'],'documentId':_0x5b5ea1,'createdAt':_0x3ab6b1['createdAt'],'attributes':_0x3ab6b1['attributes']||{}};}(_0x177c6f,_0x34cab7,_0xafea6d)),'resolvedAt':_0x3f9a92,'resolvedBy':_0x4e0b4d,'context':_0x717b6d,'attributes':_0x3ec743})['catch'](ct);return{'threadId':_0x4c6ca1['commentThreadId'],'comments':_0x4c6ca1['comments']};},'getCommentThread':async({channelId:_0x1a6a57,threadId:_0x506256})=>{const _0x45540e=await this['_getService'](_0x1a6a57)['getCommentThread'](_0x506256)['catch'](rt)['catch'](ct);return _0x45540e?_0x45540e['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x45540e]),{'threadId':_0x45540e['commentThreadId'],'comments':_0x45540e['comments']['map'](at),'context':_0x45540e['context'],'resolvedAt':_0x45540e['resolvedAt'],'resolvedBy':_0x45540e['resolvedBy'],'attributes':_0x45540e['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3f4cb5,threadId:_0x340f73,context:_0x2edf5d,unlinkedAt:_0x2b2870,attributes:_0x1a5158})=>this['_getService'](_0x3f4cb5)['updateCommentThread']({'commentThreadId':_0x340f73,'context':_0x2edf5d,'attributes':_0x1a5158,'unlinkedAt':_0x2b2870})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x684c88,threadId:_0x51d60a})=>{const _0x4eba5a=await this['_getService'](_0x684c88)['resolveCommentThread'](_0x51d60a)['catch'](rt)['catch'](ct);return{'threadId':_0x4eba5a['commentThreadId'],'resolvedAt':_0x4eba5a['resolvedAt'],'resolvedBy':_0x4eba5a['resolvedBy']};},'reopenCommentThread':async({channelId:_0xf133ef,threadId:_0x6a112})=>this['_getService'](_0xf133ef)['reopenCommentThread'](_0x6a112)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x1aed5a,threadId:_0x3a87dc})=>this['_getService'](_0x1aed5a)['removeCommentThread'](_0x3a87dc)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x335cb7,threadId:_0x11785c,commentId:_0x235510,content:_0x17194f,attributes:_0x34e40f})=>this['_getService'](_0x335cb7)['addComment'](_0x11785c,_0x235510,_0x17194f,_0x34e40f)['catch'](ct),'updateComment':({channelId:_0x52eefb,threadId:_0x3882ff,commentId:_0x1d0e9e,content:_0x3c5744,attributes:_0x359a24})=>this['_getService'](_0x52eefb)['updateComment'](_0x3882ff,_0x1d0e9e,_0x3c5744,_0x359a24)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x3e0c89,threadId:_0x123b65,commentId:_0x50d670})=>this['_getService'](_0x3e0c89)['removeComment'](_0x123b65,_0x50d670)['catch'](rt)['catch'](ct)},_0x482d16 instanceof _0x1485db){const _0x3128c7=_0x482d16['config']['get']('collaboration.channelId'),_0x2c36df=_0x482d16['plugins']['get'](Y);await this['_setUpService'](_0x3128c7);const _0x5df56d=await this['_services']['get'](_0x3128c7)['getConnectedSessions']();this['listenTo'](_0x2c36df,'sessionAdd:'+_0x3128c7,(_0x523ae9,{session:_0x29df1b})=>{_0x29df1b['id']===_0x2c36df['mySessionId']&&(_0x523ae9['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x29df1b['permissions'],_0x3128c7));}),_0x2c36df['register'](_0x3128c7,_0x5df56d);}}async['_setUpService'](_0x27dade){if(this['_services']['has'](_0x27dade))throw new _0x22c7bf('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x27dade});const _0x4962b8=this['context']['plugins']['get'](_0x5dfa99),_0x599b8b=new ot['CommentsService'](_0x27dade);this['_services']['set'](_0x27dade,_0x599b8b),this['listenTo'](_0x599b8b,'commentThreadAdded',(_0x296278,_0x356126)=>{const {commentThreadId:_0x145345,documentId:_0x148fed,context:_0x16f218,attributes:_0x2faf03,resolvedAt:_0x26b004,resolvedBy:_0x432137,comments:_0x128b80}=_0x356126;_0x4962b8['getCommentThread'](_0x145345)||_0x4962b8['addCommentThread']({'threadId':_0x145345,'channelId':_0x148fed,'comments':_0x128b80?_0x128b80['map'](at):[],'context':_0x16f218,'attributes':_0x2faf03,'resolvedAt':_0x26b004,'resolvedBy':_0x432137,'isFromAdapter':!0x0});}),this['listenTo'](_0x599b8b,'commentThreadUpdated',(_0x4abc08,{commentThreadId:_0x1d4246,documentId:_0x3aa788,context:_0xb1ea87,unlinkedAt:_0x1f571f,attributes:_0x1386c2})=>{_0x4962b8['getCommentThread'](_0x1d4246)&&_0x4962b8['updateCommentThread']({'threadId':_0x1d4246,'channelId':_0x3aa788,'context':_0xb1ea87,'unlinkedAt':_0x1f571f,'attributes':_0x1386c2,'isFromAdapter':!0x0});}),this['listenTo'](_0x599b8b,'commentThreadResolved',(_0x1e3d7a,{commentThreadId:_0x90b3e2,resolvedBy:_0x18e670,resolvedAt:_0x49e3ba})=>{const _0x4458df=_0x4962b8['getCommentThread'](_0x90b3e2);_0x4458df&&_0x4458df['resolve']({'resolvedBy':_0x18e670,'resolvedAt':_0x49e3ba,'isFromAdapter':!0x0});}),this['listenTo'](_0x599b8b,'commentThreadReopened',(_0x4e5b8d,{commentThreadId:_0x11bcc1})=>{const _0x3bec2a=_0x4962b8['getCommentThread'](_0x11bcc1);_0x3bec2a&&_0x3bec2a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x599b8b,'commentThreadRemoved',(_0x376b24,{commentThreadId:_0x5150ad})=>{const _0x42605a=_0x4962b8['getCommentThread'](_0x5150ad);_0x42605a&&_0x42605a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x599b8b,'commentAdded',(_0x2731ad,_0x241216)=>{const _0x2aa717=_0x241216['commentThreadId'],_0x335724=_0x4962b8['getCommentThread'](_0x2aa717);_0x335724&&_0x335724['addComment']({...at(_0x241216),'isFromAdapter':!0x0});}),this['listenTo'](_0x599b8b,'commentUpdated',(_0x11ee0c,{commentThreadId:_0x3a5121,commentId:_0x3c2ed5,content:_0x17f01b,attributes:_0x340ee6})=>{const _0x4fa1f0=_0x4962b8['getCommentThread'](_0x3a5121);if(_0x4fa1f0){const _0x25a982=_0x4fa1f0['getComment'](_0x3c2ed5);_0x25a982&&_0x25a982['update']({'content':_0x17f01b,'attributes':_0x340ee6,'isFromAdapter':!0x0});}}),this['listenTo'](_0x599b8b,'commentRemoved',(_0x156c4b,{commentThreadId:_0x180ddb,commentId:_0x3ca1d8})=>{const _0x2ad984=_0x4962b8['getCommentThread'](_0x180ddb);if(_0x2ad984){const _0x2e1c26=_0x2ad984['getComment'](_0x3ca1d8);_0x2e1c26&&_0x2e1c26['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x27dade);}['destroy'](){if(this['context']instanceof _0x1485db){const _0x5e1031=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x5e1031);}}['_terminateService'](_0x535a8a){if(!this['_services']['has'](_0x535a8a))throw new _0x22c7bf('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x535a8a});this['_getService'](_0x535a8a)['disconnect'](),this['_services']['delete'](_0x535a8a);}async['reconnect'](){for(const _0x3383d2 of this['_services']['keys']())await this['_connectService'](_0x3383d2);if(this['context']instanceof _0x1485db){const _0x95720c=this['context']['config']['get']('collaboration.channelId'),_0x23f86d=this['context']['plugins']['get'](Y);_0x23f86d['unregister'](_0x95720c);const _0x17244b=await this['_services']['get'](_0x95720c)['getConnectedSessions']();_0x23f86d['register'](_0x95720c,_0x17244b);}}async['_connectService'](_0x186958){const {connection:_0x507cef}=this['context']['plugins']['get'](z),_0x57d4ec=this['context']['plugins']['get'](_0x5dfa99),_0x566d17=this['_services']['get'](_0x186958),_0x5f12c0=await _0x566d17['connect'](_0x507cef);await this['_fetchMissingUsersForThreads'](_0x5f12c0);const _0x552f2d=new Set(Array['from'](_0x57d4ec['getCommentThreads']({'channelId':_0x186958}),_0x2acf4c=>_0x2acf4c['id']));for(const _0x4b4bba of _0x5f12c0)_0x4b4bba['deletedAt']||_0x552f2d['delete'](_0x4b4bba['commentThreadId']);for(const _0x55fb32 of _0x552f2d)_0x57d4ec['getCommentThread'](_0x55fb32)['remove']({'isFromAdapter':!0x0});for(const _0xdff5ca of _0x5f12c0){let _0x22606c=_0x57d4ec['getCommentThread'](_0xdff5ca['commentThreadId']);const {commentThreadId:_0xb0185a,context:_0x4b7c25,attributes:_0x14b5d1,resolvedBy:_0x578b46,resolvedAt:_0x1f9c8c,unlinkedAt:_0x58c117,deletedAt:_0x98a5f1}=_0xdff5ca;if(_0x98a5f1)continue;_0x22606c||(_0x22606c=_0x57d4ec['addCommentThread']({'channelId':_0x186958,'threadId':_0xb0185a,'context':_0x4b7c25,'attributes':_0x14b5d1||{},'resolvedBy':_0x578b46,'resolvedAt':_0x1f9c8c,'unlinkedAt':_0x58c117,'isFromAdapter':!0x0}));const _0x4bc772=new Set(Array['from'](_0x22606c['comments'],_0x17a1f8=>_0x17a1f8['id']));for(const _0x374a3c of _0xdff5ca['comments'])_0x4bc772['delete'](_0x374a3c['commentId']);for(const _0x205836 of _0x4bc772)_0x22606c['getComment'](_0x205836)['remove']({'isFromAdapter':!0x0});for(const _0x444d2b of _0xdff5ca['comments']){const _0x31c899=_0x22606c['getComment'](_0x444d2b['commentId']);_0x31c899?_0x31c899['content']!==_0x444d2b['content']&&_0x31c899['update']({'content':_0x444d2b['content'],'isFromAdapter':!0x0}):_0x22606c['addComment'](Object['assign'](at(_0x444d2b),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5a168a){if(!this['_services']['has'](_0x5a168a))throw new _0x22c7bf('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5a168a});return this['_services']['get'](_0x5a168a);}async['_fetchMissingUsersForThreads'](_0x41cc3e){const _0x2a7c3b=this['context']['plugins']['get'](_0x18cf17),{connection:_0x2340cc}=this['context']['plugins']['get'](z),_0x3b3a29=new Set();for(const {resolvedBy:_0x1e9aee,comments:_0x432814}of _0x41cc3e){_0x1e9aee&&!_0x2a7c3b['getUser'](_0x1e9aee)&&_0x3b3a29['add'](_0x1e9aee);for(const {userId:_0x45c4a4}of _0x432814)_0x2a7c3b['getUser'](_0x45c4a4)||_0x3b3a29['add'](_0x45c4a4);}if(0x0===_0x3b3a29['size'])return;const _0x3789da=await _0x5f5b22['getMany'](_0x2340cc,Array['from'](_0x3b3a29));for(const _0x36ba25 of _0x3789da)_0x2a7c3b['getUser'](_0x36ba25['id'])||_0x2a7c3b['addUser'](_0x36ba25);}}async function rt(_0x194f57){if('404'!==_0x194f57['code'])throw _0x194f57;}function ct(_0x110ea1){if((_0xb24fb7=_0x110ea1)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xb24fb7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xb24fb7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xb24fb7;throw _0x110ea1;}function at(_0x30be32){return{'threadId':_0x30be32['commentThreadId'],'commentId':_0x30be32['commentId'],'content':_0x30be32['content'],'createdAt':_0x30be32['createdAt'],'authorId':_0x30be32['userId'],'attributes':_0x30be32['attributes']||{}};}class ht extends _0x19622f{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x27f298)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x3d0bb1,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4dc323){super(_0x4dc323);const _0x10da6e=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x10da6e);}['init'](){const _0x5c935a=this['editor']['plugins']['get'](z),_0x37a3eb=this['editor']['plugins']['get'](_0x3d0bb1);return _0x37a3eb['adapter']={'getSuggestion':async _0x270547=>{await this['_waitForServiceReady']();const _0x4317c4=await this['_trackChangesService']['get'](_0x270547)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x4317c4]),_0x4317c4;},'addSuggestion':async({id:_0x39aeb4,type:_0x3cff9d,data:_0x4eb36b,originalSuggestionId:_0x131ebb,attributes:_0x317290})=>{await this['_waitForServiceReady']();const _0x21b2fd={'id':_0x39aeb4,'type':_0x3cff9d,'data':_0x4eb36b,'originalSuggestionId':_0x131ebb,'attributes':_0x317290},_0x1c96cb=await this['_trackChangesService']['add'](_0x39aeb4,_0x3cff9d,_0x4eb36b,_0x131ebb,_0x317290)['catch'](_0x489937=>{if(dt(_0x489937))return new Promise(_0x560ab2=>{this['_bufferedRequests']['set'](_0x39aeb4,{'resolve':_0x560ab2,'suggestionData':_0x21b2fd});});throw _0x489937;});return this['_bufferedRequests']['delete'](_0x39aeb4),_0x1c96cb;},'updateSuggestion':async(_0x47873c,_0x51a00e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x51a00e['state'])return this['_trackChangesService']['update'](_0x47873c,_0x51a00e)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x8e9412,_0x117c52)=>{_0x37a3eb['hasSuggestion'](_0x117c52['id'])&&(_0x37a3eb['getSuggestion'](_0x117c52['id'])['attributes']=_0x117c52['attributes']);}),this['_trackChangesService']['connect'](_0x5c935a['connection'])['then'](_0x34f212=>(_0x5c935a['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x34f212)['then'](()=>{for(const _0x1901e4 of _0x34f212){_0x37a3eb['addSuggestionData'](_0x1901e4)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1a5118=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4c9924}=this['editor']['plugins']['get'](z),_0x3a7972=await this['_trackChangesService']['connect'](_0x4c9924);await this['_fetchMissingUsersForThreads'](_0x3a7972);for(const {suggestionData:_0xce6ea3,resolve:_0x25ce39}of this['_bufferedRequests']['values']()){let _0x47d63a=_0x3a7972['find'](_0x4d282b=>_0x4d282b['id']===_0xce6ea3['id']);_0x47d63a||(_0x47d63a=await this['_trackChangesService']['add'](_0xce6ea3['id'],_0xce6ea3['type'],_0xce6ea3['data'],_0xce6ea3['originalSuggestionId'])),_0x25ce39(_0x47d63a);}for(const _0x3e4253 of _0x3a7972)_0x1a5118['hasSuggestion'](_0x3e4253['id'])||_0x1a5118['addSuggestionData'](_0x3e4253);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2ef6c9=>{this['listenTo'](this['_trackChangesService'],'connected',_0x21ecc1=>{_0x21ecc1['off'](),_0x2ef6c9();});});}async['_fetchMissingUsersForThreads'](_0x325dc6){const _0x1c3e11=this['editor']['plugins']['get'](_0x18cf17),{connection:_0x48fd5a}=this['editor']['plugins']['get'](z),_0x1a8953=new Set();for(const {authorId:_0x16b4d4}of _0x325dc6)_0x1c3e11['getUser'](_0x16b4d4)||_0x1a8953['add'](_0x16b4d4);if(0x0===_0x1a8953['size'])return;const _0x3b476b=await _0x5f5b22['getMany'](_0x48fd5a,Array['from'](_0x1a8953));for(const _0x2151a4 of _0x3b476b)_0x1c3e11['getUser'](_0x2151a4['id'])||_0x1c3e11['addUser'](_0x2151a4);}}function lt(_0x1e5b22){if(dt(_0x1e5b22))return new Promise(()=>{});throw _0x1e5b22;}function dt(_0x30bca1){return _0x30bca1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x30bca1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x19622f{static get['requires'](){return[_0x5ce99f,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x6035df=this['editor']['plugins']['get'](z),_0x53184d=this['editor']['plugins']['get'](_0x1ed9c7),_0x364d43=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x6035df,'change:state',(_0x137e96,_0x3d176d,_0x2ff799)=>{_0x53184d['isThreadsLoadingPaused']='connected'!==_0x2ff799;});}),this['listenTo'](_0x6035df,'change:state',(_0x8d43b4,_0x596553,_0x1d9df8)=>{this['editor']['plugins']['get'](_0x5dfa99)['switchReadOnly']('connected'!==_0x1d9df8);}),_0x364d43['_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 _0x19622f{static get['requires'](){return[ut,ht,_0x4b45a7];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x19622f{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x2caeb1)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x598ef1,Y,_0x18cf17];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x267738){super(_0x267738);const _0x1c79e5=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x1c79e5);}async['init'](){const _0x34a113=this['editor']['plugins']['get'](tt),_0xe6ab84=_0x34a113['serverHistory'],_0xa51c23=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xe6ab84,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x34a113['sessionId']});const _0x6152ad=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x320d77,_0x5213e8=await _0x54be2a['isBundleUploaded'](_0xa51c23['connection'],_0x6152ad);this['editor']['plugins']['get'](_0x598ef1)['adapter']={'getRevision':async({revisionId:_0x2a8df4})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2a8df4)),'updateRevisions':async _0x568161=>{await this['_waitForServiceReady']();const _0x18ff7d=this['_revisionTracker']['currentRevision'];if(_0x5213e8&&0x1===_0x568161['length']&&_0x568161[0x0]['id']===_0x18ff7d['id'])return _0x568161;for(const _0x359c90 of _0x568161)_0x359c90['id']===_0x18ff7d['id']&&(_0x359c90['isEmptyCurrent']=_0x359c90['fromVersion']===_0x359c90['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x568161,this['_lastRequestId'])['then'](_0x8fae33=>(this['_lastRequestId']=_0x8fae33,_0x568161))['catch'](_0x953d12=>{if(pt(_0x953d12)||'400'===_0x953d12['code']&&void 0x0!==_0x953d12['data']['wrongRequestId']){for(const _0x42f9d4 of _0x568161){!this['_revisionTracker']['repository']['getRevision'](_0x42f9d4['id'])||this['_revisionTracker']['_bufferUpdate'](_0x42f9d4['id'],_0x42f9d4,!0x1);}if(pt(_0x953d12))throw _0x953d12;return _0x568161;}throw _0x953d12;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x43ccbb,{revisionsData:_0x3543dc,requestId:_0x252b94})=>{Math['max'](..._0x3543dc['map'](_0x52f7f0=>_0x52f7f0['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3543dc,_0x252b94);}):this['_handleRevisionsUpdate'](_0x3543dc,_0x252b94);});const {revisions:_0x51da75,requestId:_0x314645}=await this['_revisionHistoryService']['connect'](_0xa51c23['connection']);_0xa51c23['addToReconnectionStack'](this),this['_lastRequestId']=_0x314645,await this['_fetchMissingUsers'](_0x51da75);for(const _0x161de9 of _0x51da75)this['_revisionTracker']['addRevisionData'](_0x161de9);this['listenTo'](_0x34a113,'change:_isConnected',(_0x1698e9,_0x22131b,_0x5d3b26)=>{_0x5d3b26&&(this['_oldOffset']=_0x34a113['_offset'],_0x1698e9['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0xa51c23,'state',_0x120c64=>_0x120c64===_0x54f615['CONNECTED']);}async['reconnect'](){const _0x4117b=this['editor']['plugins']['get'](z),_0x4a7a06=this['editor']['plugins']['get'](tt),_0xc1bec1=async()=>{const _0x579aa3=this['_revisionTracker']['currentRevision'],_0x22c2a6=_0x579aa3['id'],_0x36fdaf=_0x22c2a6!==_0x4a7a06['sessionId'];if(_0x36fdaf){const _0xecc8d3=_0x4a7a06['_offset']-this['_oldOffset'],_0x25cfd6=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x579aa3['toVersion']+_0xecc8d3!==_0x25cfd6){const _0x4bcc74=_0x579aa3['fromVersion']+_0xecc8d3,_0x4166b4=this['editor']['plugins']['get'](_0x18cf17),_0x60f717=this['_revisionTracker']['buildRevisionData']({'revision':_0x579aa3,'from':_0x4bcc74,'to':_0x25cfd6});_0x60f717['id']=_0x579aa3['id'];const _0x1d8328=_0x60f717['authorsIds']['map'](_0xb849eb=>_0x4166b4['getUser'](_0xb849eb));_0x579aa3['_update']({..._0x60f717,'authors':_0x1d8328},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x579aa3['id'],_0x60f717,!0x0);}this['_revisionTracker']['_startingVersion']=_0x25cfd6,(_0x579aa3['toVersion']===_0x579aa3['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x22c2a6)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x22c2a6),this['_revisionTracker']['_createCurrentRevision'](_0x25cfd6));}const {revisions:_0x170826,requestId:_0x1f9495}=await this['_revisionHistoryService']['reconnect'](_0x4117b['connection'],this['_lastRequestId']);_0x36fdaf&&_0x170826['length']>0x0?_0x4a7a06['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x170826),this['_handleRevisionsUpdate'](_0x170826,_0x1f9495),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4a7a06['_isConnected']?_0xc1bec1():new Promise((_0x5960a6,_0x377e85)=>{_0x4a7a06['once']('change:_isConnected',()=>{_0xc1bec1()['then'](_0x5960a6)['catch'](_0x377e85);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x381072=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x42fbf9=>{_0x42fbf9['off'](),_0x381072();});});}['_getLatestVersionFromServerOperations'](){const _0x3fd1c7=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x3998d3 of _0x3fd1c7)if('marker'!==_0x3998d3['type']||_0x3998d3['affectsData'])return _0x3998d3['baseVersion']+0x1;}['_getLatestVersion'](){const _0x58fa92=this['editor']['plugins']['get'](tt);return new Promise(_0x388bd3=>{_0x58fa92['_isPendingUpdate']?_0x58fa92['once']('change:_isPendingUpdate',()=>{_0x388bd3(this['_getLatestVersionFromServerOperations']());}):_0x388bd3(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x572de8,_0x1b0b15){const _0x4249e1=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1b0b15;for(const _0x24886e of _0x572de8){const _0xe26c13=_0x4249e1['getRevision'](_0x24886e['id']);if(_0xe26c13){if((_0x24886e['fromVersion']||_0x24886e['toVersion'])&&(_0x24886e['diffData']=null),_0xe26c13===this['_revisionTracker']['currentRevision']){const _0x396eea=Math['max'](_0xe26c13['toVersion'],_0x24886e['toVersion']),_0xfd16bf=Math['max'](_0xe26c13['fromVersion'],_0x24886e['fromVersion']);let _0x5989a6;_0xe26c13['toVersion']===_0x24886e['toVersion']&&_0xe26c13['fromVersion']===_0x24886e['fromVersion']?(_0x5989a6=!0x0,this['_preventResendingRevisionData'](_0x24886e)):_0x24886e['toVersion']===_0x396eea&&_0x24886e['fromVersion']===_0xfd16bf?_0x5989a6=!0x1:(_0xe26c13['toVersion']===_0x396eea&&_0xe26c13['fromVersion']===_0xfd16bf||this['_fixRevision']({'revision':_0xe26c13,'from':_0xfd16bf,'to':_0x396eea}),_0x5989a6=!0x0),_0x5989a6&&(delete _0x24886e['fromVersion'],delete _0x24886e['toVersion'],delete _0x24886e['diffData'],delete _0x24886e['createdAt'],delete _0x24886e['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x24886e),this['_preventResendingRevisionData'](_0x24886e);}else this['_revisionTracker']['addRevisionData'](_0x24886e);}const _0x672875=_0x4249e1['getRevisions']();_0x672875['reverse']();for(let _0x45a89e=0x0;_0x45a89e<_0x672875['length']-0x1;_0x45a89e++){const _0x1511c8=_0x672875[_0x45a89e],_0x235997=_0x672875[_0x45a89e+0x1];if(_0x1511c8['fromVersion']<_0x235997['toVersion']){const _0x4da62c=_0x235997['toVersion'],_0x399443=Math['max'](_0x4da62c,_0x1511c8['toVersion']);this['_fixRevision']({'revision':_0x1511c8,'from':_0x4da62c,'to':_0x399443});}}}['_fixRevision']({revision:_0x19d360,from:_0x4f7fea,to:_0x1e25d2}={}){const _0x459229=this['editor']['plugins']['get'](_0x18cf17),_0x1a9568=this['_revisionTracker']['buildRevisionData']({'revision':_0x19d360,'from':_0x4f7fea,'to':_0x1e25d2});_0x1a9568['authors']=_0x1a9568['authorsIds']['map'](_0x39a86e=>_0x459229['getUser'](_0x39a86e)),_0x19d360['_update'](_0x1a9568);}['_preventResendingRevisionData'](_0x13a278){const _0x43f705={};_0x43f705['id']=_0x13a278['id'];for(const _0x512faf of Object['keys'](_0x13a278))'id'!==_0x512faf&&(_0x43f705[_0x512faf]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x43f705['id'],_0x43f705,!0x0);}async['_fetchMissingUsers'](_0xeecd05){const _0x14bad8=this['editor']['plugins']['get'](_0x18cf17),{connection:_0x36f60d}=this['editor']['plugins']['get'](z),_0x19e977=new Set();for(const _0x48fc67 of _0xeecd05){for(const _0x2bffe6 of _0x48fc67['authorsIds'])_0x35ea86(_0x2bffe6);_0x48fc67['creatorId']&&_0x35ea86(_0x48fc67['creatorId']);}if(0x0===_0x19e977['size'])return;const _0x5d2f1f=await _0x5f5b22['getMany'](_0x36f60d,Array['from'](_0x19e977));for(const _0x2bc97f of _0x5d2f1f)_0x14bad8['getUser'](_0x2bc97f['id'])||_0x14bad8['addUser'](_0x2bc97f);function _0x35ea86(_0x2d3c60){_0x14bad8['getUser'](_0x2d3c60)||_0x19e977['add'](_0x2d3c60);}}}function pt(_0x2db87e){return _0x2db87e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2db87e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2db87e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x19622f{static get['requires'](){return[_0x598ef1,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x5393af{['_collapseAt'];constructor(_0x1729d9,_0x1dbf01=0x6){super(_0x1729d9);const _0x2ca7af=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1dbf01,this['bind']('isHidden')['to'](this,'usersCount',_0x4cb219=>_0x4cb219<_0x1dbf01),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2ca7af['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':_0x2ca7af['to']('usersCount',_0x3e9040=>'+'+(_0x3e9040-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x5393af{['items'];['keystrokes'];constructor(_0x18fcd8){super(_0x18fcd8);const _0x2c529e=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1ced63(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2c529e['if']('hasPopup'),'aria-expanded':_0x2c529e['to']('isExpanded',_0x15e5d0=>this['hasPopup']&&String(_0x15e5d0)),'aria-label':_0x2c529e['to']('hasPopup',_0x349933=>X(_0x18fcd8,_0x349933?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2c529e['to']('hasPopup',_0x384c16=>!!_0x384c16&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2c529e['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2c529e['to'](_0x464115=>{const _0x24dc09=_0x464115,_0x776b2e=document['querySelector']('.ck-presence-list__dropdown-list'),_0x461c7b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x776b2e?.['contains'](_0x24dc09['relatedTarget'])||_0x461c7b?.['contains'](_0x24dc09['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x5725cf,_0x276d2e,_0x3cc406)=>{this['element']&&(_0x3cc406?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 _0x5393af{['counterView'];['inlineListView'];constructor(_0x1de803,_0x392f32=0x6){super(_0x1de803);const _0x5beaa2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x392f32),this['inlineListView']=new vt(_0x1de803),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x36c92 of this['inlineListView']['items'])_0x36c92['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',_0x5beaa2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x5393af{['listWrapperView'];constructor(_0x38abe5,_0xe0e0eb){super(_0x38abe5);const _0x2e89a8=this['bindTemplate'];this['listWrapperView']=new bt(_0x38abe5,_0xe0e0eb),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x38abe5,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2e89a8['to'](_0x1fa6e4=>{const _0x4d0305=_0x1fa6e4,_0x51731b=document['querySelector']('.ck-presence-list__list'),_0x45a841=document['querySelector']('.ck-balloon-panel_with-arrow');_0x51731b?.['contains'](_0x4d0305['relatedTarget'])||_0x45a841?.['contains'](_0x4d0305['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0xe551d3{constructor(_0x17ca41,_0x57714c){super(_0x17ca41);const _0x1962ce=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x57714c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1962ce['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1962ce['to']('role'),'aria-label':_0x1962ce['to']('ariaLabel'),'aria-labelledby':_0x1962ce['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1ac0d1['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x53f78e=this['element'];_0x53f78e&&(this['_isScrollable']=Math['max'](_0x53f78e['scrollHeight'],_0x53f78e['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x40b324{['userView'];constructor(_0x58cfac,_0x3655d3,_0x4c43ba){super(_0x58cfac);const _0x2f4c81=this['bindTemplate'];this['userView']=new _0x29988c(_0x58cfac,_0x3655d3);const _0x4087b0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x3655d3['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x3655d3['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3655d3['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3655d3['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3655d3['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4c43ba&&(_0x4087b0['tag']='button',_0x4087b0['on']={'click':_0x2f4c81['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4087b0);}['focus'](){this['element']['focus']();}}class It extends _0x5393af{['userView'];['markerView'];constructor(_0x40deb7,_0x31f2f9,_0x1fec5b){super(_0x40deb7);const _0x1fde0c=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x29988c(_0x40deb7,_0x31f2f9),this['markerView']=new St(_0x40deb7,_0x31f2f9);const _0x3bf137=new _0x3ae632(_0x40deb7);_0x3bf137['template']['tag']='span',_0x3bf137['text']=_0x31f2f9['name'];const _0x3969df={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1fde0c['to']('isFocusable',_0x34eb84=>!!_0x34eb84&&0x0),'aria-labelledby':_0x3bf137['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1fde0c['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1fde0c['to']('hasTooltip',_0x13e8c8=>!_0x13e8c8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3bf137]};_0x1fec5b&&(_0x3969df['tag']='button',_0x3969df['on']={'click':_0x1fde0c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3969df);}}class St extends _0x5393af{constructor(_0x273ea6,_0x2fe090){super(_0x273ea6),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2fe090['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2fe090['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2fe090['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x1fad56{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3e93f6){super(_0x3e93f6),this['context']['config']['define']('presenceList',Tt);const _0x1e1725=_0x3e93f6['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1e1725)throw new _0x22c7bf('presencelist-collapseat-invalid-format',this);if(_0x1e1725<0x1)throw new _0x22c7bf('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x10ebb7(),this['balloonPanelView']=new _0x5489ef(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1c1004 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1c1004);this['listenTo'](this['_allConnectedUsers'],'add',(_0x27a466,_0x55bc94)=>{this['_handleUserAdd'](_0x55bc94);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xdb9603,_0x32eb46)=>{this['_handleUserRemove'](_0x32eb46);});}['_createView'](){const _0x4640fb=this['context'],_0x42b9d6=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x9abff3=this['balloonPanelView'];if(!_0x47c2eb(_0x4640fb['config']['get']('presenceList.container')))throw new _0x22c7bf('presencelist-missing-container',this);return _0x42b9d6['counterView']['bind']('usersCount')['to'](this),_0x42b9d6['bind']('isCollapsed')['to'](this,'usersCount',_0x2264ff=>{const {collapseAt:_0x3dc459}=_0x4640fb['config']['get']('presenceList'),_0x5e670c=_0x2264ff>=_0x3dc459;if(_0x5e670c&&!_0x42b9d6['inlineListView']['items']['find'](_0x5e7221=>_0x5e7221 instanceof wt)){const _0x29acbc=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x29acbc&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x42b9d6['inlineListView']['items']['add'](_0x42b9d6['counterView']);}return _0x5e670c||this['hideDropdown'](),_0x5e670c;}),_0x42b9d6['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4e5a23=>{const _0x1a8a45=_0x4640fb['config']['get']('presenceList'),_0x3a2756=new It(_0x4640fb['locale'],_0x4e5a23,!!_0x1a8a45['onClick']);return _0x3a2756['bind']('hasTooltip')['to'](_0x42b9d6,'isCollapsed',_0x30e4e4=>!_0x30e4e4),_0x3a2756['bind']('isFocusable')['to'](_0x42b9d6,'isCollapsed',_0x47e8bb=>!_0x47e8bb),_0x1a8a45['onClick']&&this['listenTo'](_0x3a2756,'execute',()=>{this['view']['isCollapsed']||_0x1a8a45['onClick'](_0x4e5a23,_0x3a2756['element']);}),_0x3a2756;}),this['listenTo'](_0x42b9d6['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x42b9d6['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x42b9d6['inlineListView']['keystrokes']['set']('Enter',(_0x42883b,_0x2e0685)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2e0685());}),_0x42b9d6['render'](),_0x9abff3['render'](),_0xde9cd3({'emitter':_0x42b9d6,'activator':()=>_0x9abff3['isVisible'],'contextElements':[_0x9abff3['element'],_0x42b9d6['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4640fb['config']['get']('presenceList.container')['appendChild'](_0x42b9d6['element']),this['_bodyCollection']=new _0x266491(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x42b9d6;}['_handleUserAdd'](_0x4642a4){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4642a4['isMe'])return;const _0x322dbe=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x322dbe-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4ff68a=_0x4642a4['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4642a4,_0x4ff68a);}['_handleUserRemove'](_0x5deebe){this['usersCount']--;const {collapseAt:_0x327947}=this['context']['config']['get']('presenceList'),_0x131a27=this['usersCount']>=_0x327947;if(this['currentDisplayedUsers']['get'](_0x5deebe['id']))this['currentDisplayedUsers']['remove'](_0x5deebe['id']);else{if(_0x131a27&&this['currentDisplayedUsers']['length']+0x1===_0x327947-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x131a27?0x1:0x0)<this['usersCount']){for(const _0xe3615f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xe3615f['id'])&&(this['currentDisplayedUsers']['add'](_0xe3615f,Math['min'](this['currentDisplayedUsers']['length']-(_0x131a27?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x131a27?0x1:0x0)===_0x327947-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x26ca2f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x26ca2f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1c07a4}=this['presenceDropdownView'];_0x1c07a4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1eac2c=>{if(!_0x26ca2f['displayMe']&&_0x1eac2c['isMe'])return null;const _0x3a7497=new kt(this['context']['locale'],_0x1eac2c,!!_0x26ca2f['onClick']);return _0x26ca2f['onClick']&&this['listenTo'](_0x3a7497,'execute',()=>{_0x26ca2f['onClick'](_0x1eac2c,_0x3a7497['element']);}),_0x3a7497;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1c07a4['focus'](),_0x1c07a4['checkIfScrollable']();const _0x46500e=(_0x5e796c,_0x4a877b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4a877b();};_0x1c07a4['keystrokes']['set']('Esc',_0x46500e),_0x1c07a4['keystrokes']['set']('Shift+Tab',_0x46500e),_0x1c07a4['keystrokes']['set']('Tab',(_0x4212f0,_0x3e4bff)=>{!function(_0x15dfeb){const _0x58cee3=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x46e891=>_0x46e891+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x734b72=[...document['body']['querySelectorAll'](_0x58cee3)]['filter'](_0x1bb4bd=>_0x1bb4bd===document['activeElement']||_0x1bb4bd['offsetWidth']+_0x1bb4bd['offsetHeight']>0x0)['sort']((_0x4317c7,_0x31fd98)=>(_0x4317c7['tabIndex']||0x0)-(_0x31fd98['tabIndex']||0x0)),_0x42c46f=_0x734b72['indexOf'](_0x15dfeb),_0x18a45b=_0x734b72[(_0x42c46f+0x1)%_0x734b72['length']];_0x18a45b&&_0x18a45b['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3e4bff();}),_0x1c07a4['focusTracker']['add'](this['view']['element']),_0x1c07a4['focusTracker']['on']('change:isFocused',(_0x3c6561,_0x47ec6c,_0x35b59e)=>{_0x35b59e||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 _0x1fad56{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 _0xd5d5b2,Plugin as _0x103d19,PendingActions as _0x3c2905,Context as _0x38e411}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xd71770,CKEditorError as _0x36cefd,Collection as _0x16227b,global as _0x3fbed8,version as _0x2acad4,uid as _0x53a8dc,KeystrokeHandler as _0x1cfe84}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x486fab,View as _0x2a2968,ListView as _0x468e3,ListItemView as _0xd98646,LabelView as _0x20fd6e,BalloonPanelView as _0x17c136,clickOutsideHandler as _0x2a391d,BodyCollection as _0x42e011}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4ff929,History as _0x191eb3,NoOperation as _0x2d08e1,InsertOperation as _0x20f193,MarkerOperation as _0x3dbdcf,RootAttributeOperation as _0x3a6612,transformOperationSets as _0x35557e,OperationFactory as _0x20d617}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x47bcfb}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x12e82b,WEB_SOCKET_GATEWAY_STATES as _0x7dc889,CollaborativeEditingService as _0x5c662e,User as _0xd44d9a,CommentsService as _0x31fab9,TrackChangesService as _0x22d399,RevisionHistoryService as _0x14354c,EditorService as _0x12fc8b}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x15efd7,UserView as _0x5e59a8}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x217bc1}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x4a88e5,TrackChanges as _0x4da260}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x44cbfd,Comments as _0x32965a,CommentsEditing as _0x10c30c}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x54aa5a}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x6c004d}from'es-toolkit/compat';class z extends _0xd5d5b2{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x12e82b)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x47bcfb,_0x486fab];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdcac55){super(_0xdcac55),this['set']('state',_0x7dc889['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0xd71770())();}['init'](){const _0x335fef=this['context'],_0x3a80b8=_0x335fef['plugins']['get'](_0x47bcfb),_0x3519e5=_0x335fef['plugins']['get'](_0x486fab);if(!_0x3a80b8['token'])throw new _0x36cefd('websocketgateway-missing-token',this);if(!_0x3a80b8['webSocketUrl'])throw new _0x36cefd('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'](_0x3a80b8['token'],_0x3a80b8['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5adbe8=>{if(this['connection']=_0x5adbe8,this['bind']('state')['to'](_0x5adbe8,'state',this,'_isBrowserOffline',(_0x2c3b5d,_0x3e941f)=>('connected'!==_0x2c3b5d&&(this['_shouldPluginsReconnect']=!0x0),_0x3e941f||_0x2c3b5d!==_0x7dc889['CONNECTED']?_0x7dc889['DISCONNECTED']:this['state']==_0x7dc889['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x7dc889['CONNECTING']):_0x7dc889['CONNECTED'])),this['connection']['on']('error',(_0x3010a5,_0x4f8244)=>{if('limitExceeded'!==_0x4f8244['code'])throw console['error'](_0x4f8244),new _0x36cefd('cloudservices-init',null,{'originalError':_0x4f8244});_0x3519e5['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'});}),!_0x5adbe8['me'])return new Promise(_0x3e6e4e=>_0x5adbe8['on']('change:me',_0x3e6e4e));})['catch'](_0x1a2dcc=>{throw console['error'](_0x1a2dcc),new _0x36cefd('cloudservices-init',null,{'originalError':_0x1a2dcc});});}['addToReconnectionStack'](_0x317779){if('function'!=typeof _0x317779['reconnect'])throw new _0x36cefd('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x317779))throw new _0x36cefd('websocketgateway-plugin-already-registered',this,{'name':_0x317779['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x317779);}['removeFromReconnectionStack'](_0x18f7bd){this['_reconnectionStack']['delete'](_0x18f7bd);}['isInReconnectionStack'](_0xa3ba2d){return this['_reconnectionStack']['has'](_0xa3ba2d);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x21a288=>_0x21a288['reconnect']())))['then'](()=>this['state']=_0x7dc889['CONNECTED'])['catch'](_0xd50a50=>{throw console['error'](_0xd50a50),new _0x36cefd('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x7dc889['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xd5d5b2{['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,_0x15efd7];}constructor(_0x59ca05){super(_0x59ca05),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x16227b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x15efd7);}['init'](){const _0x14cd53=this['context']['plugins']['get'](z);this['listenTo'](_0x14cd53,'change:state',(_0x483c73,_0x33e9fe,_0x197965)=>{if('connected'!==_0x197965)this['channelSessions']['forEach'](_0x26713c=>_0x26713c['clear']()),this['channelConnectedUsers']['forEach'](_0x36264f=>_0x36264f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x57f674,_0x582717]of this['_registeredSessions'])for(const _0x423438 of _0x582717)this['_handleSessionAdd'](_0x57f674,_0x423438);}}),this['_createUser'](_0x14cd53['connection']['me'],!0x0);}['register'](_0x54d7da,_0x366dde){if(this['_registeredSessions']['has'](_0x54d7da))throw new _0x36cefd('sessions-register-already-registered',null,{'channelId':_0x54d7da});this['_registeredSessions']['set'](_0x54d7da,_0x366dde),this['channelSessions']['set'](_0x54d7da,new _0x16227b()),this['channelConnectedUsers']['set'](_0x54d7da,new _0x16227b()),this['listenTo'](_0x366dde,'add',(_0x15da12,_0x21caf9)=>this['_handleSessionAdd'](_0x54d7da,_0x21caf9)),this['listenTo'](_0x366dde,'remove',(_0x42655f,_0x5c8c22)=>this['_handleSessionRemove'](_0x54d7da,_0x5c8c22));for(const _0xc86c4d of _0x366dde)this['_handleSessionAdd'](_0x54d7da,_0xc86c4d);}['unregister'](_0x11578b){if(!this['_registeredSessions']['has'](_0x11578b))throw new _0x36cefd('sessions-unregister-not-exist',null,{'channelId':_0x11578b});const _0x3cfbfc=this['_registeredSessions']['get'](_0x11578b);this['stopListening'](_0x3cfbfc);for(const _0x41d749 of _0x3cfbfc)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x11578b,_0x41d749);this['_registeredSessions']['delete'](_0x11578b),this['channelSessions']['delete'](_0x11578b),this['channelConnectedUsers']['delete'](_0x11578b);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x526eff){for(const _0x220392 of this['channelSessions']['values']())for(const _0x2f4533 of _0x220392)if(_0x2f4533['id']===_0x526eff)return _0x2f4533['user'];}['getUserSessions'](_0x2d788f,_0x1d67ab){const _0x3c71ac=_0x1d67ab?[this['channelSessions']['get'](_0x1d67ab)]:this['channelSessions']['values'](),_0xa1bb2f=new Set();for(const _0x3a664d of _0x3c71ac)for(const _0x20fae5 of _0x3a664d)_0x20fae5['user']['id']===_0x2d788f['id']&&_0xa1bb2f['add'](_0x20fae5['id']);return _0xa1bb2f;}['getUserRole'](_0xb01908){for(const _0x47836f of this['channelSessions']['values']())for(const _0x3d3ac2 of _0x47836f)if(_0x3d3ac2['user']===_0xb01908)return _0x3d3ac2['role'];}['_handleSessionAdd'](_0x2eab6d,_0x1222b7){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x493f03=_0x1222b7['user'],_0x5da9e5=this['_users']['getUser'](_0x493f03['id'])||this['_createUser'](_0x493f03),_0x3fec5=Object['assign']({},_0x1222b7,{'user':_0x5da9e5});if(this['channelSessions']['get'](_0x2eab6d)['add'](_0x3fec5),!_0x493f03['hiddenInPresenceList']){const _0x177c50=this['channelConnectedUsers']['get'](_0x2eab6d);_0x177c50['has'](_0x5da9e5['id'])||_0x177c50['add'](_0x5da9e5),this['allConnectedUsers']['has'](_0x5da9e5['id'])||_0x493f03['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5da9e5,_0x5da9e5['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2eab6d,{'channelId':_0x2eab6d,'session':_0x3fec5});}['_handleSessionRemove'](_0x2177c5,_0x7dc9e9){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4b485b=this['channelConnectedUsers']['get'](_0x2177c5),_0x456876=_0x7dc9e9['user'];_0x456876['id']&&(this['channelSessions']['get'](_0x2177c5)['remove'](_0x7dc9e9['id']),_0x4b485b['has'](_0x456876['id'])&&!this['getUserSessions'](_0x456876,_0x2177c5)['size']&&_0x4b485b['remove'](_0x456876['id']),this['allConnectedUsers']['get'](_0x456876['id'])&&!this['getUserSessions'](_0x456876)['size']&&this['allConnectedUsers']['remove'](_0x456876['id']));}['_createUser'](_0x14ac16,_0x5be6fb){const _0x323996=this['_users']['addUser'](_0x14ac16);return _0x5be6fb&&this['_users']['defineMe'](_0x14ac16['id']),_0x323996['orderNumber']=this['_uniqueUsersCount']++,_0x323996;}}class K extends _0x103d19{['_domEmitter']=new(_0xd71770())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xee9df=this['editor'],_0x432cd6=_0xee9df['plugins']['get'](Y);_0xee9df['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x19c9e2,{writer:_0x34ea14})=>function(_0x1ce9ee,_0x106447,_0x4cff88,_0x137df5){const _0x4a1101=_0x1ce9ee['markerName']['split'](':')[0x2],_0x53a32b=_0x4cff88['getUserBySessionId'](_0x4a1101);if(!_0x53a32b||_0x4a1101===_0x4cff88['mySessionId'])return;if(!_0x137df5['model']['schema']['checkChild'](_0x1ce9ee['markerRange']['start'],'$text'))return;const _0x38f23d={'class':'ck-user__marker\x20'+_0x53a32b['color']['getMarkerClass'](),'style':Q(_0x53a32b),'data-name':_0x53a32b['name'],'data-session-id':_0x4a1101},_0x3ee2bf=_0x137df5['model']['markers']['get'](_0x1ce9ee['markerName']),_0x578a94=_0x3ee2bf['getStart'](),_0x5b5b1b=_0x578a94['nodeAfter'],_0x148d18=_0x137df5['model']['schema'];if(_0x5b5b1b&&_0x148d18['isObject'](_0x5b5b1b)&&_0x148d18['isInline'](_0x5b5b1b)&&!_0x137df5['model']['markers']['get']('user:range:'+_0x4a1101)['getRange']()['isCollapsed'])return;const _0xdcb3c3=_0x578a94['parent'];return _0x137df5['model']['schema']['isLimit'](_0xdcb3c3)&&!_0x137df5['model']['hasContent'](_0xdcb3c3)&&(_0x38f23d['contenteditable']=!0x1),function(_0x11fe0b,_0x40a00,_0x14030b){const _0x13e01a=_0x11fe0b['createUIElement']('span',_0x40a00);return _0x11fe0b['setCustomProperty']('userPositionMarker',!0x0,_0x13e01a),_0x13e01a['render']=function(_0x1d0970){const _0x369baf=this['toDomElement'](_0x1d0970),_0x54f5a9=document['createElement']('span');return _0x54f5a9['classList']['add']('ck-user__marker-tooltip'),_0x54f5a9['setAttribute']('contenteditable','false'),_0x54f5a9['setAttribute']('spellcheck','false'),_0x54f5a9['textContent']=_0x14030b['name'],_0x369baf['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x54f5a9['outerHTML']+'⁠',_0x369baf['addEventListener']('mouseenter',()=>{_0x369baf['classList']['add']('ck-user__marker_hovered');}),_0x369baf['addEventListener']('mouseleave',()=>{_0x369baf['classList']['remove']('ck-user__marker_hovered');}),_0x369baf;},_0x13e01a['isSimilar']=function(_0x1413b2){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1413b2['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1413b2['getAttribute']('data-session-id'));},_0x13e01a;}(_0x106447,_0x38f23d,_0x53a32b);}(_0x19c9e2,_0x34ea14,_0x432cd6,_0xee9df)}),_0xee9df['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x462370=>function(_0x4c6980,_0x67dbf9){const _0x3df424=_0x4c6980['markerName']['split'](':')[0x2];if(_0x3df424===_0x67dbf9['mySessionId'])return null;const _0x58b8f2=_0x67dbf9['getUserBySessionId'](_0x3df424);if(!_0x58b8f2)return{'id':_0x3df424,'classes':[]};return{'id':_0x3df424,'classes':['ck-user__selection',_0x58b8f2['color']['getSelectionClass']()],'attributes':{'style':Q(_0x58b8f2),'data-session-id':_0x3df424},'priority':0x7d0+_0x58b8f2['orderNumber']};}(_0x462370,_0x432cd6)}),function(_0x50bc6b){const _0x34e350=_0x50bc6b['model'],_0x50d4bf=new Map(),_0x583969=_0x50bc6b['plugins']['get'](Y);_0x34e350['markers']['on']('update:user:range',(_0x184c35,_0x2c35df,_0x43036b,_0x3658d5)=>{if(!_0x3658d5&&_0x50d4bf['get'](_0x2c35df['name']))return _0x50d4bf['get'](_0x2c35df['name'])['detach'](),void _0x50d4bf['delete'](_0x2c35df['name']);const _0x526f68=_0x2c35df['name']['split'](':')[0x2];if(_0x526f68===_0x583969['mySessionId'])return;const _0x2b6b40='user:position:'+_0x526f68;_0x34e350['markers']['has'](_0x2b6b40)&&_0x50bc6b['editing']['reconvertMarker'](_0x2b6b40),_0x2c35df['on']('change:range',(_0x18bc6d,_0x4857b0,_0x2dd8f8)=>{if('$graveyard'!=_0x4857b0['root']['rootName']&&'$graveyard'==_0x2c35df['getRange']()['root']['rootName']&&!_0x50d4bf['has'](_0x2c35df['name'])){const _0xf067fb=_0x34e350['schema']['getNearestSelectionRange'](_0x2dd8f8['deletionPosition']);if(_0xf067fb){const _0x56e6c7=_0x4ff929['fromRange'](_0xf067fb);_0x50d4bf['set'](_0x2c35df['name'],_0x56e6c7),_0x56e6c7['on']('change:range',(_0x2aea8a,_0x3c392a,_0x29ac0e)=>{if('$graveyard'==_0x56e6c7['root']['rootName']){const _0x1c44cd=_0x34e350['schema']['getNearestSelectionRange'](_0x29ac0e['deletionPosition']);_0x1c44cd?(_0x56e6c7['start']=_0x1c44cd['start'],_0x56e6c7['end']=_0x1c44cd['end']):(_0x50d4bf['delete'](_0x2c35df['name']),_0x56e6c7['detach']());}});}}});}),_0x34e350['document']['on']('change',()=>{_0x50d4bf['size']>0x0&&_0x34e350['enqueueChange']({'isUndoable':!0x1},_0xd9513=>{for(const [_0x211d40,_0x5c5451]of _0x50d4bf)'$graveyard'==_0x34e350['markers']['get'](_0x211d40)['getRange']()['root']['rootName']&&(J(_0x211d40['split'](':')[0x2],_0x5c5451['toRange'](),_0x34e350,_0xd9513),_0x5c5451['detach']());_0x50d4bf['clear']();});});}(_0xee9df),this['_domEmitter']['listenTo'](_0x3fbed8['document'],'keydown',(_0xd756dc,{key:_0x2f8562})=>{'Escape'===_0x2f8562&&function(_0x55bb01){_0x55bb01['editing']['view']['change'](_0x3b2705=>{for(const _0x3cc2c5 of _0x55bb01['model']['markers']){if(!_0x3cc2c5['name']['startsWith']('user:position'))continue;const _0xc0f372=_0x55bb01['editing']['mapper']['markerNameToElements'](_0x3cc2c5['name']);if(_0xc0f372){for(const _0x2a9b75 of _0xc0f372)_0x3b2705['removeClass']('ck-user__marker_hovered',_0x2a9b75);}}});}(_0xee9df);},{'useCapture':!0x0});}['afterInit'](){const _0x3dc7c4=this['editor'],_0x496dcb=_0x3dc7c4['commands']['get']('undo');_0x496dcb&&_0x3dc7c4['model']['on']('applyOperation',(_0x42831d,_0x137418)=>{const _0x4cc2e9=_0x137418[0x0];if(!_0x4cc2e9['isDocumentOperation'])return;if('marker'!=_0x4cc2e9['type']||!_0x4cc2e9['name']['startsWith']('user:'))return;const _0x2d9fc7=_0x4cc2e9['batch'];_0x496dcb['_createdBatches']['has'](_0x2d9fc7)&&(_0x4cc2e9['newRange']=_0x4cc2e9['oldRange']?_0x3dc7c4['model']['createRange'](_0x4cc2e9['oldRange']['start'],_0x4cc2e9['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1aaaa1=this['editor'],_0x284512=_0x1aaaa1['model']['document'],_0x330764=_0x1aaaa1['plugins']['get'](Y);_0x1aaaa1['model']['enqueueChange']({'isUndoable':!0x1},_0x57ac4d=>{const _0x504140='user:range:'+_0x330764['mySessionId'],_0x108f79='user:position:'+_0x330764['mySessionId'],_0x389b3b=_0x1aaaa1['model']['markers']['has'](_0x504140);_0x1aaaa1['editing']['view']['hasDomSelection']?J(_0x330764['mySessionId'],_0x284512['selection']['getFirstRange'](),_0x1aaaa1['model'],_0x57ac4d):_0x389b3b&&(_0x57ac4d['removeMarker'](_0x504140),_0x57ac4d['removeMarker'](_0x108f79));});}}function J(_0x1111b2,_0xdf3a71,_0x34e0d6,_0x332c94){const _0x584ef2='user:range:'+_0x1111b2,_0x3699d6='user:position:'+_0x1111b2,_0x59c60f=_0xdf3a71['getContainedElement']();let _0x370965=_0xdf3a71['start'];if(_0x59c60f&&_0x59c60f['is']('element','tableCell')){const _0x2cdfe5=function(_0x49587d,_0x316a0f){for(const _0x521a8c of _0x49587d['getPositions']())if(_0x316a0f['schema']['checkChild'](_0x521a8c,'$text'))return _0x521a8c;}(_0xdf3a71,_0x34e0d6);_0x2cdfe5&&(_0x370965=_0x2cdfe5,_0xdf3a71=_0x332c94['createRange'](_0x370965));}const _0x48db49=_0x332c94['createRange'](_0x370965);_0x34e0d6['markers']['has'](_0x584ef2)?(_0x332c94['updateMarker'](_0x584ef2,{'range':_0xdf3a71}),_0x332c94['updateMarker'](_0x3699d6,{'range':_0x48db49})):(_0x332c94['addMarker'](_0x584ef2,{'range':_0xdf3a71,'usingOperation':!0x0}),_0x332c94['addMarker'](_0x3699d6,{'range':_0x48db49,'usingOperation':!0x0}));}function Q(_0x321a15){return'--ck-user-color:'+_0x321a15['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x321a15['color']['getColorAlphaVariable']()+';';}function X(_0x596ad2,_0x212cde,_0x554b0c){const _0x5e6171=_0x596ad2['t'],t=_0x596ad2['t'];switch(_0x212cde){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 _0x5e6171({'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'},_0x554b0c);default:return'';}}let Z=0x1;class tt extends _0x103d19{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x5c662e)());['_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,_0x3c2905,_0x15efd7,_0x486fab];}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 _0x8860e7=this['serverHistory']['getOperations']();for(let _0x267c2b=_0x8860e7['length']-0x1;_0x267c2b>=0x0;_0x267c2b--){const _0x389bd7=_0x8860e7[_0x267c2b];if(!this['_disconnectionOperations']['has'](_0x389bd7))return _0x389bd7['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3770ac){if(super(_0x3770ac),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x191eb3(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x36cefd('collaboration-missing-channelid',this);const _0x332cf9=_0x3770ac['config']['get']('cloudServices.bundleVersion')||_0x2acad4;this['_service']=new tt['CollaborativeEditingService'](_0x332cf9,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x217bc1(),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 _0x3fe6c2=this['editor'],_0xfec6cc=_0x3fe6c2['plugins']['get'](_0x15efd7),_0x3850b2=_0x3fe6c2['plugins']['get'](z);this['listenTo'](_0xfec6cc,'getOperationAuthor',(_0x5f52e5,_0x4c6df3)=>{const _0x309d73=_0x4c6df3[0x0];_0x309d73['_authorId']&&(_0x5f52e5['return']=_0xfec6cc['getUser'](_0x309d73['_authorId']),_0x5f52e5['stop']()),null===_0x309d73['_authorId']&&(_0x5f52e5['return']=null,_0x5f52e5['stop']());},{'priority':'high'}),this['listenTo'](_0x3fe6c2['model']['document']['selection'],'change:range',(_0x52f46d,_0x2fedbb)=>{_0x2fedbb['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3fe6c2['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3fe6c2['model']['on']('applyOperation',(_0x5a9a42,_0x101a37)=>{const _0x585466=_0x101a37[0x0];_0x585466['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x585466),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3850b2,'state',this,'_hasSynchronizationProblem',(_0x98040d,_0x1a5ce4)=>'connected'===_0x98040d&&!_0x1a5ce4),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3fe6c2['disableReadOnlyMode']('rtc-offline'):_0x3fe6c2['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3fe6c2['disableReadOnlyMode']('rtc-offline'):_0x3fe6c2['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x35e375=this['editor']['plugins']['get'](Y),_0x3dc769=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x35e375['unregister'](this['_channelId']);const _0x11db62=await this['_service']['reconnect'](_0x3dc769['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x11db62)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x18e108=await this['_service']['getConnectedSessions']();_0x35e375['register'](this['_channelId'],_0x18e108),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x301f42){if(function(_0x4176f2){return'404'===_0x4176f2['code'];}(_0x301f42)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x14fcb7){return'409'===_0x14fcb7['code'];}(_0x301f42)){const _0x530dfe=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'](_0x530dfe);}else{if(!(_0x301f42 instanceof et))throw _0x301f42;this['_handleReconnectionError']();}}}}['destroy'](){const _0xece0b9=this['editor']['plugins']['get'](z),_0x3a2107=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3a2107['channelSessions']['has'](this['_channelId'])&&_0x3a2107['unregister'](this['_channelId']),_0xece0b9['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x229d65){if(this['sessionId']!==_0x229d65['sessionId']&&this['_lastSyncedOperationId']!==_0x229d65['lastOperationId'])throw new et();return this['sessionId']=_0x229d65['sessionId'],this['_handleServerResponse']([],{..._0x229d65,'wereChangesApplied':!0x1,'data':_0x229d65['data']},'reconnect');}async['_connectService'](_0x300a9a,_0x328114=!0x1){const {connection:_0x1292b2}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x1292b2,this['_channelId'])['then'](_0x1641df=>this['_initSessionsHandling'](_0x1641df))['catch'](_0x14a4fd=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x14a4fd);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2c0561,_0x3acc35)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3acc35);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5bce10=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x300a9a);this['_isPendingUpdate']=!0x0;const _0xccef2c=await this['_service']['connect'](_0x1292b2,this['_compressOperations'](_0x300a9a),_0x5bce10);if(this['sessionId']=_0xccef2c['sessionId'],_0x328114){if(!_0xccef2c['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xccef2c['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x300a9a,_0xccef2c,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xccef2c,_0x300a9a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x116f75=this['editor']['plugins']['get'](Y),_0x9a1cd4=this['editor']['plugins']['get'](K),_0x30ad7a=_0x116f75['channelSessions']['get'](this['_channelId']);_0x30ad7a&&_0x30ad7a['length']>0x1?_0x9a1cd4['createUserMarkerOperations']():this['listenTo'](_0x116f75,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x116f75['channelSessions']['get'](this['_channelId'])['length']&&_0x9a1cd4['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3fe13d,_0x1fb7b5,_0x48b3d1,_0x5a3c29){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1fb7b5){const _0x48721c=this['_decompressOperations'](_0x48b3d1,_0x5a3c29);await this['_fetchMissingUsers'](_0x48721c),this['_handleExternalOperations'](_0x48721c,_0x1fb7b5,_0x48b3d1['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3b1067}=this['editor'];let _0x2d7e2a;try{_0x2d7e2a=await this['_service']['getDocumentDetails']();}catch{const _0x241477=X(_0x3b1067,'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'](_0x241477);}const _0x581ba7=_0x2d7e2a['currentDocumentSession']||_0x2d7e2a['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x581ba7['lastOperationId']){const _0x27579c=X(_0x3b1067,'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'](_0x27579c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x58330a){const _0x1f414a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x1f414a,'sessionAdd:'+this['_channelId'],(_0x4bf459,{session:_0x14ac33})=>{if(_0x14ac33['id']===_0x1f414a['mySessionId']){_0x4bf459['off']();const _0x593c78=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4f8d67=_0x14ac33['permissions'];_0x593c78&&_0x593c78['isEnabled']&&(_0x4f8d67=_0x4f8d67['filter'](_0x326d54=>'document:write'!==_0x326d54)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4f8d67,this['_channelId']);}}),_0x1f414a['register'](this['_channelId'],_0x58330a);}['_initThrowingOnDataSet'](){const _0x5f2dbe=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x33fab0)=>{if(!_0x33fab0[_0x33fab0['length']-0x1]['suppressErrorInCollaboration'])throw new _0x36cefd('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5f2dbe['apply'](this['editor']['data'],_0x33fab0);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5c8079,[_0x262c94])=>{if(this['_document']['version'])throw new _0x36cefd('realtimecollaborationclient-init-document-already-initialized',this);_0x5c8079['stop'](),this['_setPendingAction']();const _0x4abc0a=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2f2692])=>!_0x2f2692['lazyLoad'])['map'](([_0x14e5d6,_0x403a69])=>[_0x14e5d6,_0x403a69['modelAttributes']||{}])),_0x58cb40=this['_getOperationsFromInitData'](_0x262c94,_0x4abc0a);0x0==_0x58cb40['length']&&_0x58cb40['push'](new _0x2d08e1(0x0)),_0x5c8079['return']=this['_connectService'](_0x58cb40)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3638a8=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3638a8))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xbaafc6,[_0x2cd583,_0x58258d])=>{_0xbaafc6['stop']();const _0x3f3828=this['editor']['model']['document']['getRoot'](_0x2cd583);if(!this['_knownRootNames']['has'](_0x2cd583)){const _0x3af57e=_0x58258d&&_0x58258d['data']?_0x58258d['data']:'',_0x33a6b2=_0x58258d&&_0x58258d['attributes']?_0x58258d['attributes']:{};await this['_loadRoot'](_0x2cd583,_0x3af57e,_0x33a6b2);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3f3828['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3f3828);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x40cb6b){const _0x33b954=this['editor']['plugins']['get'](_0x15efd7),{connection:_0x5612f6}=this['editor']['plugins']['get'](z),_0x4d4fc5=new Set();for(const _0x46d8bf of _0x40cb6b){const _0x2350c5=_0x46d8bf['_authorId'];_0x2350c5&&!_0x33b954['getUser'](_0x2350c5)&&_0x4d4fc5['add'](_0x2350c5);}if(0x0===_0x4d4fc5['size'])return;const _0x366194=await _0xd44d9a['getMany'](_0x5612f6,Array['from'](_0x4d4fc5));for(const _0x28f316 of _0x366194)_0x33b954['getUser'](_0x28f316['id'])||_0x33b954['addUser'](_0x28f316);}['_getOperationsFromInitData'](_0x58f30c,_0x2a00e0={}){const _0x2d93c3=this['editor']['model'],_0x3c40dc=[];let _0x1128c8=0x0;const _0x53d2fa='string'==typeof _0x58f30c?{'main':_0x58f30c}:_0x58f30c;for(const _0x324734 of Object['keys'](_0x53d2fa)){if(!this['_document']['roots']['has'](_0x324734))throw new _0x36cefd('realtimecollaborationclient-init-non-existent-root',this);const _0x2c2cd2=this['editor']['data']['parse'](_0x53d2fa[_0x324734]),_0x554178=this['_document']['getRoot'](_0x324734),_0x2dbff0=new _0x20f193(_0x2d93c3['createPositionAt'](_0x554178,0x0),_0x2c2cd2,_0x1128c8++);_0x3c40dc['push'](_0x2dbff0);for(const [_0x4e0799,_0x1c87f1]of _0x2c2cd2['markers']){const _0x5e0878=_0x2d93c3['createRange'](_0x2d93c3['createPositionFromPath'](_0x554178,_0x1c87f1['start']['path']['slice']()),_0x2d93c3['createPositionFromPath'](_0x554178,_0x1c87f1['end']['path']['slice']())),_0x18142f=new _0x3dbdcf(_0x4e0799,null,_0x5e0878,_0x2d93c3['markers'],!0x0,_0x1128c8++);_0x3c40dc['push'](_0x18142f);}}if(_0x2a00e0)for(const [_0x3775b2,_0x119e4d]of Object['entries'](_0x2a00e0)){const _0x363f56=_0x2d93c3['document']['getRoot'](_0x3775b2);if(!_0x363f56)throw new _0x36cefd('multi-root-editor-root-attributes-no-root',null);for(const [_0x2195b8,_0x44cbed]of Object['entries'](_0x119e4d))if(null!==_0x44cbed){const _0x2090c2=new _0x3a6612(_0x363f56,_0x2195b8,null,_0x44cbed,_0x1128c8++);_0x3c40dc['push'](_0x2090c2);}}return _0x3c40dc;}async['_loadRoot'](_0x4cca50,_0x327fa8,_0x288ebe){this['_getOperationsFromInitData']({[_0x4cca50]:_0x327fa8},{[_0x4cca50]:_0x288ebe})['forEach']((_0x447aef,_0x563bfe)=>{_0x447aef['baseVersion']=this['_document']['version']+_0x563bfe,_0x447aef['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x447aef);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x511680,_0x4ea8c7){let _0x23c20d;this['_offset']=_0x511680['offset'];const _0xc604e5=_0x511680['wereChangesApplied']&&!_0x511680['initData'],_0x4a448b=_0xc604e5?0x0:_0x511680['data']['baseVersion'];if(_0x4ea8c7['forEach'](_0x209381=>{_0x209381['_isInit']=!0x0,_0x209381['createdAt']=_0x511680['sessionCreatedAt'],_0x209381['_authorId']=null;}),_0xc604e5)_0x23c20d=_0x4ea8c7,this['_applyOperationsSet'](_0x23c20d,_0xc604e5);else{if(_0x511680['initData']){const _0x1c7f63=this['_getOperationsFromInitData'](_0x511680['initData']);this['_document']['history']['version']=-_0x1c7f63['length'],_0x1c7f63['forEach'](_0x3d0efc=>{_0x3d0efc['baseVersion']-=_0x1c7f63['length'],_0x3d0efc['createdAt']=_0x511680['sessionCreatedAt'],_0x3d0efc['_isInit']=!0x0,_0x3d0efc['_authorId']=null;}),this['_applyOperationsSet'](_0x1c7f63,!0x0),this['serverHistory']['version']=-_0x1c7f63['length']+this['_offset'],this['_updateServerHistory'](_0x1c7f63);}this['_document']['history']['version']=_0x4a448b,_0x23c20d=this['_decompressOperations'](_0x511680['data'],_0x511680['metadata']),await this['_fetchMissingUsers'](_0x23c20d),this['_applyOperationsSet'](_0x23c20d,_0xc604e5);}_0x511680['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x23c20d,_0x511680['lastOperationId']),this['_lastSyncedOperationId']=_0x511680['lastOperationId']),this['serverHistory']['version']=_0x4a448b+this['_offset'],this['_updateServerHistory'](_0x23c20d),_0x4ea8c7['filter'](_0x34643c=>{const _0x3d0718=this['_getAffectedRoot'](_0x34643c);return _0x3d0718&&!this['_knownRootNames']['has'](_0x3d0718);})['forEach']((_0x4de688,_0x53c3f4)=>{_0x4de688['baseVersion']=this['_document']['version']+_0x53c3f4,this['_saveOperationInBuffer'](_0x4de688);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x15379e,_0xd4b288){const _0x4e6bd5=_0xd4b288&&_0xd4b288['message'];if(_0x4e6bd5&&_0x4e6bd5['startsWith']('realtimecollaborationclient'))throw _0xd4b288;const _0x4b3534=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x4b3534['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x36cefd(_0x15379e,this['editor'],_0x4e6bd5?{'originalError':_0x4e6bd5}:void 0x0);}['_saveOperationInBuffer'](_0x46420b){this['_knownOperations']['has'](_0x46420b)||(this['_knownOperations']['add'](_0x46420b),this['_bufferedOperations']['push'](_0x46420b),this['_pendingAction']||'marker'==_0x46420b['type']&&!_0x46420b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x62c55e=!0x1){!_0x62c55e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x90aea4=>{_0x90aea4&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x11db33=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xddc47e){return _0xddc47e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xddc47e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xddc47e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x11db33)||this['_crash'](_0x11db33['message'],_0x11db33);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x32d212=>{this['on']('change:_isPendingUpdate',()=>{_0x32d212();});});}async['_sendBufferedOperations'](){const _0x2e9a2f=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x2e9a2f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1cad19=[...this['_bufferedOperations']];for(const _0x2ad707 of _0x1cad19)_0x2ad707['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2ad707);const _0x586c92=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1cad19),_0x3aa816=Z++,_0x1263ec=this['_compressOperations'](_0x1cad19),_0x4e17e9=await this['_service']['sendOperations'](_0x1263ec,_0x1263ec['baseVersion'],_0x586c92);try{return await this['_handleServerResponse'](_0x1cad19,_0x4e17e9,_0x3aa816);}catch(_0x5b298e){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5b298e);}}async['_handleServerResponse'](_0x1fd293,_0x29a601,_0x4d2cb6){if('error'in _0x29a601)throw _0x29a601['error'];let _0x565bf1=!0x1;if(_0x29a601['wereChangesApplied']){_0x29a601['lastOperationId']&&(this['_lastSyncedOperationId']=_0x29a601['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x403699=>!_0x1fd293['includes'](_0x403699));for(const _0x353781 of _0x1fd293)_0x353781['createdAt']='lastOperationAcceptedAt'in _0x29a601&&_0x29a601['lastOperationAcceptedAt']||void 0x0;st(_0x1fd293,_0x29a601['version']-_0x1fd293['length']),this['_updateServerHistory'](_0x1fd293);const _0x2ad91a=_0x1fd293['filter'](_0x52a899=>{if(!_0x52a899['_isInit'])return!0x1;const _0x58f7c8=this['_getAffectedRoot'](_0x52a899);return _0x58f7c8&&!this['_knownRootNames']['has'](_0x58f7c8);});st(_0x2ad91a,this['_document']['version']),this['_applyOperationsSet'](_0x2ad91a),_0x565bf1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4663c1=this['_decompressOperations'](_0x29a601['data'],_0x29a601['metadata'])['filter'](_0x416d03=>_0x416d03['baseVersion']>=this['_lastServerVersion']);_0x4663c1['forEach'](_0x44b7e4=>this['_addKnownRoot'](_0x44b7e4)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x177ee9=>!_0x177ee9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x177ee9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4663c1),_0x565bf1=this['_handleExternalOperations'](_0x4663c1,_0x29a601['version'],_0x29a601['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x565bf1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3521d0,_0x6da824,_0x15fee3){try{const _0x2d30c3={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5633f3,operationsB:_0x412cb9,originalOperations:_0x335680}=_0x35557e(_0x3521d0,this['_bufferedOperations'],_0x2d30c3);st(_0x5633f3,this['_document']['version']),st(_0x412cb9,_0x6da824);for(const _0x295c87 of _0x5633f3){const _0xd0837b=_0x335680['get'](_0x295c87);_0x295c87['_authorId']=_0xd0837b?_0xd0837b['_authorId']:null;}_0x15fee3&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3521d0,_0x15fee3),this['_lastSyncedOperationId']=_0x15fee3),this['_bufferedOperations']=[..._0x412cb9],this['_applyOperationsSet'](_0x5633f3),this['_updateServerHistory'](_0x3521d0);}catch(_0x211923){return console['error'](_0x211923),!0x1;}return!0x0;}['_applyOperationsSet'](_0x562715,_0x4b1633=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x36deb3=>{for(const _0x3584cf of _0x562715)this['_knownOperations']['add'](_0x3584cf),this['_addKnownRoot'](_0x3584cf),_0x36deb3['batch']['addOperation'](_0x3584cf),this['editor']['model']['applyOperation'](_0x3584cf);});}['_addKnownRoot'](_0x354b4f){const _0x36d641=this['_getAffectedRoot'](_0x354b4f);_0x36d641&&this['_knownRootNames']['add'](_0x36d641);}['_getAffectedRoot'](_0x1a7224){let _0x772634,_0x2ec740;switch(_0x1a7224['type']){case'insert':_0x772634=_0x1a7224['position']['root'];break;case'marker':if(_0x2ec740=_0x1a7224['newRange'],!_0x2ec740)return null;_0x772634=_0x2ec740['root'];break;case'addRootAttribute':_0x772634=_0x1a7224['root'];break;case'addRoot':_0x772634=_0x1a7224['affectedSelectable'];break;case'move':_0x772634=_0x1a7224['targetPosition']['root'];break;default:return null;}return _0x772634['rootName'];}['_updateServerHistory'](_0x3d59f1){_0x3d59f1['forEach'](_0x36f090=>{const _0x5469e9=_0x36f090['clone']();_0x5469e9['_authorId']=_0x36f090['_authorId'],_0x5469e9['_isInit']=!!_0x36f090['_isInit'],_0x5469e9['createdAt']=_0x36f090['createdAt'],_0x5469e9['baseVersion']+=this['_offset'],_0x36f090['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5469e9),this['serverHistory']['addOperation'](_0x5469e9);});}['_handleReconnectionError'](_0x323238){const _0xe85edc=this['editor']['plugins']['get']('Notification'),_0x2d8a46=this['editor']['locale'];_0x323238||(_0x323238=X(_0x2d8a46,'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.')),_0xe85edc['showWarning'](_0x323238,{'title':X(_0x2d8a46,'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'](_0x3c2905)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3c2905)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x26e956){const _0x45f8d5=_0x26e956['map'](_0x5c1c4c=>_0x5c1c4c['toJSON']());return this['_compressor']['compress'](_0x45f8d5);}['_decompressOperations'](_0x3dc1b2,_0x5a820f){return this['_compressor']['decompress'](_0x3dc1b2)['map']((_0x429bb1,_0x2f3e01)=>{const _0x2a49bf='init'==_0x5a820f[_0x2f3e01]['type'];if('InsertOperation'==_0x429bb1['__className']){const _0x9c5c4b=_0x429bb1['position']['root'];!this['_document']['getRoot'](_0x9c5c4b)&&(this['_document']['createRoot']('$root',_0x9c5c4b)['_isAttached']=!0x1);}const _0x2a8303=_0x20d617['fromJSON'](_0x429bb1,this['_document']);return _0x2a8303['wasUndone']=_0x429bb1['wasUndone'],_0x2a8303['_isInit']=_0x2a49bf,_0x2a8303['_authorId']=_0x2a49bf?null:_0x5a820f[_0x2f3e01]['userId'],_0x2a8303['_isDisconnection']='cs:removeUser'===_0x5a820f[_0x2f3e01]['type'],_0x2a8303['createdAt']=_0x5a820f[_0x2f3e01]['createdAt'],_0x2a8303;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x198ced=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x198ced&&_0x198ced['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x13edbb,_0x5428ea){for(const _0x1a8323 of _0x13edbb)_0x1a8323['baseVersion']=_0x5428ea++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x3cd596){this['_ignoredOperations']=_0x3cd596,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x987808){let _0x709730=_0x987808['length'];for(;_0x709730--;){const _0x6b4330=_0x987808[_0x709730];if(!this['_ignoredOperations']['has'](_0x6b4330)){if(!this['_operationToId']['has'](_0x6b4330)){const _0x6a2eb5=_0x53a8dc()['slice'](0x1,0x12);this['_operationToId']['set'](_0x6b4330,_0x6a2eb5);}return this['_operationToId']['get'](_0x6b4330);}}}['setIdForTheLastOperation'](_0xd3101c,_0xbd0b3){if(!_0xbd0b3)return;let _0x55308e=_0xd3101c['length'];for(;_0x55308e--;){const _0x15c836=_0xd3101c[_0x55308e];this['_ignoredOperations']['has'](_0x15c836)||this['_operationToId']['set'](_0x15c836,_0xbd0b3);}}}class nt extends _0x103d19{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xd5d5b2{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x31fab9)());['_services'];static get['requires'](){return[z,_0x44cbfd,Y,_0x15efd7];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x327dd5){super(_0x327dd5),this['_services']=new Map();}async['init'](){const _0x4bf920=this['context'],_0x584344=_0x4bf920['plugins']['get'](_0x44cbfd);if(_0x4bf920['plugins']['get'](z)['addToReconnectionStack'](this),_0x584344['adapter']={'addCommentThread':async({channelId:_0xcbb7a7,threadId:_0xef0bdb,comments:_0x587ef6,resolvedAt:_0x4e7767,resolvedBy:_0x1621ae,context:_0xb38e47,attributes:_0x445bd9})=>{const _0x35246a=await this['_getService'](_0xcbb7a7)['addCommentThread']({'commentThreadId':_0xef0bdb,'comments':_0x587ef6['map'](_0x461599=>function(_0x22d036,_0x5a9ec2,_0x212836){return{'commentThreadId':_0x212836,'commentId':_0x22d036['commentId'],'userId':_0x22d036['authorId'],'content':_0x22d036['content'],'documentId':_0x5a9ec2,'createdAt':_0x22d036['createdAt'],'attributes':_0x22d036['attributes']||{}};}(_0x461599,_0xcbb7a7,_0xef0bdb)),'resolvedAt':_0x4e7767,'resolvedBy':_0x1621ae,'context':_0xb38e47,'attributes':_0x445bd9})['catch'](ct);return{'threadId':_0x35246a['commentThreadId'],'comments':_0x35246a['comments']};},'getCommentThread':async({channelId:_0x26b7ef,threadId:_0x554162})=>{const _0xad3f82=await this['_getService'](_0x26b7ef)['getCommentThread'](_0x554162)['catch'](rt)['catch'](ct);return _0xad3f82?_0xad3f82['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xad3f82]),{'threadId':_0xad3f82['commentThreadId'],'comments':_0xad3f82['comments']['map'](at),'context':_0xad3f82['context'],'resolvedAt':_0xad3f82['resolvedAt'],'resolvedBy':_0xad3f82['resolvedBy'],'attributes':_0xad3f82['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x4c22bf,threadId:_0x475ad2,context:_0x301855,unlinkedAt:_0x2d5643,attributes:_0x1423e8})=>this['_getService'](_0x4c22bf)['updateCommentThread']({'commentThreadId':_0x475ad2,'context':_0x301855,'attributes':_0x1423e8,'unlinkedAt':_0x2d5643})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x7c696d,threadId:_0x2d3aff})=>{const _0x5006e2=await this['_getService'](_0x7c696d)['resolveCommentThread'](_0x2d3aff)['catch'](rt)['catch'](ct);return{'threadId':_0x5006e2['commentThreadId'],'resolvedAt':_0x5006e2['resolvedAt'],'resolvedBy':_0x5006e2['resolvedBy']};},'reopenCommentThread':async({channelId:_0x182044,threadId:_0x38163a})=>this['_getService'](_0x182044)['reopenCommentThread'](_0x38163a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x2cc77b,threadId:_0x336034})=>this['_getService'](_0x2cc77b)['removeCommentThread'](_0x336034)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x2cecce,threadId:_0x565d4a,commentId:_0x1b41e4,content:_0xf8d78,attributes:_0xbbe02b})=>this['_getService'](_0x2cecce)['addComment'](_0x565d4a,_0x1b41e4,_0xf8d78,_0xbbe02b)['catch'](ct),'updateComment':({channelId:_0x58bd1c,threadId:_0x5a3020,commentId:_0x101255,content:_0x3f1eeb,attributes:_0x5d409c})=>this['_getService'](_0x58bd1c)['updateComment'](_0x5a3020,_0x101255,_0x3f1eeb,_0x5d409c)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x299b16,threadId:_0x5695b7,commentId:_0x1c1384})=>this['_getService'](_0x299b16)['removeComment'](_0x5695b7,_0x1c1384)['catch'](rt)['catch'](ct)},_0x4bf920 instanceof _0x38e411){const _0x5baf11=_0x4bf920['config']['get']('collaboration.channelId'),_0x29460d=_0x4bf920['plugins']['get'](Y);await this['_setUpService'](_0x5baf11);const _0x531123=await this['_services']['get'](_0x5baf11)['getConnectedSessions']();this['listenTo'](_0x29460d,'sessionAdd:'+_0x5baf11,(_0x4b9971,{session:_0x121448})=>{_0x121448['id']===_0x29460d['mySessionId']&&(_0x4b9971['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x121448['permissions'],_0x5baf11));}),_0x29460d['register'](_0x5baf11,_0x531123);}}async['_setUpService'](_0x1b0f01){if(this['_services']['has'](_0x1b0f01))throw new _0x36cefd('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1b0f01});const _0x310927=this['context']['plugins']['get'](_0x44cbfd),_0x575cf6=new ot['CommentsService'](_0x1b0f01);this['_services']['set'](_0x1b0f01,_0x575cf6),this['listenTo'](_0x575cf6,'commentThreadAdded',(_0x597976,_0x551f3a)=>{const {commentThreadId:_0x347a1f,documentId:_0x39cd2f,context:_0x3523e5,attributes:_0x5b0a77,resolvedAt:_0x25d5b9,resolvedBy:_0xac260e,comments:_0x2e5a5e}=_0x551f3a;_0x310927['getCommentThread'](_0x347a1f)||_0x310927['addCommentThread']({'threadId':_0x347a1f,'channelId':_0x39cd2f,'comments':_0x2e5a5e?_0x2e5a5e['map'](at):[],'context':_0x3523e5,'attributes':_0x5b0a77,'resolvedAt':_0x25d5b9,'resolvedBy':_0xac260e,'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadUpdated',(_0x20822f,{commentThreadId:_0xd32c22,documentId:_0x3f1c6c,context:_0xb6c004,unlinkedAt:_0xaa2a5a,attributes:_0x163ba7})=>{_0x310927['getCommentThread'](_0xd32c22)&&_0x310927['updateCommentThread']({'threadId':_0xd32c22,'channelId':_0x3f1c6c,'context':_0xb6c004,'unlinkedAt':_0xaa2a5a,'attributes':_0x163ba7,'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadResolved',(_0x157ec,{commentThreadId:_0x205a64,resolvedBy:_0x1d4f53,resolvedAt:_0x235403})=>{const _0x1e013b=_0x310927['getCommentThread'](_0x205a64);_0x1e013b&&_0x1e013b['resolve']({'resolvedBy':_0x1d4f53,'resolvedAt':_0x235403,'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadReopened',(_0x4be2e2,{commentThreadId:_0x3c8b01})=>{const _0x4b9c24=_0x310927['getCommentThread'](_0x3c8b01);_0x4b9c24&&_0x4b9c24['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadRemoved',(_0x1f0cc5,{commentThreadId:_0x4bb400})=>{const _0x58d12c=_0x310927['getCommentThread'](_0x4bb400);_0x58d12c&&_0x58d12c['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentAdded',(_0x1c8442,_0xfbef26)=>{const _0xb073ca=_0xfbef26['commentThreadId'],_0x2f8a0a=_0x310927['getCommentThread'](_0xb073ca);_0x2f8a0a&&_0x2f8a0a['addComment']({...at(_0xfbef26),'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentUpdated',(_0x24e8f3,{commentThreadId:_0x528c52,commentId:_0x345c32,content:_0xa54d82,attributes:_0x16ff53})=>{const _0x4fece7=_0x310927['getCommentThread'](_0x528c52);if(_0x4fece7){const _0x53d75d=_0x4fece7['getComment'](_0x345c32);_0x53d75d&&_0x53d75d['update']({'content':_0xa54d82,'attributes':_0x16ff53,'isFromAdapter':!0x0});}}),this['listenTo'](_0x575cf6,'commentRemoved',(_0x41d2d9,{commentThreadId:_0x811123,commentId:_0x24ed9b})=>{const _0x471fa1=_0x310927['getCommentThread'](_0x811123);if(_0x471fa1){const _0x569dbb=_0x471fa1['getComment'](_0x24ed9b);_0x569dbb&&_0x569dbb['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x1b0f01);}['destroy'](){if(this['context']instanceof _0x38e411){const _0x516d39=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x516d39);}}['_terminateService'](_0x4e5ea4){if(!this['_services']['has'](_0x4e5ea4))throw new _0x36cefd('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4e5ea4});this['_getService'](_0x4e5ea4)['disconnect'](),this['_services']['delete'](_0x4e5ea4);}async['reconnect'](){for(const _0x103a70 of this['_services']['keys']())await this['_connectService'](_0x103a70);if(this['context']instanceof _0x38e411){const _0x280770=this['context']['config']['get']('collaboration.channelId'),_0x37a5af=this['context']['plugins']['get'](Y);_0x37a5af['unregister'](_0x280770);const _0x58e9db=await this['_services']['get'](_0x280770)['getConnectedSessions']();_0x37a5af['register'](_0x280770,_0x58e9db);}}async['_connectService'](_0x48b8ed){const {connection:_0x21ed4d}=this['context']['plugins']['get'](z),_0x306a2d=this['context']['plugins']['get'](_0x44cbfd),_0x39c8be=this['_services']['get'](_0x48b8ed),_0x2446c4=await _0x39c8be['connect'](_0x21ed4d);await this['_fetchMissingUsersForThreads'](_0x2446c4);const _0x3346c1=new Set(Array['from'](_0x306a2d['getCommentThreads']({'channelId':_0x48b8ed}),_0xe044a6=>_0xe044a6['id']));for(const _0x3569d9 of _0x2446c4)_0x3569d9['deletedAt']||_0x3346c1['delete'](_0x3569d9['commentThreadId']);for(const _0x34888a of _0x3346c1)_0x306a2d['getCommentThread'](_0x34888a)['remove']({'isFromAdapter':!0x0});for(const _0x3f7bb2 of _0x2446c4){let _0x553a9f=_0x306a2d['getCommentThread'](_0x3f7bb2['commentThreadId']);const {commentThreadId:_0x38fe2e,context:_0x13e75c,attributes:_0x2857fd,resolvedBy:_0x4799f1,resolvedAt:_0x254f5e,unlinkedAt:_0x5db346,deletedAt:_0x4e16cc}=_0x3f7bb2;if(_0x4e16cc)continue;_0x553a9f||(_0x553a9f=_0x306a2d['addCommentThread']({'channelId':_0x48b8ed,'threadId':_0x38fe2e,'context':_0x13e75c,'attributes':_0x2857fd||{},'resolvedBy':_0x4799f1,'resolvedAt':_0x254f5e,'unlinkedAt':_0x5db346,'isFromAdapter':!0x0}));const _0x425064=new Set(Array['from'](_0x553a9f['comments'],_0x49cce8=>_0x49cce8['id']));for(const _0x199143 of _0x3f7bb2['comments'])_0x425064['delete'](_0x199143['commentId']);for(const _0x31d447 of _0x425064)_0x553a9f['getComment'](_0x31d447)['remove']({'isFromAdapter':!0x0});for(const _0x4f30d4 of _0x3f7bb2['comments']){const _0x1c58b7=_0x553a9f['getComment'](_0x4f30d4['commentId']);_0x1c58b7?_0x1c58b7['content']!==_0x4f30d4['content']&&_0x1c58b7['update']({'content':_0x4f30d4['content'],'isFromAdapter':!0x0}):_0x553a9f['addComment'](Object['assign'](at(_0x4f30d4),{'isFromAdapter':!0x0}));}}}['_getService'](_0x28b259){if(!this['_services']['has'](_0x28b259))throw new _0x36cefd('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x28b259});return this['_services']['get'](_0x28b259);}async['_fetchMissingUsersForThreads'](_0x3b7b93){const _0x3ed4fb=this['context']['plugins']['get'](_0x15efd7),{connection:_0x837d36}=this['context']['plugins']['get'](z),_0x5a7584=new Set();for(const {resolvedBy:_0x586747,comments:_0x1ee628}of _0x3b7b93){_0x586747&&!_0x3ed4fb['getUser'](_0x586747)&&_0x5a7584['add'](_0x586747);for(const {userId:_0x1177ae}of _0x1ee628)_0x3ed4fb['getUser'](_0x1177ae)||_0x5a7584['add'](_0x1177ae);}if(0x0===_0x5a7584['size'])return;const _0x413b70=await _0xd44d9a['getMany'](_0x837d36,Array['from'](_0x5a7584));for(const _0x55523a of _0x413b70)_0x3ed4fb['getUser'](_0x55523a['id'])||_0x3ed4fb['addUser'](_0x55523a);}}async function rt(_0x44174b){if('404'!==_0x44174b['code'])throw _0x44174b;}function ct(_0x530c19){if((_0x4454e4=_0x530c19)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4454e4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4454e4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4454e4;throw _0x530c19;}function at(_0x29260a){return{'threadId':_0x29260a['commentThreadId'],'commentId':_0x29260a['commentId'],'content':_0x29260a['content'],'createdAt':_0x29260a['createdAt'],'authorId':_0x29260a['userId'],'attributes':_0x29260a['attributes']||{}};}class ht extends _0x103d19{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x22d399)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x4a88e5,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ad5a9){super(_0x3ad5a9);const _0x2560d6=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x2560d6);}['init'](){const _0x2c4a06=this['editor']['plugins']['get'](z),_0x558dbe=this['editor']['plugins']['get'](_0x4a88e5);return _0x558dbe['adapter']={'getSuggestion':async _0x329f03=>{await this['_waitForServiceReady']();const _0x36cb0f=await this['_trackChangesService']['get'](_0x329f03)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x36cb0f]),_0x36cb0f;},'addSuggestion':async({id:_0x24431d,type:_0x4be790,data:_0x528f3a,originalSuggestionId:_0x1725db,attributes:_0x4e56a5})=>{await this['_waitForServiceReady']();const _0x537e2b={'id':_0x24431d,'type':_0x4be790,'data':_0x528f3a,'originalSuggestionId':_0x1725db,'attributes':_0x4e56a5},_0x3e708b=await this['_trackChangesService']['add'](_0x24431d,_0x4be790,_0x528f3a,_0x1725db,_0x4e56a5)['catch'](_0x21bd76=>{if(dt(_0x21bd76))return new Promise(_0x320b3b=>{this['_bufferedRequests']['set'](_0x24431d,{'resolve':_0x320b3b,'suggestionData':_0x537e2b});});throw _0x21bd76;});return this['_bufferedRequests']['delete'](_0x24431d),_0x3e708b;},'updateSuggestion':async(_0x203621,_0x1624a6)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1624a6['state'])return this['_trackChangesService']['update'](_0x203621,_0x1624a6)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1e1f37,_0x3f19f4)=>{_0x558dbe['hasSuggestion'](_0x3f19f4['id'])&&(_0x558dbe['getSuggestion'](_0x3f19f4['id'])['attributes']=_0x3f19f4['attributes']);}),this['_trackChangesService']['connect'](_0x2c4a06['connection'])['then'](_0x2869ce=>(_0x2c4a06['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2869ce)['then'](()=>{for(const _0x3a85f3 of _0x2869ce){_0x558dbe['addSuggestionData'](_0x3a85f3)['_saved']=!0x0;}})));}async['reconnect'](){const _0x586c4c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x411a69}=this['editor']['plugins']['get'](z),_0x71f495=await this['_trackChangesService']['connect'](_0x411a69);await this['_fetchMissingUsersForThreads'](_0x71f495);for(const {suggestionData:_0x524662,resolve:_0x201665}of this['_bufferedRequests']['values']()){let _0x10fa11=_0x71f495['find'](_0x3c316a=>_0x3c316a['id']===_0x524662['id']);_0x10fa11||(_0x10fa11=await this['_trackChangesService']['add'](_0x524662['id'],_0x524662['type'],_0x524662['data'],_0x524662['originalSuggestionId'])),_0x201665(_0x10fa11);}for(const _0x50b0a7 of _0x71f495)_0x586c4c['hasSuggestion'](_0x50b0a7['id'])||_0x586c4c['addSuggestionData'](_0x50b0a7);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x244f91=>{this['listenTo'](this['_trackChangesService'],'connected',_0x29ed8f=>{_0x29ed8f['off'](),_0x244f91();});});}async['_fetchMissingUsersForThreads'](_0x36ced7){const _0x56debe=this['editor']['plugins']['get'](_0x15efd7),{connection:_0x4d4b80}=this['editor']['plugins']['get'](z),_0x22c756=new Set();for(const {authorId:_0x5ce61a}of _0x36ced7)_0x56debe['getUser'](_0x5ce61a)||_0x22c756['add'](_0x5ce61a);if(0x0===_0x22c756['size'])return;const _0x23befb=await _0xd44d9a['getMany'](_0x4d4b80,Array['from'](_0x22c756));for(const _0x2359b2 of _0x23befb)_0x56debe['getUser'](_0x2359b2['id'])||_0x56debe['addUser'](_0x2359b2);}}function lt(_0x5cc3a5){if(dt(_0x5cc3a5))return new Promise(()=>{});throw _0x5cc3a5;}function dt(_0x24e053){return _0x24e053['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x24e053['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x103d19{static get['requires'](){return[_0x32965a,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x37e708=this['editor']['plugins']['get'](z),_0x4c1c74=this['editor']['plugins']['get'](_0x10c30c),_0x56af8f=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x37e708,'change:state',(_0x5d4cb7,_0x351b9b,_0x303563)=>{_0x4c1c74['isThreadsLoadingPaused']='connected'!==_0x303563;});}),this['listenTo'](_0x37e708,'change:state',(_0x4abaa0,_0x134fe5,_0x46da27)=>{this['editor']['plugins']['get'](_0x44cbfd)['switchReadOnly']('connected'!==_0x46da27);}),_0x56af8f['_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 _0x103d19{static get['requires'](){return[ut,ht,_0x4da260];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x103d19{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x14354c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x54aa5a,Y,_0x15efd7];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4ef9d0){super(_0x4ef9d0);const _0x4ee532=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x4ee532);}async['init'](){const _0x101319=this['editor']['plugins']['get'](tt),_0x569687=_0x101319['serverHistory'],_0x2a5e4a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x569687,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x101319['sessionId']});const _0x45ec5e=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x2acad4,_0x47808f=await _0x12fc8b['isBundleUploaded'](_0x2a5e4a['connection'],_0x45ec5e);this['editor']['plugins']['get'](_0x54aa5a)['adapter']={'getRevision':async({revisionId:_0x5340bd})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5340bd)),'updateRevisions':async _0xfccb7=>{await this['_waitForServiceReady']();const _0x59b898=this['_revisionTracker']['currentRevision'];if(_0x47808f&&0x1===_0xfccb7['length']&&_0xfccb7[0x0]['id']===_0x59b898['id'])return _0xfccb7;for(const _0x2be79b of _0xfccb7)_0x2be79b['id']===_0x59b898['id']&&(_0x2be79b['isEmptyCurrent']=_0x2be79b['fromVersion']===_0x2be79b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xfccb7,this['_lastRequestId'])['then'](_0x2b1b04=>(this['_lastRequestId']=_0x2b1b04,_0xfccb7))['catch'](_0x2ed22b=>{if(pt(_0x2ed22b)||'400'===_0x2ed22b['code']&&void 0x0!==_0x2ed22b['data']['wrongRequestId']){for(const _0xee2581 of _0xfccb7){!this['_revisionTracker']['repository']['getRevision'](_0xee2581['id'])||this['_revisionTracker']['_bufferUpdate'](_0xee2581['id'],_0xee2581,!0x1);}if(pt(_0x2ed22b))throw _0x2ed22b;return _0xfccb7;}throw _0x2ed22b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x131e14,{revisionsData:_0x3bbbb7,requestId:_0x4a1a95})=>{Math['max'](..._0x3bbbb7['map'](_0x3da48d=>_0x3da48d['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3bbbb7,_0x4a1a95);}):this['_handleRevisionsUpdate'](_0x3bbbb7,_0x4a1a95);});const {revisions:_0x321ace,requestId:_0x118578}=await this['_revisionHistoryService']['connect'](_0x2a5e4a['connection']);_0x2a5e4a['addToReconnectionStack'](this),this['_lastRequestId']=_0x118578,await this['_fetchMissingUsers'](_0x321ace);for(const _0x11dcbd of _0x321ace)this['_revisionTracker']['addRevisionData'](_0x11dcbd);this['listenTo'](_0x101319,'change:_isConnected',(_0x30f06b,_0x565365,_0x560b6d)=>{_0x560b6d&&(this['_oldOffset']=_0x101319['_offset'],_0x30f06b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2a5e4a,'state',_0x582ab5=>_0x582ab5===_0x7dc889['CONNECTED']);}async['reconnect'](){const _0x39f06f=this['editor']['plugins']['get'](z),_0x2286f7=this['editor']['plugins']['get'](tt),_0x4aac6e=async()=>{const _0x1bc803=this['_revisionTracker']['currentRevision'],_0x241610=_0x1bc803['id'],_0x516b28=_0x241610!==_0x2286f7['sessionId'];if(_0x516b28){const _0x129a43=_0x2286f7['_offset']-this['_oldOffset'],_0xdb0ddc=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1bc803['toVersion']+_0x129a43!==_0xdb0ddc){const _0x5ce475=_0x1bc803['fromVersion']+_0x129a43,_0x57be32=this['editor']['plugins']['get'](_0x15efd7),_0x2247a7=this['_revisionTracker']['buildRevisionData']({'revision':_0x1bc803,'from':_0x5ce475,'to':_0xdb0ddc});_0x2247a7['id']=_0x1bc803['id'];const _0x2d939d=_0x2247a7['authorsIds']['map'](_0x56e6fc=>_0x57be32['getUser'](_0x56e6fc));_0x1bc803['_update']({..._0x2247a7,'authors':_0x2d939d},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1bc803['id'],_0x2247a7,!0x0);}this['_revisionTracker']['_startingVersion']=_0xdb0ddc,(_0x1bc803['toVersion']===_0x1bc803['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x241610)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x241610),this['_revisionTracker']['_createCurrentRevision'](_0xdb0ddc));}const {revisions:_0x2e5b52,requestId:_0x332946}=await this['_revisionHistoryService']['reconnect'](_0x39f06f['connection'],this['_lastRequestId']);_0x516b28&&_0x2e5b52['length']>0x0?_0x2286f7['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2e5b52),this['_handleRevisionsUpdate'](_0x2e5b52,_0x332946),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2286f7['_isConnected']?_0x4aac6e():new Promise((_0x4b6f25,_0x361cae)=>{_0x2286f7['once']('change:_isConnected',()=>{_0x4aac6e()['then'](_0x4b6f25)['catch'](_0x361cae);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x16f33c=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x58f64d=>{_0x58f64d['off'](),_0x16f33c();});});}['_getLatestVersionFromServerOperations'](){const _0x42fee8=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x112c46 of _0x42fee8)if('marker'!==_0x112c46['type']||_0x112c46['affectsData'])return _0x112c46['baseVersion']+0x1;}['_getLatestVersion'](){const _0x174269=this['editor']['plugins']['get'](tt);return new Promise(_0x2926d2=>{_0x174269['_isPendingUpdate']?_0x174269['once']('change:_isPendingUpdate',()=>{_0x2926d2(this['_getLatestVersionFromServerOperations']());}):_0x2926d2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x13f263,_0x141f4c){const _0x4a1ec5=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x141f4c;for(const _0xc2376b of _0x13f263){const _0x4cf4fa=_0x4a1ec5['getRevision'](_0xc2376b['id']);if(_0x4cf4fa){if((_0xc2376b['fromVersion']||_0xc2376b['toVersion'])&&(_0xc2376b['diffData']=null),_0x4cf4fa===this['_revisionTracker']['currentRevision']){const _0x31c298=Math['max'](_0x4cf4fa['toVersion'],_0xc2376b['toVersion']),_0x2351c2=Math['max'](_0x4cf4fa['fromVersion'],_0xc2376b['fromVersion']);let _0x49b394;_0x4cf4fa['toVersion']===_0xc2376b['toVersion']&&_0x4cf4fa['fromVersion']===_0xc2376b['fromVersion']?(_0x49b394=!0x0,this['_preventResendingRevisionData'](_0xc2376b)):_0xc2376b['toVersion']===_0x31c298&&_0xc2376b['fromVersion']===_0x2351c2?_0x49b394=!0x1:(_0x4cf4fa['toVersion']===_0x31c298&&_0x4cf4fa['fromVersion']===_0x2351c2||this['_fixRevision']({'revision':_0x4cf4fa,'from':_0x2351c2,'to':_0x31c298}),_0x49b394=!0x0),_0x49b394&&(delete _0xc2376b['fromVersion'],delete _0xc2376b['toVersion'],delete _0xc2376b['diffData'],delete _0xc2376b['createdAt'],delete _0xc2376b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xc2376b),this['_preventResendingRevisionData'](_0xc2376b);}else this['_revisionTracker']['addRevisionData'](_0xc2376b);}const _0x1f81d6=_0x4a1ec5['getRevisions']();_0x1f81d6['reverse']();for(let _0x544908=0x0;_0x544908<_0x1f81d6['length']-0x1;_0x544908++){const _0xc2fd86=_0x1f81d6[_0x544908],_0x2dd23f=_0x1f81d6[_0x544908+0x1];if(_0xc2fd86['fromVersion']<_0x2dd23f['toVersion']){const _0x38a886=_0x2dd23f['toVersion'],_0x32069e=Math['max'](_0x38a886,_0xc2fd86['toVersion']);this['_fixRevision']({'revision':_0xc2fd86,'from':_0x38a886,'to':_0x32069e});}}}['_fixRevision']({revision:_0x4601c8,from:_0x3460a7,to:_0x19e6ff}={}){const _0xe09ed1=this['editor']['plugins']['get'](_0x15efd7),_0x54437e=this['_revisionTracker']['buildRevisionData']({'revision':_0x4601c8,'from':_0x3460a7,'to':_0x19e6ff});_0x54437e['authors']=_0x54437e['authorsIds']['map'](_0x118290=>_0xe09ed1['getUser'](_0x118290)),_0x4601c8['_update'](_0x54437e);}['_preventResendingRevisionData'](_0x189462){const _0x7f1edc={};_0x7f1edc['id']=_0x189462['id'];for(const _0x4877d6 of Object['keys'](_0x189462))'id'!==_0x4877d6&&(_0x7f1edc[_0x4877d6]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x7f1edc['id'],_0x7f1edc,!0x0);}async['_fetchMissingUsers'](_0x44121b){const _0x5be31b=this['editor']['plugins']['get'](_0x15efd7),{connection:_0x407afd}=this['editor']['plugins']['get'](z),_0xea5776=new Set();for(const _0x35d4e8 of _0x44121b){for(const _0x5532b4 of _0x35d4e8['authorsIds'])_0x2dce3f(_0x5532b4);_0x35d4e8['creatorId']&&_0x2dce3f(_0x35d4e8['creatorId']);}if(0x0===_0xea5776['size'])return;const _0x3dcb6b=await _0xd44d9a['getMany'](_0x407afd,Array['from'](_0xea5776));for(const _0x4c4360 of _0x3dcb6b)_0x5be31b['getUser'](_0x4c4360['id'])||_0x5be31b['addUser'](_0x4c4360);function _0x2dce3f(_0x12859b){_0x5be31b['getUser'](_0x12859b)||_0xea5776['add'](_0x12859b);}}}function pt(_0x530134){return _0x530134['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x530134['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x530134['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x103d19{static get['requires'](){return[_0x54aa5a,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x2a2968{['_collapseAt'];constructor(_0x5e3c0c,_0x4b6b42=0x6){super(_0x5e3c0c);const _0x27ade2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4b6b42,this['bind']('isHidden')['to'](this,'usersCount',_0x252e12=>_0x252e12<_0x4b6b42),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x27ade2['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':_0x27ade2['to']('usersCount',_0x287125=>'+'+(_0x287125-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x2a2968{['items'];['keystrokes'];constructor(_0x9febee){super(_0x9febee);const _0xc39dda=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1cfe84(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xc39dda['if']('hasPopup'),'aria-expanded':_0xc39dda['to']('isExpanded',_0x9cd64=>this['hasPopup']&&String(_0x9cd64)),'aria-label':_0xc39dda['to']('hasPopup',_0x26b09a=>X(_0x9febee,_0x26b09a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xc39dda['to']('hasPopup',_0x413dc8=>!!_0x413dc8&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xc39dda['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xc39dda['to'](_0x26f3d0=>{const _0x102775=_0x26f3d0,_0x113888=document['querySelector']('.ck-presence-list__dropdown-list'),_0x485b71=document['querySelector']('.ck-balloon-panel_with-arrow');_0x113888?.['contains'](_0x102775['relatedTarget'])||_0x485b71?.['contains'](_0x102775['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x314954,_0x434ecf,_0x3cff7d)=>{this['element']&&(_0x3cff7d?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 _0x2a2968{['counterView'];['inlineListView'];constructor(_0x47a8ea,_0x3b418e=0x6){super(_0x47a8ea);const _0x19e143=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x3b418e),this['inlineListView']=new vt(_0x47a8ea),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3c6d13 of this['inlineListView']['items'])_0x3c6d13['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',_0x19e143['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x2a2968{['listWrapperView'];constructor(_0x53b48a,_0x3e4fd1){super(_0x53b48a);const _0x16d854=this['bindTemplate'];this['listWrapperView']=new bt(_0x53b48a,_0x3e4fd1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x53b48a,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x16d854['to'](_0x985233=>{const _0x4bc0f0=_0x985233,_0x36599b=document['querySelector']('.ck-presence-list__list'),_0xfc7d0e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x36599b?.['contains'](_0x4bc0f0['relatedTarget'])||_0xfc7d0e?.['contains'](_0x4bc0f0['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x468e3{constructor(_0x3a5b22,_0x4642c1){super(_0x3a5b22);const _0x353c99=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4642c1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x353c99['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x353c99['to']('role'),'aria-label':_0x353c99['to']('ariaLabel'),'aria-labelledby':_0x353c99['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3fbed8['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5930fa=this['element'];_0x5930fa&&(this['_isScrollable']=Math['max'](_0x5930fa['scrollHeight'],_0x5930fa['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0xd98646{['userView'];constructor(_0x27eebe,_0x5728c4,_0x164ca1){super(_0x27eebe);const _0x385263=this['bindTemplate'];this['userView']=new _0x5e59a8(_0x27eebe,_0x5728c4);const _0x52fd2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5728c4['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5728c4['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5728c4['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5728c4['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5728c4['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x164ca1&&(_0x52fd2b['tag']='button',_0x52fd2b['on']={'click':_0x385263['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x52fd2b);}['focus'](){this['element']['focus']();}}class It extends _0x2a2968{['userView'];['markerView'];constructor(_0x41e3b9,_0x25da49,_0x375326){super(_0x41e3b9);const _0x591427=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5e59a8(_0x41e3b9,_0x25da49),this['markerView']=new St(_0x41e3b9,_0x25da49);const _0x41a9bf=new _0x20fd6e(_0x41e3b9);_0x41a9bf['template']['tag']='span',_0x41a9bf['text']=_0x25da49['name'];const _0x2da9fd={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x591427['to']('isFocusable',_0x3cd190=>!!_0x3cd190&&0x0),'aria-labelledby':_0x41a9bf['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x591427['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x591427['to']('hasTooltip',_0x4a2412=>!_0x4a2412),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x41a9bf]};_0x375326&&(_0x2da9fd['tag']='button',_0x2da9fd['on']={'click':_0x591427['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2da9fd);}}class St extends _0x2a2968{constructor(_0x26d7c1,_0x10a393){super(_0x26d7c1),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x10a393['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x10a393['color']['getColorVariable'](),'--ck-user-color-alpha':_0x10a393['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xd5d5b2{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1ddf7e){super(_0x1ddf7e),this['context']['config']['define']('presenceList',Tt);const _0x281e6e=_0x1ddf7e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x281e6e)throw new _0x36cefd('presencelist-collapseat-invalid-format',this);if(_0x281e6e<0x1)throw new _0x36cefd('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x16227b(),this['balloonPanelView']=new _0x17c136(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1b2ba4 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1b2ba4);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4b82a6,_0x2f3611)=>{this['_handleUserAdd'](_0x2f3611);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4fc784,_0xdeaad)=>{this['_handleUserRemove'](_0xdeaad);});}['_createView'](){const _0x306a4a=this['context'],_0x19333d=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x307d8c=this['balloonPanelView'];if(!_0x6c004d(_0x306a4a['config']['get']('presenceList.container')))throw new _0x36cefd('presencelist-missing-container',this);return _0x19333d['counterView']['bind']('usersCount')['to'](this),_0x19333d['bind']('isCollapsed')['to'](this,'usersCount',_0x4cbf25=>{const {collapseAt:_0x2e5264}=_0x306a4a['config']['get']('presenceList'),_0x3f8809=_0x4cbf25>=_0x2e5264;if(_0x3f8809&&!_0x19333d['inlineListView']['items']['find'](_0x1b268e=>_0x1b268e instanceof wt)){const _0x4d3ff4=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4d3ff4&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x19333d['inlineListView']['items']['add'](_0x19333d['counterView']);}return _0x3f8809||this['hideDropdown'](),_0x3f8809;}),_0x19333d['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x17b603=>{const _0x720ba5=_0x306a4a['config']['get']('presenceList'),_0x288dc5=new It(_0x306a4a['locale'],_0x17b603,!!_0x720ba5['onClick']);return _0x288dc5['bind']('hasTooltip')['to'](_0x19333d,'isCollapsed',_0x328098=>!_0x328098),_0x288dc5['bind']('isFocusable')['to'](_0x19333d,'isCollapsed',_0x57f87f=>!_0x57f87f),_0x720ba5['onClick']&&this['listenTo'](_0x288dc5,'execute',()=>{this['view']['isCollapsed']||_0x720ba5['onClick'](_0x17b603,_0x288dc5['element']);}),_0x288dc5;}),this['listenTo'](_0x19333d['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x19333d['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x19333d['inlineListView']['keystrokes']['set']('Enter',(_0x51c995,_0x18dcf6)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x18dcf6());}),_0x19333d['render'](),_0x307d8c['render'](),_0x2a391d({'emitter':_0x19333d,'activator':()=>_0x307d8c['isVisible'],'contextElements':[_0x307d8c['element'],_0x19333d['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x306a4a['config']['get']('presenceList.container')['appendChild'](_0x19333d['element']),this['_bodyCollection']=new _0x42e011(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x19333d;}['_handleUserAdd'](_0x33a248){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x33a248['isMe'])return;const _0x852c23=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x852c23-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x23e01a=_0x33a248['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x33a248,_0x23e01a);}['_handleUserRemove'](_0x271f3e){this['usersCount']--;const {collapseAt:_0xc4ae6c}=this['context']['config']['get']('presenceList'),_0x20dbc7=this['usersCount']>=_0xc4ae6c;if(this['currentDisplayedUsers']['get'](_0x271f3e['id']))this['currentDisplayedUsers']['remove'](_0x271f3e['id']);else{if(_0x20dbc7&&this['currentDisplayedUsers']['length']+0x1===_0xc4ae6c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x20dbc7?0x1:0x0)<this['usersCount']){for(const _0x1f20eb of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1f20eb['id'])&&(this['currentDisplayedUsers']['add'](_0x1f20eb,Math['min'](this['currentDisplayedUsers']['length']-(_0x20dbc7?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x20dbc7?0x1:0x0)===_0xc4ae6c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5359d0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x5359d0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x797a14}=this['presenceDropdownView'];_0x797a14['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3c58a8=>{if(!_0x5359d0['displayMe']&&_0x3c58a8['isMe'])return null;const _0x41a662=new kt(this['context']['locale'],_0x3c58a8,!!_0x5359d0['onClick']);return _0x5359d0['onClick']&&this['listenTo'](_0x41a662,'execute',()=>{_0x5359d0['onClick'](_0x3c58a8,_0x41a662['element']);}),_0x41a662;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x797a14['focus'](),_0x797a14['checkIfScrollable']();const _0x50f382=(_0x5276de,_0x5735c7)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5735c7();};_0x797a14['keystrokes']['set']('Esc',_0x50f382),_0x797a14['keystrokes']['set']('Shift+Tab',_0x50f382),_0x797a14['keystrokes']['set']('Tab',(_0xd5306f,_0x12d75e)=>{!function(_0x5225a8){const _0x2dd45c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x8f8d68=>_0x8f8d68+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4f84a5=[...document['body']['querySelectorAll'](_0x2dd45c)]['filter'](_0x368e81=>_0x368e81===document['activeElement']||_0x368e81['offsetWidth']+_0x368e81['offsetHeight']>0x0)['sort']((_0x132b25,_0x32df71)=>(_0x132b25['tabIndex']||0x0)-(_0x32df71['tabIndex']||0x0)),_0x19f249=_0x4f84a5['indexOf'](_0x5225a8),_0x1fc5e6=_0x4f84a5[(_0x19f249+0x1)%_0x4f84a5['length']];_0x1fc5e6&&_0x1fc5e6['focus']();}(this['view']['element']),this['hideDropdown'](),_0x12d75e();}),_0x797a14['focusTracker']['add'](this['view']['element']),_0x797a14['focusTracker']['on']('change:isFocused',(_0x1a2846,_0x3e2533,_0x2ea315)=>{_0x2ea315||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 _0xd5d5b2{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':_0xa95e72=>0x1!=_0xa95e72}};
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':_0x3b4e9f=>0x1!=_0x3b4e9f}};