@ckeditor/ckeditor5-real-time-collaboration 48.0.0 → 48.0.1-alpha.0

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 +13 -13
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0xef80a1,Plugin as _0x281793,PendingActions as _0x5e8c5f,Context as _0x5407be}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x28dffe,CKEditorError as _0xe32300,Collection as _0x2c5641,global as _0x28e582,version as _0x5909bb,uid as _0x494522,KeystrokeHandler as _0x42e44d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x516d46,View as _0x1a3fd9,ListView as _0x37da38,ListItemView as _0x2c00f3,LabelView as _0x35c56a,BalloonPanelView as _0x553bc5,clickOutsideHandler as _0x360bc9,BodyCollection as _0x447c29}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2c3be1,History as _0x28c39a,NoOperation as _0x270f4f,InsertOperation as _0x570df8,MarkerOperation as _0x191477,RootAttributeOperation as _0x37805c,transformOperationSets as _0x704f48,OperationFactory as _0xf2f158}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x4774f2}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2419ba,WEB_SOCKET_GATEWAY_STATES as _0x353716,CollaborativeEditingService as _0x296a21,User as _0x381d6e,CommentsService as _0x79be79,TrackChangesService as _0x46718a,RevisionHistoryService as _0x1279c1,EditorService as _0x33edb5}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x4c102a,UserView as _0x2d3ca6}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x3150b1}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x539b66,TrackChanges as _0xadf793}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5be5e5,Comments as _0x186826,CommentsEditing as _0x59426b}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x4a2d92}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x1ed9b4}from'es-toolkit/compat';class z extends _0xef80a1{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x2419ba)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x4774f2,_0x516d46];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5eb208){super(_0x5eb208),this['set']('state',_0x353716['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x28dffe())();}['init'](){const _0x403ce1=this['context'],_0x346d0b=_0x403ce1['plugins']['get'](_0x4774f2),_0x515cb4=_0x403ce1['plugins']['get'](_0x516d46);if(!_0x346d0b['token'])throw new _0xe32300('websocketgateway-missing-token',this);if(!_0x346d0b['webSocketUrl'])throw new _0xe32300('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'](_0x346d0b['token'],_0x346d0b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1efd6e=>{if(this['connection']=_0x1efd6e,this['bind']('state')['to'](_0x1efd6e,'state',this,'_isBrowserOffline',(_0x1bb660,_0x5e3c9f)=>('connected'!==_0x1bb660&&(this['_shouldPluginsReconnect']=!0x0),_0x5e3c9f||_0x1bb660!==_0x353716['CONNECTED']?_0x353716['DISCONNECTED']:this['state']==_0x353716['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x353716['CONNECTING']):_0x353716['CONNECTED'])),this['connection']['on']('error',(_0x25023a,_0x4f3265)=>{if('limitExceeded'!==_0x4f3265['code'])throw console['error'](_0x4f3265),new _0xe32300('cloudservices-init',null,{'originalError':_0x4f3265});_0x515cb4['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'});}),!_0x1efd6e['me'])return new Promise(_0x2b3055=>_0x1efd6e['on']('change:me',_0x2b3055));})['catch'](_0x42b5d4=>{throw console['error'](_0x42b5d4),new _0xe32300('cloudservices-init',null,{'originalError':_0x42b5d4});});}['addToReconnectionStack'](_0x83ed33){if('function'!=typeof _0x83ed33['reconnect'])throw new _0xe32300('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x83ed33))throw new _0xe32300('websocketgateway-plugin-already-registered',this,{'name':_0x83ed33['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x83ed33);}['removeFromReconnectionStack'](_0xbc0eee){this['_reconnectionStack']['delete'](_0xbc0eee);}['isInReconnectionStack'](_0x134406){return this['_reconnectionStack']['has'](_0x134406);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x526361=>_0x526361['reconnect']())))['then'](()=>this['state']=_0x353716['CONNECTED'])['catch'](_0x2bc9de=>{throw console['error'](_0x2bc9de),new _0xe32300('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x353716['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xef80a1{['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,_0x4c102a];}constructor(_0x246c74){super(_0x246c74),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2c5641(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4c102a);}['init'](){const _0x121bbf=this['context']['plugins']['get'](z);this['listenTo'](_0x121bbf,'change:state',(_0x44ea40,_0x3be196,_0x3e5ab1)=>{if('connected'!==_0x3e5ab1)this['channelSessions']['forEach'](_0x33ace3=>_0x33ace3['clear']()),this['channelConnectedUsers']['forEach'](_0x5e294d=>_0x5e294d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1764b0,_0x344637]of this['_registeredSessions'])for(const _0x29164f of _0x344637)this['_handleSessionAdd'](_0x1764b0,_0x29164f);}}),this['_createUser'](_0x121bbf['connection']['me'],!0x0);}['register'](_0xb79e7e,_0x5bb8a5){if(this['_registeredSessions']['has'](_0xb79e7e))throw new _0xe32300('sessions-register-already-registered',null,{'channelId':_0xb79e7e});this['_registeredSessions']['set'](_0xb79e7e,_0x5bb8a5),this['channelSessions']['set'](_0xb79e7e,new _0x2c5641()),this['channelConnectedUsers']['set'](_0xb79e7e,new _0x2c5641()),this['listenTo'](_0x5bb8a5,'add',(_0x4ade1f,_0x1aabc1)=>this['_handleSessionAdd'](_0xb79e7e,_0x1aabc1)),this['listenTo'](_0x5bb8a5,'remove',(_0x419a2a,_0x54c9a2)=>this['_handleSessionRemove'](_0xb79e7e,_0x54c9a2));for(const _0x3105b7 of _0x5bb8a5)this['_handleSessionAdd'](_0xb79e7e,_0x3105b7);}['unregister'](_0x221098){if(!this['_registeredSessions']['has'](_0x221098))throw new _0xe32300('sessions-unregister-not-exist',null,{'channelId':_0x221098});const _0x207db3=this['_registeredSessions']['get'](_0x221098);this['stopListening'](_0x207db3);for(const _0x5ecb21 of _0x207db3)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x221098,_0x5ecb21);this['_registeredSessions']['delete'](_0x221098),this['channelSessions']['delete'](_0x221098),this['channelConnectedUsers']['delete'](_0x221098);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x35bd1e){for(const _0x1325ad of this['channelSessions']['values']())for(const _0x170577 of _0x1325ad)if(_0x170577['id']===_0x35bd1e)return _0x170577['user'];}['getUserSessions'](_0x1fae80,_0x52875e){const _0x1b7f07=_0x52875e?[this['channelSessions']['get'](_0x52875e)]:this['channelSessions']['values'](),_0x422ee7=new Set();for(const _0x30f771 of _0x1b7f07)for(const _0x462ac0 of _0x30f771)_0x462ac0['user']['id']===_0x1fae80['id']&&_0x422ee7['add'](_0x462ac0['id']);return _0x422ee7;}['getUserRole'](_0x31aaf3){for(const _0x59c1f4 of this['channelSessions']['values']())for(const _0x26ce58 of _0x59c1f4)if(_0x26ce58['user']===_0x31aaf3)return _0x26ce58['role'];}['_handleSessionAdd'](_0xb8b81c,_0x5cff72){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x240fd0=_0x5cff72['user'],_0x467409=this['_users']['getUser'](_0x240fd0['id'])||this['_createUser'](_0x240fd0),_0x4b68d9=Object['assign']({},_0x5cff72,{'user':_0x467409});if(this['channelSessions']['get'](_0xb8b81c)['add'](_0x4b68d9),!_0x240fd0['hiddenInPresenceList']){const _0x5ba577=this['channelConnectedUsers']['get'](_0xb8b81c);_0x5ba577['has'](_0x467409['id'])||_0x5ba577['add'](_0x467409),this['allConnectedUsers']['has'](_0x467409['id'])||_0x240fd0['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x467409,_0x467409['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0xb8b81c,{'channelId':_0xb8b81c,'session':_0x4b68d9});}['_handleSessionRemove'](_0x34e19f,_0x1c4f74){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3a7b59=this['channelConnectedUsers']['get'](_0x34e19f),_0x3329a3=_0x1c4f74['user'];_0x3329a3['id']&&(this['channelSessions']['get'](_0x34e19f)['remove'](_0x1c4f74['id']),_0x3a7b59['has'](_0x3329a3['id'])&&!this['getUserSessions'](_0x3329a3,_0x34e19f)['size']&&_0x3a7b59['remove'](_0x3329a3['id']),this['allConnectedUsers']['get'](_0x3329a3['id'])&&!this['getUserSessions'](_0x3329a3)['size']&&this['allConnectedUsers']['remove'](_0x3329a3['id']));}['_createUser'](_0x29deff,_0x43dcf3){const _0x406188=this['_users']['addUser'](_0x29deff);return _0x43dcf3&&this['_users']['defineMe'](_0x29deff['id']),_0x406188['orderNumber']=this['_uniqueUsersCount']++,_0x406188;}}class K extends _0x281793{['_domEmitter']=new(_0x28dffe())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1f88ab=this['editor'],_0x49fdc1=_0x1f88ab['plugins']['get'](Y);_0x1f88ab['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x400c98,{writer:_0xa30bbb})=>function(_0x135134,_0x5d0d28,_0x2f0178,_0x635826){const _0x2a3738=_0x135134['markerName']['split'](':')[0x2],_0x431733=_0x2f0178['getUserBySessionId'](_0x2a3738);if(!_0x431733||_0x2a3738===_0x2f0178['mySessionId'])return;if(!_0x635826['model']['schema']['checkChild'](_0x135134['markerRange']['start'],'$text'))return;const _0x23785c={'class':'ck-user__marker\x20'+_0x431733['color']['getMarkerClass'](),'style':Q(_0x431733),'data-name':_0x431733['name'],'data-session-id':_0x2a3738},_0x146be4=_0x635826['model']['markers']['get'](_0x135134['markerName']),_0x3069e2=_0x146be4['getStart'](),_0x132e37=_0x3069e2['nodeAfter'],_0x329f6f=_0x635826['model']['schema'];if(_0x132e37&&_0x329f6f['isObject'](_0x132e37)&&_0x329f6f['isInline'](_0x132e37)&&!_0x635826['model']['markers']['get']('user:range:'+_0x2a3738)['getRange']()['isCollapsed'])return;const _0x16a870=_0x3069e2['parent'];return _0x635826['model']['schema']['isLimit'](_0x16a870)&&!_0x635826['model']['hasContent'](_0x16a870)&&(_0x23785c['contenteditable']=!0x1),function(_0x887a11,_0x108de1,_0x5b88b7){const _0x45df7a=_0x887a11['createUIElement']('span',_0x108de1);return _0x887a11['setCustomProperty']('userPositionMarker',!0x0,_0x45df7a),_0x45df7a['render']=function(_0x110c7a){const _0x47e37c=this['toDomElement'](_0x110c7a),_0x262b4c=document['createElement']('span');return _0x262b4c['classList']['add']('ck-user__marker-tooltip'),_0x262b4c['setAttribute']('contenteditable','false'),_0x262b4c['setAttribute']('spellcheck','false'),_0x262b4c['textContent']=_0x5b88b7['name'],_0x47e37c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x262b4c['outerHTML']+'⁠',_0x47e37c['addEventListener']('mouseenter',()=>{_0x47e37c['classList']['add']('ck-user__marker_hovered');}),_0x47e37c['addEventListener']('mouseleave',()=>{_0x47e37c['classList']['remove']('ck-user__marker_hovered');}),_0x47e37c;},_0x45df7a['isSimilar']=function(_0x5add46){return!(!this['getCustomProperty']('userPositionMarker')||!_0x5add46['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x5add46['getAttribute']('data-session-id'));},_0x45df7a;}(_0x5d0d28,_0x23785c,_0x431733);}(_0x400c98,_0xa30bbb,_0x49fdc1,_0x1f88ab)}),_0x1f88ab['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x546475=>function(_0x2241ca,_0x4f827b){const _0x438d2f=_0x2241ca['markerName']['split'](':')[0x2];if(_0x438d2f===_0x4f827b['mySessionId'])return null;const _0x21c718=_0x4f827b['getUserBySessionId'](_0x438d2f);if(!_0x21c718)return{'id':_0x438d2f,'classes':[]};return{'id':_0x438d2f,'classes':['ck-user__selection',_0x21c718['color']['getSelectionClass']()],'attributes':{'style':Q(_0x21c718),'data-session-id':_0x438d2f},'priority':0x7d0+_0x21c718['orderNumber']};}(_0x546475,_0x49fdc1)}),function(_0x3ed81d){const _0x27362e=_0x3ed81d['model'],_0x18fa98=new Map(),_0x35e73a=_0x3ed81d['plugins']['get'](Y);_0x27362e['markers']['on']('update:user:range',(_0x2a976f,_0x4615b7,_0x5d2f9f,_0x546039)=>{if(!_0x546039&&_0x18fa98['get'](_0x4615b7['name']))return _0x18fa98['get'](_0x4615b7['name'])['detach'](),void _0x18fa98['delete'](_0x4615b7['name']);const _0x384521=_0x4615b7['name']['split'](':')[0x2];if(_0x384521===_0x35e73a['mySessionId'])return;const _0x5f26ab='user:position:'+_0x384521;_0x27362e['markers']['has'](_0x5f26ab)&&_0x3ed81d['editing']['reconvertMarker'](_0x5f26ab),_0x4615b7['on']('change:range',(_0x592b91,_0x409254,_0x344281)=>{if('$graveyard'!=_0x409254['root']['rootName']&&'$graveyard'==_0x4615b7['getRange']()['root']['rootName']&&!_0x18fa98['has'](_0x4615b7['name'])){const _0x4b0f3e=_0x27362e['schema']['getNearestSelectionRange'](_0x344281['deletionPosition']);if(_0x4b0f3e){const _0x214220=_0x2c3be1['fromRange'](_0x4b0f3e);_0x18fa98['set'](_0x4615b7['name'],_0x214220),_0x214220['on']('change:range',(_0x44708b,_0xdbb591,_0x213c0c)=>{if('$graveyard'==_0x214220['root']['rootName']){const _0x4ae024=_0x27362e['schema']['getNearestSelectionRange'](_0x213c0c['deletionPosition']);_0x4ae024?(_0x214220['start']=_0x4ae024['start'],_0x214220['end']=_0x4ae024['end']):(_0x18fa98['delete'](_0x4615b7['name']),_0x214220['detach']());}});}}});}),_0x27362e['document']['on']('change',()=>{_0x18fa98['size']>0x0&&_0x27362e['enqueueChange']({'isUndoable':!0x1},_0x9246c1=>{for(const [_0xf623c6,_0x5bc823]of _0x18fa98)'$graveyard'==_0x27362e['markers']['get'](_0xf623c6)['getRange']()['root']['rootName']&&(J(_0xf623c6['split'](':')[0x2],_0x5bc823['toRange'](),_0x27362e,_0x9246c1),_0x5bc823['detach']());_0x18fa98['clear']();});});}(_0x1f88ab),this['_domEmitter']['listenTo'](_0x28e582['document'],'keydown',(_0x3a0278,{key:_0x33678c})=>{'Escape'===_0x33678c&&function(_0x115d4b){_0x115d4b['editing']['view']['change'](_0xe4007d=>{for(const _0x365374 of _0x115d4b['model']['markers']){if(!_0x365374['name']['startsWith']('user:position'))continue;const _0x3d0267=_0x115d4b['editing']['mapper']['markerNameToElements'](_0x365374['name']);if(_0x3d0267){for(const _0x3fa9c1 of _0x3d0267)_0xe4007d['removeClass']('ck-user__marker_hovered',_0x3fa9c1);}}});}(_0x1f88ab);},{'useCapture':!0x0});}['afterInit'](){const _0x2d6ae6=this['editor'],_0x395196=_0x2d6ae6['commands']['get']('undo');_0x395196&&_0x2d6ae6['model']['on']('applyOperation',(_0x1e998c,_0x24044e)=>{const _0x1a1895=_0x24044e[0x0];if(!_0x1a1895['isDocumentOperation'])return;if('marker'!=_0x1a1895['type']||!_0x1a1895['name']['startsWith']('user:'))return;const _0x37ae92=_0x1a1895['batch'];_0x395196['_createdBatches']['has'](_0x37ae92)&&(_0x1a1895['newRange']=_0x1a1895['oldRange']?_0x2d6ae6['model']['createRange'](_0x1a1895['oldRange']['start'],_0x1a1895['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x6e288=this['editor'],_0x2115c9=_0x6e288['model']['document'],_0xd5a2f1=_0x6e288['plugins']['get'](Y);_0x6e288['model']['enqueueChange']({'isUndoable':!0x1},_0x2eb053=>{const _0x203be3='user:range:'+_0xd5a2f1['mySessionId'],_0x564ad4='user:position:'+_0xd5a2f1['mySessionId'],_0x512cfd=_0x6e288['model']['markers']['has'](_0x203be3);_0x6e288['editing']['view']['hasDomSelection']?J(_0xd5a2f1['mySessionId'],_0x2115c9['selection']['getFirstRange'](),_0x6e288['model'],_0x2eb053):_0x512cfd&&(_0x2eb053['removeMarker'](_0x203be3),_0x2eb053['removeMarker'](_0x564ad4));});}}function J(_0x2fe993,_0x14e0a4,_0x41d9cb,_0x347495){const _0x1e314d='user:range:'+_0x2fe993,_0xef5825='user:position:'+_0x2fe993,_0x23c8de=_0x14e0a4['getContainedElement']();let _0x2a848e=_0x14e0a4['start'];if(_0x23c8de&&_0x23c8de['is']('element','tableCell')){const _0x44b64f=function(_0x89feb9,_0x212f81){for(const _0x287f3f of _0x89feb9['getPositions']())if(_0x212f81['schema']['checkChild'](_0x287f3f,'$text'))return _0x287f3f;}(_0x14e0a4,_0x41d9cb);_0x44b64f&&(_0x2a848e=_0x44b64f,_0x14e0a4=_0x347495['createRange'](_0x2a848e));}const _0x5cb381=_0x347495['createRange'](_0x2a848e);_0x41d9cb['markers']['has'](_0x1e314d)?(_0x347495['updateMarker'](_0x1e314d,{'range':_0x14e0a4}),_0x347495['updateMarker'](_0xef5825,{'range':_0x5cb381})):(_0x347495['addMarker'](_0x1e314d,{'range':_0x14e0a4,'usingOperation':!0x0}),_0x347495['addMarker'](_0xef5825,{'range':_0x5cb381,'usingOperation':!0x0}));}function Q(_0x28cac3){return'--ck-user-color:'+_0x28cac3['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x28cac3['color']['getColorAlphaVariable']()+';';}function X(_0x232819,_0x1dd0c1,_0x2ae089){const _0x586495=_0x232819['t'],t=_0x232819['t'];switch(_0x1dd0c1){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 _0x586495({'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'},_0x2ae089);default:return'';}}let Z=0x1;class tt extends _0x281793{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x296a21)());['_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,_0x5e8c5f,_0x4c102a,_0x516d46];}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 _0x24358b=this['serverHistory']['getOperations']();for(let _0x223bd1=_0x24358b['length']-0x1;_0x223bd1>=0x0;_0x223bd1--){const _0x2d6e4a=_0x24358b[_0x223bd1];if(!this['_disconnectionOperations']['has'](_0x2d6e4a))return _0x2d6e4a['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xa70e3f){if(super(_0xa70e3f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x28c39a(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xe32300('collaboration-missing-channelid',this);const _0x4d3805=_0xa70e3f['config']['get']('cloudServices.bundleVersion')||_0x5909bb;this['_service']=new tt['CollaborativeEditingService'](_0x4d3805,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3150b1(),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 _0x593cf1=this['editor'],_0x510c1c=_0x593cf1['plugins']['get'](_0x4c102a),_0x19dca9=_0x593cf1['plugins']['get'](z);this['listenTo'](_0x510c1c,'getOperationAuthor',(_0x619091,_0x5ed097)=>{const _0xe1e939=_0x5ed097[0x0];_0xe1e939['_authorId']&&(_0x619091['return']=_0x510c1c['getUser'](_0xe1e939['_authorId']),_0x619091['stop']()),null===_0xe1e939['_authorId']&&(_0x619091['return']=null,_0x619091['stop']());},{'priority':'high'}),this['listenTo'](_0x593cf1['model']['document']['selection'],'change:range',(_0x3119d6,_0x8439d8)=>{_0x8439d8['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x593cf1['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x593cf1['model']['on']('applyOperation',(_0x4288f9,_0x9887fb)=>{const _0xdcc168=_0x9887fb[0x0];_0xdcc168['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xdcc168),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x19dca9,'state',this,'_hasSynchronizationProblem',(_0x530923,_0x41c86e)=>'connected'===_0x530923&&!_0x41c86e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x593cf1['disableReadOnlyMode']('rtc-offline'):_0x593cf1['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x593cf1['disableReadOnlyMode']('rtc-offline'):_0x593cf1['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x16ff7c=this['editor']['plugins']['get'](Y),_0x5d94ed=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x16ff7c['unregister'](this['_channelId']);const _0x4d2027=await this['_service']['reconnect'](_0x5d94ed['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4d2027)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x50ad0d=await this['_service']['getConnectedSessions']();_0x16ff7c['register'](this['_channelId'],_0x50ad0d),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x59ca7b){if(function(_0x274690){return'404'===_0x274690['code'];}(_0x59ca7b)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x36113c){return'409'===_0x36113c['code'];}(_0x59ca7b)){const _0x48484d=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'](_0x48484d);}else{if(!(_0x59ca7b instanceof et))throw _0x59ca7b;this['_handleReconnectionError']();}}}}['destroy'](){const _0x298ecc=this['editor']['plugins']['get'](z),_0x4af420=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4af420['channelSessions']['has'](this['_channelId'])&&_0x4af420['unregister'](this['_channelId']),_0x298ecc['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x59e0db){if(this['sessionId']!==_0x59e0db['sessionId']&&this['_lastSyncedOperationId']!==_0x59e0db['lastOperationId'])throw new et();return this['sessionId']=_0x59e0db['sessionId'],this['_handleServerResponse']([],{..._0x59e0db,'wereChangesApplied':!0x1,'data':_0x59e0db['data']},'reconnect');}async['_connectService'](_0x48e3bb,_0x2bafa7=!0x1){const {connection:_0x586cd5}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x586cd5,this['_channelId'])['then'](_0xd518ab=>this['_initSessionsHandling'](_0xd518ab))['catch'](_0xb5d3ea=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xb5d3ea);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x230ec7,_0x50c7e4)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x50c7e4);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x13b551=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x48e3bb);this['_isPendingUpdate']=!0x0;const _0x59c85d=await this['_service']['connect'](_0x586cd5,this['_compressOperations'](_0x48e3bb),_0x13b551);if(this['sessionId']=_0x59c85d['sessionId'],_0x2bafa7){if(!_0x59c85d['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x59c85d['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x48e3bb,_0x59c85d,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x59c85d,_0x48e3bb);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xc48654=this['editor']['plugins']['get'](Y),_0x45b07d=this['editor']['plugins']['get'](K),_0x4c1f56=_0xc48654['channelSessions']['get'](this['_channelId']);_0x4c1f56&&_0x4c1f56['length']>0x1?_0x45b07d['createUserMarkerOperations']():this['listenTo'](_0xc48654,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xc48654['channelSessions']['get'](this['_channelId'])['length']&&_0x45b07d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x539aa3,_0x29bb7e,_0x1d0d0b,_0x5d5fc7){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x29bb7e){const _0x28fbc8=this['_decompressOperations'](_0x1d0d0b,_0x5d5fc7);await this['_fetchMissingUsers'](_0x28fbc8),this['_handleExternalOperations'](_0x28fbc8,_0x29bb7e,_0x1d0d0b['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x282e26}=this['editor'];let _0x3a5b2d;try{_0x3a5b2d=await this['_service']['getDocumentDetails']();}catch{const _0x2d1987=X(_0x282e26,'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'](_0x2d1987);}const _0x2c88d2=_0x3a5b2d['currentDocumentSession']||_0x3a5b2d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2c88d2['lastOperationId']){const _0x410b96=X(_0x282e26,'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'](_0x410b96);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x307c59){const _0x12bba9=this['editor']['plugins']['get'](Y);this['listenTo'](_0x12bba9,'sessionAdd:'+this['_channelId'],(_0x43a05a,{session:_0x51a003})=>{if(_0x51a003['id']===_0x12bba9['mySessionId']){_0x43a05a['off']();const _0x28d616=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1291a0=_0x51a003['permissions'];_0x28d616&&_0x28d616['isEnabled']&&(_0x1291a0=_0x1291a0['filter'](_0x410ac9=>'document:write'!==_0x410ac9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1291a0,this['_channelId']);}}),_0x12bba9['register'](this['_channelId'],_0x307c59);}['_initThrowingOnDataSet'](){const _0x4ccd21=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5a61ae)=>{if(!_0x5a61ae[_0x5a61ae['length']-0x1]['suppressErrorInCollaboration'])throw new _0xe32300('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x4ccd21['apply'](this['editor']['data'],_0x5a61ae);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x410cd2,[_0x320471])=>{if(this['_document']['version'])throw new _0xe32300('realtimecollaborationclient-init-document-already-initialized',this);_0x410cd2['stop'](),this['_setPendingAction']();const _0x4f9f15=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x456312])=>!_0x456312['lazyLoad'])['map'](([_0x3237f3,_0x2ec41c])=>[_0x3237f3,_0x2ec41c['modelAttributes']||{}])),_0x2556f2=this['_getOperationsFromInitData'](_0x320471,_0x4f9f15);0x0==_0x2556f2['length']&&_0x2556f2['push'](new _0x270f4f(0x0)),_0x410cd2['return']=this['_connectService'](_0x2556f2)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xef8ebe=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xef8ebe))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x527f90,[_0x53d849,_0x5a6af9])=>{_0x527f90['stop']();const _0x4871ae=this['editor']['model']['document']['getRoot'](_0x53d849);if(!this['_knownRootNames']['has'](_0x53d849)){const _0xfd0f76=_0x5a6af9&&_0x5a6af9['data']?_0x5a6af9['data']:'',_0x2f653c=_0x5a6af9&&_0x5a6af9['attributes']?_0x5a6af9['attributes']:{};await this['_loadRoot'](_0x53d849,_0xfd0f76,_0x2f653c);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4871ae['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4871ae);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x31b212){const _0x344f1a=this['editor']['plugins']['get'](_0x4c102a),{connection:_0x21400a}=this['editor']['plugins']['get'](z),_0x51aa15=new Set();for(const _0x476f67 of _0x31b212){const _0x144cd9=_0x476f67['_authorId'];_0x144cd9&&!_0x344f1a['getUser'](_0x144cd9)&&_0x51aa15['add'](_0x144cd9);}if(0x0===_0x51aa15['size'])return;const _0x362fe1=await _0x381d6e['getMany'](_0x21400a,Array['from'](_0x51aa15));for(const _0x469ec0 of _0x362fe1)_0x344f1a['getUser'](_0x469ec0['id'])||_0x344f1a['addUser'](_0x469ec0);}['_getOperationsFromInitData'](_0xc1777a,_0x22c2a6={}){const _0x3a9dd5=this['editor']['model'],_0x1acfc0=[];let _0x28285c=0x0;const _0x58c28a='string'==typeof _0xc1777a?{'main':_0xc1777a}:_0xc1777a;for(const _0x2985c7 of Object['keys'](_0x58c28a)){if(!this['_document']['roots']['has'](_0x2985c7))throw new _0xe32300('realtimecollaborationclient-init-non-existent-root',this);const _0x1da57d=this['editor']['data']['parse'](_0x58c28a[_0x2985c7]),_0x41a2a2=this['_document']['getRoot'](_0x2985c7),_0x3ce651=new _0x570df8(_0x3a9dd5['createPositionAt'](_0x41a2a2,0x0),_0x1da57d,_0x28285c++);_0x1acfc0['push'](_0x3ce651);for(const [_0xc4f590,_0x4d3994]of _0x1da57d['markers']){const _0x32c222=_0x3a9dd5['createRange'](_0x3a9dd5['createPositionFromPath'](_0x41a2a2,_0x4d3994['start']['path']['slice']()),_0x3a9dd5['createPositionFromPath'](_0x41a2a2,_0x4d3994['end']['path']['slice']())),_0x21f08f=new _0x191477(_0xc4f590,null,_0x32c222,_0x3a9dd5['markers'],!0x0,_0x28285c++);_0x1acfc0['push'](_0x21f08f);}}if(_0x22c2a6)for(const [_0x4db17d,_0x364ad9]of Object['entries'](_0x22c2a6)){const _0xf02fd2=_0x3a9dd5['document']['getRoot'](_0x4db17d);if(!_0xf02fd2)throw new _0xe32300('multi-root-editor-root-attributes-no-root',null);for(const [_0x2d164,_0x133933]of Object['entries'](_0x364ad9))if(null!==_0x133933){const _0x525a08=new _0x37805c(_0xf02fd2,_0x2d164,null,_0x133933,_0x28285c++);_0x1acfc0['push'](_0x525a08);}}return _0x1acfc0;}async['_loadRoot'](_0x168bfe,_0x2813fd,_0x3be367){this['_getOperationsFromInitData']({[_0x168bfe]:_0x2813fd},{[_0x168bfe]:_0x3be367})['forEach']((_0x5bb41f,_0x1fa2ed)=>{_0x5bb41f['baseVersion']=this['_document']['version']+_0x1fa2ed,_0x5bb41f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5bb41f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x559f84,_0x187697){let _0x152c86;this['_offset']=_0x559f84['offset'];const _0x4a6b19=_0x559f84['wereChangesApplied']&&!_0x559f84['initData'],_0x41d0bf=_0x4a6b19?0x0:_0x559f84['data']['baseVersion'];if(_0x187697['forEach'](_0x2d4576=>{_0x2d4576['_isInit']=!0x0,_0x2d4576['createdAt']=_0x559f84['sessionCreatedAt'],_0x2d4576['_authorId']=null;}),_0x4a6b19)_0x152c86=_0x187697,this['_applyOperationsSet'](_0x152c86,_0x4a6b19);else{if(_0x559f84['initData']){const _0x4c4a7e=this['_getOperationsFromInitData'](_0x559f84['initData']);this['_document']['history']['version']=-_0x4c4a7e['length'],_0x4c4a7e['forEach'](_0x341ed4=>{_0x341ed4['baseVersion']-=_0x4c4a7e['length'],_0x341ed4['createdAt']=_0x559f84['sessionCreatedAt'],_0x341ed4['_isInit']=!0x0,_0x341ed4['_authorId']=null;}),this['_applyOperationsSet'](_0x4c4a7e,!0x0),this['serverHistory']['version']=-_0x4c4a7e['length']+this['_offset'],this['_updateServerHistory'](_0x4c4a7e);}this['_document']['history']['version']=_0x41d0bf,_0x152c86=this['_decompressOperations'](_0x559f84['data'],_0x559f84['metadata']),await this['_fetchMissingUsers'](_0x152c86),this['_applyOperationsSet'](_0x152c86,_0x4a6b19);}_0x559f84['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x152c86,_0x559f84['lastOperationId']),this['_lastSyncedOperationId']=_0x559f84['lastOperationId']),this['serverHistory']['version']=_0x41d0bf+this['_offset'],this['_updateServerHistory'](_0x152c86),_0x187697['filter'](_0x2744a6=>{const _0x20e5d7=this['_getAffectedRoot'](_0x2744a6);return _0x20e5d7&&!this['_knownRootNames']['has'](_0x20e5d7);})['forEach']((_0x1d00d0,_0x470a89)=>{_0x1d00d0['baseVersion']=this['_document']['version']+_0x470a89,this['_saveOperationInBuffer'](_0x1d00d0);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x226ccc,_0x5e6157){const _0x23ee6b=_0x5e6157&&_0x5e6157['message'];if(_0x23ee6b&&_0x23ee6b['startsWith']('realtimecollaborationclient'))throw _0x5e6157;const _0x257abc=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x257abc['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xe32300(_0x226ccc,this['editor'],_0x23ee6b?{'originalError':_0x23ee6b}:void 0x0);}['_saveOperationInBuffer'](_0x57ec03){this['_knownOperations']['has'](_0x57ec03)||(this['_knownOperations']['add'](_0x57ec03),this['_bufferedOperations']['push'](_0x57ec03),this['_pendingAction']||'marker'==_0x57ec03['type']&&!_0x57ec03['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5b49c0=!0x1){!_0x5b49c0&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xbf1abf=>{_0xbf1abf&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5f0a28=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2558af){return _0x2558af['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2558af['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2558af['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5f0a28)||this['_crash'](_0x5f0a28['message'],_0x5f0a28);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x26d595=>{this['on']('change:_isPendingUpdate',()=>{_0x26d595();});});}async['_sendBufferedOperations'](){const _0x2750a5=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x2750a5['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x265e6f=[...this['_bufferedOperations']];for(const _0x2b8bf5 of _0x265e6f)_0x2b8bf5['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2b8bf5);const _0x3aae54=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x265e6f),_0x490ff4=Z++,_0x4130a8=this['_compressOperations'](_0x265e6f),_0x4b65bb=await this['_service']['sendOperations'](_0x4130a8,_0x4130a8['baseVersion'],_0x3aae54);try{return await this['_handleServerResponse'](_0x265e6f,_0x4b65bb,_0x490ff4);}catch(_0xd3a286){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xd3a286);}}async['_handleServerResponse'](_0x40f905,_0x2d7609,_0x105607){if('error'in _0x2d7609)throw _0x2d7609['error'];let _0x283576=!0x1;if(_0x2d7609['wereChangesApplied']){_0x2d7609['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2d7609['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x583128=>!_0x40f905['includes'](_0x583128));for(const _0x4ca1e4 of _0x40f905)_0x4ca1e4['createdAt']='lastOperationAcceptedAt'in _0x2d7609&&_0x2d7609['lastOperationAcceptedAt']||void 0x0;st(_0x40f905,_0x2d7609['version']-_0x40f905['length']),this['_updateServerHistory'](_0x40f905);const _0x58ea54=_0x40f905['filter'](_0x101873=>{if(!_0x101873['_isInit'])return!0x1;const _0x59da68=this['_getAffectedRoot'](_0x101873);return _0x59da68&&!this['_knownRootNames']['has'](_0x59da68);});st(_0x58ea54,this['_document']['version']),this['_applyOperationsSet'](_0x58ea54),_0x283576=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x171707=this['_decompressOperations'](_0x2d7609['data'],_0x2d7609['metadata'])['filter'](_0x36302a=>_0x36302a['baseVersion']>=this['_lastServerVersion']);_0x171707['forEach'](_0xe5dfd1=>this['_addKnownRoot'](_0xe5dfd1)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x546edc=>!_0x546edc['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x546edc))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x171707),_0x283576=this['_handleExternalOperations'](_0x171707,_0x2d7609['version'],_0x2d7609['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x283576?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x41eb8c,_0x5cb972,_0xe7236a){try{const _0x5c0e29={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2a8cb0,operationsB:_0x449961,originalOperations:_0x26f3c6}=_0x704f48(_0x41eb8c,this['_bufferedOperations'],_0x5c0e29);st(_0x2a8cb0,this['_document']['version']),st(_0x449961,_0x5cb972);for(const _0x2ce8a9 of _0x2a8cb0){const _0x4d7c19=_0x26f3c6['get'](_0x2ce8a9);_0x2ce8a9['_authorId']=_0x4d7c19?_0x4d7c19['_authorId']:null;}_0xe7236a&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x41eb8c,_0xe7236a),this['_lastSyncedOperationId']=_0xe7236a),this['_bufferedOperations']=[..._0x449961],this['_applyOperationsSet'](_0x2a8cb0),this['_updateServerHistory'](_0x41eb8c);}catch(_0x530fad){return console['error'](_0x530fad),!0x1;}return!0x0;}['_applyOperationsSet'](_0x235348,_0x976b55=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x50bfd7=>{for(const _0x3989cb of _0x235348)this['_knownOperations']['add'](_0x3989cb),this['_addKnownRoot'](_0x3989cb),_0x50bfd7['batch']['addOperation'](_0x3989cb),this['editor']['model']['applyOperation'](_0x3989cb);});}['_addKnownRoot'](_0x545069){const _0x211d16=this['_getAffectedRoot'](_0x545069);_0x211d16&&this['_knownRootNames']['add'](_0x211d16);}['_getAffectedRoot'](_0x2f69bc){let _0x31ae32,_0x4ce046;switch(_0x2f69bc['type']){case'insert':_0x31ae32=_0x2f69bc['position']['root'];break;case'marker':if(_0x4ce046=_0x2f69bc['newRange'],!_0x4ce046)return null;_0x31ae32=_0x4ce046['root'];break;case'addRootAttribute':_0x31ae32=_0x2f69bc['root'];break;case'addRoot':_0x31ae32=_0x2f69bc['affectedSelectable'];break;case'move':_0x31ae32=_0x2f69bc['targetPosition']['root'];break;default:return null;}return _0x31ae32['rootName'];}['_updateServerHistory'](_0x4e3399){_0x4e3399['forEach'](_0x3b3bea=>{const _0x40e770=_0x3b3bea['clone']();_0x40e770['_authorId']=_0x3b3bea['_authorId'],_0x40e770['_isInit']=!!_0x3b3bea['_isInit'],_0x40e770['createdAt']=_0x3b3bea['createdAt'],_0x40e770['baseVersion']+=this['_offset'],_0x3b3bea['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x40e770),this['serverHistory']['addOperation'](_0x40e770);});}['_handleReconnectionError'](_0x114631){const _0x4f4c21=this['editor']['plugins']['get']('Notification'),_0x395985=this['editor']['locale'];_0x114631||(_0x114631=X(_0x395985,'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.')),_0x4f4c21['showWarning'](_0x114631,{'title':X(_0x395985,'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'](_0x5e8c5f)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5e8c5f)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x49914b){const _0x5a8498=_0x49914b['map'](_0x563aec=>_0x563aec['toJSON']());return this['_compressor']['compress'](_0x5a8498);}['_decompressOperations'](_0x25e0ca,_0x37b01f){return this['_compressor']['decompress'](_0x25e0ca)['map']((_0x1a80a3,_0x4aa49b)=>{const _0xcb57a2='init'==_0x37b01f[_0x4aa49b]['type'];if('InsertOperation'==_0x1a80a3['__className']){const _0x15b7d4=_0x1a80a3['position']['root'];!this['_document']['getRoot'](_0x15b7d4)&&(this['_document']['createRoot']('$root',_0x15b7d4)['_isAttached']=!0x1);}const _0x589a83=_0xf2f158['fromJSON'](_0x1a80a3,this['_document']);return _0x589a83['wasUndone']=_0x1a80a3['wasUndone'],_0x589a83['_isInit']=_0xcb57a2,_0x589a83['_authorId']=_0xcb57a2?null:_0x37b01f[_0x4aa49b]['userId'],_0x589a83['_isDisconnection']='cs:removeUser'===_0x37b01f[_0x4aa49b]['type'],_0x589a83['createdAt']=_0x37b01f[_0x4aa49b]['createdAt'],_0x589a83;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x946976=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x946976&&_0x946976['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x402d66,_0x337bfc){for(const _0x53579b of _0x402d66)_0x53579b['baseVersion']=_0x337bfc++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x19d132){this['_ignoredOperations']=_0x19d132,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4478a0){let _0x45bf7b=_0x4478a0['length'];for(;_0x45bf7b--;){const _0x4220e1=_0x4478a0[_0x45bf7b];if(!this['_ignoredOperations']['has'](_0x4220e1)){if(!this['_operationToId']['has'](_0x4220e1)){const _0x984ee9=_0x494522()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4220e1,_0x984ee9);}return this['_operationToId']['get'](_0x4220e1);}}}['setIdForTheLastOperation'](_0x377fb2,_0x4481a8){if(!_0x4481a8)return;let _0x18255c=_0x377fb2['length'];for(;_0x18255c--;){const _0x4c23f2=_0x377fb2[_0x18255c];this['_ignoredOperations']['has'](_0x4c23f2)||this['_operationToId']['set'](_0x4c23f2,_0x4481a8);}}}class nt extends _0x281793{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xef80a1{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x79be79)());['_services'];static get['requires'](){return[z,_0x5be5e5,Y,_0x4c102a];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x315847){super(_0x315847),this['_services']=new Map();}async['init'](){const _0x114fc6=this['context'],_0x4cf224=_0x114fc6['plugins']['get'](_0x5be5e5);if(_0x114fc6['plugins']['get'](z)['addToReconnectionStack'](this),_0x4cf224['adapter']={'addCommentThread':async({channelId:_0x2d1d60,threadId:_0x34e003,comments:_0x11c99a,resolvedAt:_0x283ac7,resolvedBy:_0x5c02a,context:_0x15c445,attributes:_0x1b5809})=>{const _0x2d0cc0=await this['_getService'](_0x2d1d60)['addCommentThread']({'commentThreadId':_0x34e003,'comments':_0x11c99a['map'](_0x21f76c=>function(_0x252588,_0x5ec92d,_0x37f98e){return{'commentThreadId':_0x37f98e,'commentId':_0x252588['commentId'],'userId':_0x252588['authorId'],'content':_0x252588['content'],'documentId':_0x5ec92d,'createdAt':_0x252588['createdAt'],'attributes':_0x252588['attributes']||{}};}(_0x21f76c,_0x2d1d60,_0x34e003)),'resolvedAt':_0x283ac7,'resolvedBy':_0x5c02a,'context':_0x15c445,'attributes':_0x1b5809})['catch'](ct);return{'threadId':_0x2d0cc0['commentThreadId'],'comments':_0x2d0cc0['comments']};},'getCommentThread':async({channelId:_0x4c85c8,threadId:_0x25e721})=>{const _0x16142c=await this['_getService'](_0x4c85c8)['getCommentThread'](_0x25e721)['catch'](rt)['catch'](ct);return _0x16142c?_0x16142c['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x16142c]),{'threadId':_0x16142c['commentThreadId'],'comments':_0x16142c['comments']['map'](at),'context':_0x16142c['context'],'resolvedAt':_0x16142c['resolvedAt'],'resolvedBy':_0x16142c['resolvedBy'],'attributes':_0x16142c['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5aee4,threadId:_0x2a9109,context:_0x52faba,unlinkedAt:_0x16133d,attributes:_0x3ca8f9})=>this['_getService'](_0x5aee4)['updateCommentThread']({'commentThreadId':_0x2a9109,'context':_0x52faba,'attributes':_0x3ca8f9,'unlinkedAt':_0x16133d})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x1ba3fb,threadId:_0x53cd89})=>{const _0x2b44b2=await this['_getService'](_0x1ba3fb)['resolveCommentThread'](_0x53cd89)['catch'](rt)['catch'](ct);return{'threadId':_0x2b44b2['commentThreadId'],'resolvedAt':_0x2b44b2['resolvedAt'],'resolvedBy':_0x2b44b2['resolvedBy']};},'reopenCommentThread':async({channelId:_0x864210,threadId:_0x1014af})=>this['_getService'](_0x864210)['reopenCommentThread'](_0x1014af)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3363e6,threadId:_0x570995})=>this['_getService'](_0x3363e6)['removeCommentThread'](_0x570995)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x394f71,threadId:_0x2eb9d6,commentId:_0x52d4c2,content:_0x3e670c,attributes:_0x138212})=>this['_getService'](_0x394f71)['addComment'](_0x2eb9d6,_0x52d4c2,_0x3e670c,_0x138212)['catch'](ct),'updateComment':({channelId:_0x264878,threadId:_0x8a28c3,commentId:_0x1644fc,content:_0x4a4b1c,attributes:_0x406907})=>this['_getService'](_0x264878)['updateComment'](_0x8a28c3,_0x1644fc,_0x4a4b1c,_0x406907)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x2c0a10,threadId:_0x5d761b,commentId:_0x1d94fe})=>this['_getService'](_0x2c0a10)['removeComment'](_0x5d761b,_0x1d94fe)['catch'](rt)['catch'](ct)},_0x114fc6 instanceof _0x5407be){const _0x1053d3=_0x114fc6['config']['get']('collaboration.channelId'),_0x5d5f5b=_0x114fc6['plugins']['get'](Y);await this['_setUpService'](_0x1053d3);const _0x5d999f=await this['_services']['get'](_0x1053d3)['getConnectedSessions']();this['listenTo'](_0x5d5f5b,'sessionAdd:'+_0x1053d3,(_0xfb2ddf,{session:_0x517302})=>{_0x517302['id']===_0x5d5f5b['mySessionId']&&(_0xfb2ddf['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x517302['permissions'],_0x1053d3));}),_0x5d5f5b['register'](_0x1053d3,_0x5d999f);}}async['_setUpService'](_0x576fe3){if(this['_services']['has'](_0x576fe3))throw new _0xe32300('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x576fe3});const _0x3697f8=this['context']['plugins']['get'](_0x5be5e5),_0x13e1ef=new ot['CommentsService'](_0x576fe3);this['_services']['set'](_0x576fe3,_0x13e1ef),this['listenTo'](_0x13e1ef,'commentThreadAdded',(_0xca40,_0x79c679)=>{const {commentThreadId:_0x23828d,documentId:_0x1d7849,context:_0x2f8618,attributes:_0x1dd513,resolvedAt:_0x32db7e,resolvedBy:_0x52934f,comments:_0x1c319a}=_0x79c679;_0x3697f8['getCommentThread'](_0x23828d)||_0x3697f8['addCommentThread']({'threadId':_0x23828d,'channelId':_0x1d7849,'comments':_0x1c319a?_0x1c319a['map'](at):[],'context':_0x2f8618,'attributes':_0x1dd513,'resolvedAt':_0x32db7e,'resolvedBy':_0x52934f,'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentThreadUpdated',(_0x585ed8,{commentThreadId:_0x584e77,documentId:_0x5a9e07,context:_0x595ba4,unlinkedAt:_0xa56c15,attributes:_0x15bf31})=>{_0x3697f8['getCommentThread'](_0x584e77)&&_0x3697f8['updateCommentThread']({'threadId':_0x584e77,'channelId':_0x5a9e07,'context':_0x595ba4,'unlinkedAt':_0xa56c15,'attributes':_0x15bf31,'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentThreadResolved',(_0x370493,{commentThreadId:_0x184db6,resolvedBy:_0x3c0fc4,resolvedAt:_0x343b0f})=>{const _0x14b2a6=_0x3697f8['getCommentThread'](_0x184db6);_0x14b2a6&&_0x14b2a6['resolve']({'resolvedBy':_0x3c0fc4,'resolvedAt':_0x343b0f,'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentThreadReopened',(_0x2add94,{commentThreadId:_0x5165aa})=>{const _0x11b002=_0x3697f8['getCommentThread'](_0x5165aa);_0x11b002&&_0x11b002['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentThreadRemoved',(_0x14ac90,{commentThreadId:_0x19f224})=>{const _0x134af1=_0x3697f8['getCommentThread'](_0x19f224);_0x134af1&&_0x134af1['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentAdded',(_0x5aee0f,_0x3f35fa)=>{const _0x155b1b=_0x3f35fa['commentThreadId'],_0x70837b=_0x3697f8['getCommentThread'](_0x155b1b);_0x70837b&&_0x70837b['addComment']({...at(_0x3f35fa),'isFromAdapter':!0x0});}),this['listenTo'](_0x13e1ef,'commentUpdated',(_0x3f40a7,{commentThreadId:_0x30651c,commentId:_0x2b4cca,content:_0x3fbbf0,attributes:_0x344bd})=>{const _0x34bbc4=_0x3697f8['getCommentThread'](_0x30651c);if(_0x34bbc4){const _0x31714e=_0x34bbc4['getComment'](_0x2b4cca);_0x31714e&&_0x31714e['update']({'content':_0x3fbbf0,'attributes':_0x344bd,'isFromAdapter':!0x0});}}),this['listenTo'](_0x13e1ef,'commentRemoved',(_0x2eecc1,{commentThreadId:_0xa67bd4,commentId:_0x544ec2})=>{const _0x35fec6=_0x3697f8['getCommentThread'](_0xa67bd4);if(_0x35fec6){const _0x30bd80=_0x35fec6['getComment'](_0x544ec2);_0x30bd80&&_0x30bd80['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x576fe3);}['destroy'](){if(this['context']instanceof _0x5407be){const _0x17e50b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x17e50b);}}['_terminateService'](_0xf5151){if(!this['_services']['has'](_0xf5151))throw new _0xe32300('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xf5151});this['_getService'](_0xf5151)['disconnect'](),this['_services']['delete'](_0xf5151);}async['reconnect'](){for(const _0x4cae68 of this['_services']['keys']())await this['_connectService'](_0x4cae68);if(this['context']instanceof _0x5407be){const _0x1289a2=this['context']['config']['get']('collaboration.channelId'),_0x21da19=this['context']['plugins']['get'](Y);_0x21da19['unregister'](_0x1289a2);const _0x330d35=await this['_services']['get'](_0x1289a2)['getConnectedSessions']();_0x21da19['register'](_0x1289a2,_0x330d35);}}async['_connectService'](_0x5aeb53){const {connection:_0x28ba69}=this['context']['plugins']['get'](z),_0x5a5681=this['context']['plugins']['get'](_0x5be5e5),_0x336038=this['_services']['get'](_0x5aeb53),_0x250de1=await _0x336038['connect'](_0x28ba69);await this['_fetchMissingUsersForThreads'](_0x250de1);const _0x483632=new Set(Array['from'](_0x5a5681['getCommentThreads']({'channelId':_0x5aeb53}),_0x5bb9b1=>_0x5bb9b1['id']));for(const _0x48a61c of _0x250de1)_0x48a61c['deletedAt']||_0x483632['delete'](_0x48a61c['commentThreadId']);for(const _0x43007c of _0x483632)_0x5a5681['getCommentThread'](_0x43007c)['remove']({'isFromAdapter':!0x0});for(const _0x632af9 of _0x250de1){let _0x38c566=_0x5a5681['getCommentThread'](_0x632af9['commentThreadId']);const {commentThreadId:_0x4490a6,context:_0x1c092e,attributes:_0x5ab3cf,resolvedBy:_0x46546a,resolvedAt:_0x3df113,unlinkedAt:_0x125eac,deletedAt:_0x39caa7}=_0x632af9;if(_0x39caa7)continue;_0x38c566||(_0x38c566=_0x5a5681['addCommentThread']({'channelId':_0x5aeb53,'threadId':_0x4490a6,'context':_0x1c092e,'attributes':_0x5ab3cf||{},'resolvedBy':_0x46546a,'resolvedAt':_0x3df113,'unlinkedAt':_0x125eac,'isFromAdapter':!0x0}));const _0x6f9c11=new Set(Array['from'](_0x38c566['comments'],_0x2fd450=>_0x2fd450['id']));for(const _0x1c1304 of _0x632af9['comments'])_0x6f9c11['delete'](_0x1c1304['commentId']);for(const _0x31f8cc of _0x6f9c11)_0x38c566['getComment'](_0x31f8cc)['remove']({'isFromAdapter':!0x0});for(const _0x2293b2 of _0x632af9['comments']){const _0x1e41d9=_0x38c566['getComment'](_0x2293b2['commentId']);_0x1e41d9?_0x1e41d9['content']!==_0x2293b2['content']&&_0x1e41d9['update']({'content':_0x2293b2['content'],'isFromAdapter':!0x0}):_0x38c566['addComment'](Object['assign'](at(_0x2293b2),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4176ac){if(!this['_services']['has'](_0x4176ac))throw new _0xe32300('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4176ac});return this['_services']['get'](_0x4176ac);}async['_fetchMissingUsersForThreads'](_0x2ab6d5){const _0x6949bc=this['context']['plugins']['get'](_0x4c102a),{connection:_0x1c0f42}=this['context']['plugins']['get'](z),_0x3bf999=new Set();for(const {resolvedBy:_0x514cb8,comments:_0x57b70a}of _0x2ab6d5){_0x514cb8&&!_0x6949bc['getUser'](_0x514cb8)&&_0x3bf999['add'](_0x514cb8);for(const {userId:_0x16329e}of _0x57b70a)_0x6949bc['getUser'](_0x16329e)||_0x3bf999['add'](_0x16329e);}if(0x0===_0x3bf999['size'])return;const _0xdea67a=await _0x381d6e['getMany'](_0x1c0f42,Array['from'](_0x3bf999));for(const _0x3f6de9 of _0xdea67a)_0x6949bc['getUser'](_0x3f6de9['id'])||_0x6949bc['addUser'](_0x3f6de9);}}async function rt(_0x5969bd){if('404'!==_0x5969bd['code'])throw _0x5969bd;}function ct(_0x4885e0){if((_0x1ead34=_0x4885e0)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1ead34['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1ead34['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1ead34;throw _0x4885e0;}function at(_0x35d293){return{'threadId':_0x35d293['commentThreadId'],'commentId':_0x35d293['commentId'],'content':_0x35d293['content'],'createdAt':_0x35d293['createdAt'],'authorId':_0x35d293['userId'],'attributes':_0x35d293['attributes']||{}};}class ht extends _0x281793{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x46718a)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x539b66,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x287059){super(_0x287059);const _0xd34248=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0xd34248);}['init'](){const _0x151b68=this['editor']['plugins']['get'](z),_0x146423=this['editor']['plugins']['get'](_0x539b66);return _0x146423['adapter']={'getSuggestion':async _0x31e13f=>{await this['_waitForServiceReady']();const _0x27a790=await this['_trackChangesService']['get'](_0x31e13f)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x27a790]),_0x27a790;},'addSuggestion':async({id:_0x40cb19,type:_0x8ae60d,data:_0x434081,originalSuggestionId:_0x34a135,attributes:_0x3ef200})=>{await this['_waitForServiceReady']();const _0x2edbdf={'id':_0x40cb19,'type':_0x8ae60d,'data':_0x434081,'originalSuggestionId':_0x34a135,'attributes':_0x3ef200},_0x2b0c94=await this['_trackChangesService']['add'](_0x40cb19,_0x8ae60d,_0x434081,_0x34a135,_0x3ef200)['catch'](_0x5c64af=>{if(dt(_0x5c64af))return new Promise(_0x10bf5c=>{this['_bufferedRequests']['set'](_0x40cb19,{'resolve':_0x10bf5c,'suggestionData':_0x2edbdf});});throw _0x5c64af;});return this['_bufferedRequests']['delete'](_0x40cb19),_0x2b0c94;},'updateSuggestion':async(_0x429215,_0x287c8a)=>{if(await this['_waitForServiceReady'](),'open'!==_0x287c8a['state'])return this['_trackChangesService']['update'](_0x429215,_0x287c8a)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x20d642,_0x4fcdce)=>{_0x146423['hasSuggestion'](_0x4fcdce['id'])&&(_0x146423['getSuggestion'](_0x4fcdce['id'])['attributes']=_0x4fcdce['attributes']);}),this['_trackChangesService']['connect'](_0x151b68['connection'])['then'](_0x20139e=>(_0x151b68['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x20139e)['then'](()=>{for(const _0x48a7f0 of _0x20139e){_0x146423['addSuggestionData'](_0x48a7f0)['_saved']=!0x0;}})));}async['reconnect'](){const _0xfa26b8=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4b1282}=this['editor']['plugins']['get'](z),_0x59fffd=await this['_trackChangesService']['connect'](_0x4b1282);await this['_fetchMissingUsersForThreads'](_0x59fffd);for(const {suggestionData:_0x2a2d33,resolve:_0x3e1082}of this['_bufferedRequests']['values']()){let _0x5ecbef=_0x59fffd['find'](_0x37cc6e=>_0x37cc6e['id']===_0x2a2d33['id']);_0x5ecbef||(_0x5ecbef=await this['_trackChangesService']['add'](_0x2a2d33['id'],_0x2a2d33['type'],_0x2a2d33['data'],_0x2a2d33['originalSuggestionId'])),_0x3e1082(_0x5ecbef);}for(const _0x25cb15 of _0x59fffd)_0xfa26b8['hasSuggestion'](_0x25cb15['id'])||_0xfa26b8['addSuggestionData'](_0x25cb15);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x158f6c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x19a360=>{_0x19a360['off'](),_0x158f6c();});});}async['_fetchMissingUsersForThreads'](_0x2f47a4){const _0x288996=this['editor']['plugins']['get'](_0x4c102a),{connection:_0xb6fc8c}=this['editor']['plugins']['get'](z),_0x4a8882=new Set();for(const {authorId:_0x3d1822}of _0x2f47a4)_0x288996['getUser'](_0x3d1822)||_0x4a8882['add'](_0x3d1822);if(0x0===_0x4a8882['size'])return;const _0x2b3585=await _0x381d6e['getMany'](_0xb6fc8c,Array['from'](_0x4a8882));for(const _0x2c3196 of _0x2b3585)_0x288996['getUser'](_0x2c3196['id'])||_0x288996['addUser'](_0x2c3196);}}function lt(_0x4c2b5c){if(dt(_0x4c2b5c))return new Promise(()=>{});throw _0x4c2b5c;}function dt(_0x4295f0){return _0x4295f0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4295f0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x281793{static get['requires'](){return[_0x186826,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2a4f3a=this['editor']['plugins']['get'](z),_0xc7a8bb=this['editor']['plugins']['get'](_0x59426b),_0x51a8c7=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2a4f3a,'change:state',(_0x2c16d8,_0x1fde6a,_0x1eca1d)=>{_0xc7a8bb['isThreadsLoadingPaused']='connected'!==_0x1eca1d;});}),this['listenTo'](_0x2a4f3a,'change:state',(_0x1e86ea,_0x5e1c65,_0x5c03a0)=>{this['editor']['plugins']['get'](_0x5be5e5)['switchReadOnly']('connected'!==_0x5c03a0);}),_0x51a8c7['_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 _0x281793{static get['requires'](){return[ut,ht,_0xadf793];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x281793{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x1279c1)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x4a2d92,Y,_0x4c102a];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x45d2d4){super(_0x45d2d4);const _0x2c68fa=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x2c68fa);}async['init'](){const _0x1f2c60=this['editor']['plugins']['get'](tt),_0x3f5c18=_0x1f2c60['serverHistory'],_0x270837=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x3f5c18,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1f2c60['sessionId']});const _0x199c0b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x5909bb,_0x9cd8e2=await _0x33edb5['isBundleUploaded'](_0x270837['connection'],_0x199c0b);this['editor']['plugins']['get'](_0x4a2d92)['adapter']={'getRevision':async({revisionId:_0xb7c13b})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xb7c13b)),'updateRevisions':async _0x12f76c=>{await this['_waitForServiceReady']();const _0x63ac8d=this['_revisionTracker']['currentRevision'];if(_0x9cd8e2&&0x1===_0x12f76c['length']&&_0x12f76c[0x0]['id']===_0x63ac8d['id'])return _0x12f76c;for(const _0x10ec33 of _0x12f76c)_0x10ec33['id']===_0x63ac8d['id']&&(_0x10ec33['isEmptyCurrent']=_0x10ec33['fromVersion']===_0x10ec33['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x12f76c,this['_lastRequestId'])['then'](_0x2f6725=>(this['_lastRequestId']=_0x2f6725,_0x12f76c))['catch'](_0x45ff86=>{if(pt(_0x45ff86)||'400'===_0x45ff86['code']&&void 0x0!==_0x45ff86['data']['wrongRequestId']){for(const _0x30642a of _0x12f76c){!this['_revisionTracker']['repository']['getRevision'](_0x30642a['id'])||this['_revisionTracker']['_bufferUpdate'](_0x30642a['id'],_0x30642a,!0x1);}if(pt(_0x45ff86))throw _0x45ff86;return _0x12f76c;}throw _0x45ff86;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xae9868,{revisionsData:_0x30c160,requestId:_0x4b245b})=>{Math['max'](..._0x30c160['map'](_0x188d0f=>_0x188d0f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x30c160,_0x4b245b);}):this['_handleRevisionsUpdate'](_0x30c160,_0x4b245b);});const {revisions:_0x334f68,requestId:_0x3b187e}=await this['_revisionHistoryService']['connect'](_0x270837['connection']);_0x270837['addToReconnectionStack'](this),this['_lastRequestId']=_0x3b187e,await this['_fetchMissingUsers'](_0x334f68);for(const _0x229eb8 of _0x334f68)this['_revisionTracker']['addRevisionData'](_0x229eb8);this['listenTo'](_0x1f2c60,'change:_isConnected',(_0x5b3e39,_0x4fce2e,_0x3f518b)=>{_0x3f518b&&(this['_oldOffset']=_0x1f2c60['_offset'],_0x5b3e39['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x270837,'state',_0x3300eb=>_0x3300eb===_0x353716['CONNECTED']);}async['reconnect'](){const _0x2c1d2a=this['editor']['plugins']['get'](z),_0x35e547=this['editor']['plugins']['get'](tt),_0x42c32e=async()=>{const _0xfa4f20=this['_revisionTracker']['currentRevision'],_0x2dedc2=_0xfa4f20['id'],_0x3d20e1=_0x2dedc2!==_0x35e547['sessionId'];if(_0x3d20e1){const _0x116c8a=_0x35e547['_offset']-this['_oldOffset'],_0x4a14ca=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xfa4f20['toVersion']+_0x116c8a!==_0x4a14ca){const _0x44cdc4=_0xfa4f20['fromVersion']+_0x116c8a,_0x377c44=this['editor']['plugins']['get'](_0x4c102a),_0x195b01=this['_revisionTracker']['buildRevisionData']({'revision':_0xfa4f20,'from':_0x44cdc4,'to':_0x4a14ca});_0x195b01['id']=_0xfa4f20['id'];const _0xca04ce=_0x195b01['authorsIds']['map'](_0x1203cd=>_0x377c44['getUser'](_0x1203cd));_0xfa4f20['_update']({..._0x195b01,'authors':_0xca04ce},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xfa4f20['id'],_0x195b01,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4a14ca,(_0xfa4f20['toVersion']===_0xfa4f20['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2dedc2)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2dedc2),this['_revisionTracker']['_createCurrentRevision'](_0x4a14ca));}const {revisions:_0x163434,requestId:_0x58eee0}=await this['_revisionHistoryService']['reconnect'](_0x2c1d2a['connection'],this['_lastRequestId']);_0x3d20e1&&_0x163434['length']>0x0?_0x35e547['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x163434),this['_handleRevisionsUpdate'](_0x163434,_0x58eee0),this['_revisionTracker']['sendBufferedUpdates']());};return _0x35e547['_isConnected']?_0x42c32e():new Promise((_0x8b30c3,_0xc32b27)=>{_0x35e547['once']('change:_isConnected',()=>{_0x42c32e()['then'](_0x8b30c3)['catch'](_0xc32b27);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x16a3cb=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x310cf6=>{_0x310cf6['off'](),_0x16a3cb();});});}['_getLatestVersionFromServerOperations'](){const _0xa91e2a=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x557281 of _0xa91e2a)if('marker'!==_0x557281['type']||_0x557281['affectsData'])return _0x557281['baseVersion']+0x1;}['_getLatestVersion'](){const _0x30b834=this['editor']['plugins']['get'](tt);return new Promise(_0x5bf8e1=>{_0x30b834['_isPendingUpdate']?_0x30b834['once']('change:_isPendingUpdate',()=>{_0x5bf8e1(this['_getLatestVersionFromServerOperations']());}):_0x5bf8e1(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x241055,_0x57d473){const _0x1a4a08=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x57d473;for(const _0x4b0cc9 of _0x241055){const _0x1d22c9=_0x1a4a08['getRevision'](_0x4b0cc9['id']);if(_0x1d22c9){if((_0x4b0cc9['fromVersion']||_0x4b0cc9['toVersion'])&&(_0x4b0cc9['diffData']=null),_0x1d22c9===this['_revisionTracker']['currentRevision']){const _0x4f58d7=Math['max'](_0x1d22c9['toVersion'],_0x4b0cc9['toVersion']),_0x35afc4=Math['max'](_0x1d22c9['fromVersion'],_0x4b0cc9['fromVersion']);let _0x2344b7;_0x1d22c9['toVersion']===_0x4b0cc9['toVersion']&&_0x1d22c9['fromVersion']===_0x4b0cc9['fromVersion']?(_0x2344b7=!0x0,this['_preventResendingRevisionData'](_0x4b0cc9)):_0x4b0cc9['toVersion']===_0x4f58d7&&_0x4b0cc9['fromVersion']===_0x35afc4?_0x2344b7=!0x1:(_0x1d22c9['toVersion']===_0x4f58d7&&_0x1d22c9['fromVersion']===_0x35afc4||this['_fixRevision']({'revision':_0x1d22c9,'from':_0x35afc4,'to':_0x4f58d7}),_0x2344b7=!0x0),_0x2344b7&&(delete _0x4b0cc9['fromVersion'],delete _0x4b0cc9['toVersion'],delete _0x4b0cc9['diffData'],delete _0x4b0cc9['createdAt'],delete _0x4b0cc9['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4b0cc9),this['_preventResendingRevisionData'](_0x4b0cc9);}else this['_revisionTracker']['addRevisionData'](_0x4b0cc9);}const _0x1b3a49=_0x1a4a08['getRevisions']();_0x1b3a49['reverse']();for(let _0x7bbf3d=0x0;_0x7bbf3d<_0x1b3a49['length']-0x1;_0x7bbf3d++){const _0xd39329=_0x1b3a49[_0x7bbf3d],_0x409c0b=_0x1b3a49[_0x7bbf3d+0x1];if(_0xd39329['fromVersion']<_0x409c0b['toVersion']){const _0xdc2963=_0x409c0b['toVersion'],_0x1db7ea=Math['max'](_0xdc2963,_0xd39329['toVersion']);this['_fixRevision']({'revision':_0xd39329,'from':_0xdc2963,'to':_0x1db7ea});}}}['_fixRevision']({revision:_0x4292bd,from:_0x5ce29c,to:_0x4d0549}={}){const _0x435611=this['editor']['plugins']['get'](_0x4c102a),_0x1ac3c2=this['_revisionTracker']['buildRevisionData']({'revision':_0x4292bd,'from':_0x5ce29c,'to':_0x4d0549});_0x1ac3c2['authors']=_0x1ac3c2['authorsIds']['map'](_0x216f27=>_0x435611['getUser'](_0x216f27)),_0x4292bd['_update'](_0x1ac3c2);}['_preventResendingRevisionData'](_0x25fbe2){const _0x3fa6ee={};_0x3fa6ee['id']=_0x25fbe2['id'];for(const _0x5d39b0 of Object['keys'](_0x25fbe2))'id'!==_0x5d39b0&&(_0x3fa6ee[_0x5d39b0]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3fa6ee['id'],_0x3fa6ee,!0x0);}async['_fetchMissingUsers'](_0x5813e3){const _0x25ac5c=this['editor']['plugins']['get'](_0x4c102a),{connection:_0x525774}=this['editor']['plugins']['get'](z),_0x6a5e47=new Set();for(const _0x20e311 of _0x5813e3){for(const _0x451af0 of _0x20e311['authorsIds'])_0x308b0a(_0x451af0);_0x20e311['creatorId']&&_0x308b0a(_0x20e311['creatorId']);}if(0x0===_0x6a5e47['size'])return;const _0x3dced9=await _0x381d6e['getMany'](_0x525774,Array['from'](_0x6a5e47));for(const _0x30fd18 of _0x3dced9)_0x25ac5c['getUser'](_0x30fd18['id'])||_0x25ac5c['addUser'](_0x30fd18);function _0x308b0a(_0x4a1533){_0x25ac5c['getUser'](_0x4a1533)||_0x6a5e47['add'](_0x4a1533);}}}function pt(_0x13ce86){return _0x13ce86['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x13ce86['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x13ce86['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x281793{static get['requires'](){return[_0x4a2d92,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x1a3fd9{['_collapseAt'];constructor(_0x35b08f,_0x36ca70=0x6){super(_0x35b08f);const _0x2cf073=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x36ca70,this['bind']('isHidden')['to'](this,'usersCount',_0x1a7a5e=>_0x1a7a5e<_0x36ca70),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2cf073['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':_0x2cf073['to']('usersCount',_0xc90901=>'+'+(_0xc90901-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x1a3fd9{['items'];['keystrokes'];constructor(_0x2d89ac){super(_0x2d89ac);const _0xad72b6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x42e44d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xad72b6['if']('hasPopup'),'aria-expanded':_0xad72b6['to']('isExpanded',_0x4f53f9=>this['hasPopup']&&String(_0x4f53f9)),'aria-label':_0xad72b6['to']('hasPopup',_0xc7ff6a=>X(_0x2d89ac,_0xc7ff6a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xad72b6['to']('hasPopup',_0x26bbed=>!!_0x26bbed&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xad72b6['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xad72b6['to'](_0x38eab4=>{const _0x223d05=_0x38eab4,_0x390e29=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5476b7=document['querySelector']('.ck-balloon-panel_with-arrow');_0x390e29?.['contains'](_0x223d05['relatedTarget'])||_0x5476b7?.['contains'](_0x223d05['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4703b7,_0x1f2a49,_0x17336d)=>{this['element']&&(_0x17336d?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 _0x1a3fd9{['counterView'];['inlineListView'];constructor(_0x1407a1,_0x261bcd=0x6){super(_0x1407a1);const _0x1c5a79=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x261bcd),this['inlineListView']=new vt(_0x1407a1),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x545649 of this['inlineListView']['items'])_0x545649['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',_0x1c5a79['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x1a3fd9{['listWrapperView'];constructor(_0xd5ff0b,_0x3a2419){super(_0xd5ff0b);const _0x5ab109=this['bindTemplate'];this['listWrapperView']=new bt(_0xd5ff0b,_0x3a2419),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0xd5ff0b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5ab109['to'](_0x210488=>{const _0x511fc1=_0x210488,_0x24c26c=document['querySelector']('.ck-presence-list__list'),_0xcbcaa3=document['querySelector']('.ck-balloon-panel_with-arrow');_0x24c26c?.['contains'](_0x511fc1['relatedTarget'])||_0xcbcaa3?.['contains'](_0x511fc1['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x37da38{constructor(_0x19a2d9,_0x4ff1d0){super(_0x19a2d9);const _0x403eb3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4ff1d0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x403eb3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x403eb3['to']('role'),'aria-label':_0x403eb3['to']('ariaLabel'),'aria-labelledby':_0x403eb3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x28e582['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x28d823=this['element'];_0x28d823&&(this['_isScrollable']=Math['max'](_0x28d823['scrollHeight'],_0x28d823['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x2c00f3{['userView'];constructor(_0xcd8f4c,_0x37dcaf,_0x316a62){super(_0xcd8f4c);const _0x571214=this['bindTemplate'];this['userView']=new _0x2d3ca6(_0xcd8f4c,_0x37dcaf);const _0x42bf6c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x37dcaf['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x37dcaf['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x37dcaf['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x37dcaf['color']['getColorVariable'](),'--ck-user-color-alpha':_0x37dcaf['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x316a62&&(_0x42bf6c['tag']='button',_0x42bf6c['on']={'click':_0x571214['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x42bf6c);}['focus'](){this['element']['focus']();}}class It extends _0x1a3fd9{['userView'];['markerView'];constructor(_0x1a621b,_0x5d9a3d,_0x30ef91){super(_0x1a621b);const _0x2c245c=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x2d3ca6(_0x1a621b,_0x5d9a3d),this['markerView']=new St(_0x1a621b,_0x5d9a3d);const _0x2fc1b0=new _0x35c56a(_0x1a621b);_0x2fc1b0['template']['tag']='span',_0x2fc1b0['text']=_0x5d9a3d['name'];const _0x5097a3={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2c245c['to']('isFocusable',_0x258d5a=>!!_0x258d5a&&0x0),'aria-labelledby':_0x2fc1b0['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2c245c['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2c245c['to']('hasTooltip',_0x1fbb69=>!_0x1fbb69),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2fc1b0]};_0x30ef91&&(_0x5097a3['tag']='button',_0x5097a3['on']={'click':_0x2c245c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5097a3);}}class St extends _0x1a3fd9{constructor(_0x433b5a,_0x484420){super(_0x433b5a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x484420['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x484420['color']['getColorVariable'](),'--ck-user-color-alpha':_0x484420['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xef80a1{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5d78a7){super(_0x5d78a7),this['context']['config']['define']('presenceList',Tt);const _0x1cd169=_0x5d78a7['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1cd169)throw new _0xe32300('presencelist-collapseat-invalid-format',this);if(_0x1cd169<0x1)throw new _0xe32300('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2c5641(),this['balloonPanelView']=new _0x553bc5(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x359c9c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x359c9c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3657cc,_0x1155a2)=>{this['_handleUserAdd'](_0x1155a2);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x28fd30,_0x157ead)=>{this['_handleUserRemove'](_0x157ead);});}['_createView'](){const _0x1f3cc9=this['context'],_0x3dcd4f=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4188e2=this['balloonPanelView'];if(!_0x1ed9b4(_0x1f3cc9['config']['get']('presenceList.container')))throw new _0xe32300('presencelist-missing-container',this);return _0x3dcd4f['counterView']['bind']('usersCount')['to'](this),_0x3dcd4f['bind']('isCollapsed')['to'](this,'usersCount',_0x1d197d=>{const {collapseAt:_0x26442f}=_0x1f3cc9['config']['get']('presenceList'),_0x1959ca=_0x1d197d>=_0x26442f;if(_0x1959ca&&!_0x3dcd4f['inlineListView']['items']['find'](_0x244959=>_0x244959 instanceof wt)){const _0x319aee=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x319aee&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3dcd4f['inlineListView']['items']['add'](_0x3dcd4f['counterView']);}return _0x1959ca||this['hideDropdown'](),_0x1959ca;}),_0x3dcd4f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x28cb65=>{const _0x1e88a8=_0x1f3cc9['config']['get']('presenceList'),_0x759fd1=new It(_0x1f3cc9['locale'],_0x28cb65,!!_0x1e88a8['onClick']);return _0x759fd1['bind']('hasTooltip')['to'](_0x3dcd4f,'isCollapsed',_0x5448fe=>!_0x5448fe),_0x759fd1['bind']('isFocusable')['to'](_0x3dcd4f,'isCollapsed',_0x518fab=>!_0x518fab),_0x1e88a8['onClick']&&this['listenTo'](_0x759fd1,'execute',()=>{this['view']['isCollapsed']||_0x1e88a8['onClick'](_0x28cb65,_0x759fd1['element']);}),_0x759fd1;}),this['listenTo'](_0x3dcd4f['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3dcd4f['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3dcd4f['inlineListView']['keystrokes']['set']('Enter',(_0x3affd5,_0x4410b8)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4410b8());}),_0x3dcd4f['render'](),_0x4188e2['render'](),_0x360bc9({'emitter':_0x3dcd4f,'activator':()=>_0x4188e2['isVisible'],'contextElements':[_0x4188e2['element'],_0x3dcd4f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1f3cc9['config']['get']('presenceList.container')['appendChild'](_0x3dcd4f['element']),this['_bodyCollection']=new _0x447c29(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3dcd4f;}['_handleUserAdd'](_0x4fad99){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4fad99['isMe'])return;const _0x4c52ee=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4c52ee-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1c81a6=_0x4fad99['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4fad99,_0x1c81a6);}['_handleUserRemove'](_0x33e018){this['usersCount']--;const {collapseAt:_0xb3a644}=this['context']['config']['get']('presenceList'),_0x4e2259=this['usersCount']>=_0xb3a644;if(this['currentDisplayedUsers']['get'](_0x33e018['id']))this['currentDisplayedUsers']['remove'](_0x33e018['id']);else{if(_0x4e2259&&this['currentDisplayedUsers']['length']+0x1===_0xb3a644-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4e2259?0x1:0x0)<this['usersCount']){for(const _0xa03de2 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xa03de2['id'])&&(this['currentDisplayedUsers']['add'](_0xa03de2,Math['min'](this['currentDisplayedUsers']['length']-(_0x4e2259?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4e2259?0x1:0x0)===_0xb3a644-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x760448=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x760448['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x59ef9d}=this['presenceDropdownView'];_0x59ef9d['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x417cd3=>{if(!_0x760448['displayMe']&&_0x417cd3['isMe'])return null;const _0x37833c=new kt(this['context']['locale'],_0x417cd3,!!_0x760448['onClick']);return _0x760448['onClick']&&this['listenTo'](_0x37833c,'execute',()=>{_0x760448['onClick'](_0x417cd3,_0x37833c['element']);}),_0x37833c;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x59ef9d['focus'](),_0x59ef9d['checkIfScrollable']();const _0x516eb4=(_0x2a42c2,_0x59928a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x59928a();};_0x59ef9d['keystrokes']['set']('Esc',_0x516eb4),_0x59ef9d['keystrokes']['set']('Shift+Tab',_0x516eb4),_0x59ef9d['keystrokes']['set']('Tab',(_0x5f1f47,_0x4f9882)=>{!function(_0x5be3be){const _0x47f71f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x40cab5=>_0x40cab5+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x502756=[...document['body']['querySelectorAll'](_0x47f71f)]['filter'](_0x1cf7a8=>_0x1cf7a8===document['activeElement']||_0x1cf7a8['offsetWidth']+_0x1cf7a8['offsetHeight']>0x0)['sort']((_0x43ab33,_0x5b9a5a)=>(_0x43ab33['tabIndex']||0x0)-(_0x5b9a5a['tabIndex']||0x0)),_0x427d16=_0x502756['indexOf'](_0x5be3be),_0x3c1bc3=_0x502756[(_0x427d16+0x1)%_0x502756['length']];_0x3c1bc3&&_0x3c1bc3['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4f9882();}),_0x59ef9d['focusTracker']['add'](this['view']['element']),_0x59ef9d['focusTracker']['on']('change:isFocused',(_0x5985c9,_0x2d35fe,_0x53120b)=>{_0x53120b||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 _0xef80a1{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 _0x473a8c,Plugin as _0x421958,PendingActions as _0x1a8b56,Context as _0xa66473}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x59ca19,CKEditorError as _0x355792,Collection as _0x4beb38,global as _0x1539e6,version as _0x24f632,uid as _0xe943f7,KeystrokeHandler as _0x331e42}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x42877b,View as _0x38d5f2,ListView as _0x3f1c03,ListItemView as _0x44e429,LabelView as _0x83b473,BalloonPanelView as _0x3fecc8,clickOutsideHandler as _0x4103bc,BodyCollection as _0x3f9537}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0xb2c34,History as _0x4e055c,NoOperation as _0x3ce29c,InsertOperation as _0x5a7cbb,MarkerOperation as _0x1896c0,RootAttributeOperation as _0x356a7c,transformOperationSets as _0x5d792c,OperationFactory as _0x436986}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x5f5731}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2dbd39,WEB_SOCKET_GATEWAY_STATES as _0x58a0b4,CollaborativeEditingService as _0x3bbcd0,User as _0x1da5c7,CommentsService as _0xac1ab2,TrackChangesService as _0x254a50,RevisionHistoryService as _0x5e7b20,EditorService as _0x1f796e}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x113a53,UserView as _0x5287f8}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x1339fb}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x4bb92f,TrackChanges as _0x599a21}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x3b7042,Comments as _0x399a16,CommentsEditing as _0x35f9fe}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x51eb43}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x1f3cb2}from'es-toolkit/compat';class z extends _0x473a8c{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x2dbd39)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x5f5731,_0x42877b];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3619d3){super(_0x3619d3),this['set']('state',_0x58a0b4['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x59ca19())();}['init'](){const _0x23b742=this['context'],_0x2268f8=_0x23b742['plugins']['get'](_0x5f5731),_0x33f6f9=_0x23b742['plugins']['get'](_0x42877b);if(!_0x2268f8['token'])throw new _0x355792('websocketgateway-missing-token',this);if(!_0x2268f8['webSocketUrl'])throw new _0x355792('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'](_0x2268f8['token'],_0x2268f8['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x18db32=>{if(this['connection']=_0x18db32,this['bind']('state')['to'](_0x18db32,'state',this,'_isBrowserOffline',(_0x4f1e96,_0xf0097d)=>('connected'!==_0x4f1e96&&(this['_shouldPluginsReconnect']=!0x0),_0xf0097d||_0x4f1e96!==_0x58a0b4['CONNECTED']?_0x58a0b4['DISCONNECTED']:this['state']==_0x58a0b4['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x58a0b4['CONNECTING']):_0x58a0b4['CONNECTED'])),this['connection']['on']('error',(_0x5ab578,_0x4f865f)=>{if('limitExceeded'!==_0x4f865f['code'])throw console['error'](_0x4f865f),new _0x355792('cloudservices-init',null,{'originalError':_0x4f865f});_0x33f6f9['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'});}),!_0x18db32['me'])return new Promise(_0x49ef53=>_0x18db32['on']('change:me',_0x49ef53));})['catch'](_0xd6adb0=>{throw console['error'](_0xd6adb0),new _0x355792('cloudservices-init',null,{'originalError':_0xd6adb0});});}['addToReconnectionStack'](_0x11eda9){if('function'!=typeof _0x11eda9['reconnect'])throw new _0x355792('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x11eda9))throw new _0x355792('websocketgateway-plugin-already-registered',this,{'name':_0x11eda9['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x11eda9);}['removeFromReconnectionStack'](_0x2a1968){this['_reconnectionStack']['delete'](_0x2a1968);}['isInReconnectionStack'](_0xa771f4){return this['_reconnectionStack']['has'](_0xa771f4);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x434c50=>_0x434c50['reconnect']())))['then'](()=>this['state']=_0x58a0b4['CONNECTED'])['catch'](_0x51c40f=>{throw console['error'](_0x51c40f),new _0x355792('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x58a0b4['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x473a8c{['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,_0x113a53];}constructor(_0x4d1737){super(_0x4d1737),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4beb38(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x113a53);}['init'](){const _0x1717b2=this['context']['plugins']['get'](z);this['listenTo'](_0x1717b2,'change:state',(_0x13ffd0,_0x41e8d0,_0x3b2969)=>{if('connected'!==_0x3b2969)this['channelSessions']['forEach'](_0x148663=>_0x148663['clear']()),this['channelConnectedUsers']['forEach'](_0xc346bf=>_0xc346bf['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x360794,_0x5ae973]of this['_registeredSessions'])for(const _0x75548 of _0x5ae973)this['_handleSessionAdd'](_0x360794,_0x75548);}}),this['_createUser'](_0x1717b2['connection']['me'],!0x0);}['register'](_0x1539dc,_0x4001aa){if(this['_registeredSessions']['has'](_0x1539dc))throw new _0x355792('sessions-register-already-registered',null,{'channelId':_0x1539dc});this['_registeredSessions']['set'](_0x1539dc,_0x4001aa),this['channelSessions']['set'](_0x1539dc,new _0x4beb38()),this['channelConnectedUsers']['set'](_0x1539dc,new _0x4beb38()),this['listenTo'](_0x4001aa,'add',(_0x5b1123,_0x507e3d)=>this['_handleSessionAdd'](_0x1539dc,_0x507e3d)),this['listenTo'](_0x4001aa,'remove',(_0x352590,_0x4bec4d)=>this['_handleSessionRemove'](_0x1539dc,_0x4bec4d));for(const _0x158445 of _0x4001aa)this['_handleSessionAdd'](_0x1539dc,_0x158445);}['unregister'](_0x1c6025){if(!this['_registeredSessions']['has'](_0x1c6025))throw new _0x355792('sessions-unregister-not-exist',null,{'channelId':_0x1c6025});const _0x36d2a8=this['_registeredSessions']['get'](_0x1c6025);this['stopListening'](_0x36d2a8);for(const _0x623716 of _0x36d2a8)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x1c6025,_0x623716);this['_registeredSessions']['delete'](_0x1c6025),this['channelSessions']['delete'](_0x1c6025),this['channelConnectedUsers']['delete'](_0x1c6025);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x31b5f9){for(const _0x3edcb8 of this['channelSessions']['values']())for(const _0x331861 of _0x3edcb8)if(_0x331861['id']===_0x31b5f9)return _0x331861['user'];}['getUserSessions'](_0x437eaa,_0x37d316){const _0x3abf47=_0x37d316?[this['channelSessions']['get'](_0x37d316)]:this['channelSessions']['values'](),_0x55420f=new Set();for(const _0x320aa7 of _0x3abf47)for(const _0x1969e7 of _0x320aa7)_0x1969e7['user']['id']===_0x437eaa['id']&&_0x55420f['add'](_0x1969e7['id']);return _0x55420f;}['getUserRole'](_0x5ac836){for(const _0x667232 of this['channelSessions']['values']())for(const _0xeab249 of _0x667232)if(_0xeab249['user']===_0x5ac836)return _0xeab249['role'];}['_handleSessionAdd'](_0x325b22,_0xff0edf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1b21cb=_0xff0edf['user'],_0x3d71ee=this['_users']['getUser'](_0x1b21cb['id'])||this['_createUser'](_0x1b21cb),_0x452630=Object['assign']({},_0xff0edf,{'user':_0x3d71ee});if(this['channelSessions']['get'](_0x325b22)['add'](_0x452630),!_0x1b21cb['hiddenInPresenceList']){const _0x56196b=this['channelConnectedUsers']['get'](_0x325b22);_0x56196b['has'](_0x3d71ee['id'])||_0x56196b['add'](_0x3d71ee),this['allConnectedUsers']['has'](_0x3d71ee['id'])||_0x1b21cb['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3d71ee,_0x3d71ee['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x325b22,{'channelId':_0x325b22,'session':_0x452630});}['_handleSessionRemove'](_0x38efb3,_0x499e6c){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x58800f=this['channelConnectedUsers']['get'](_0x38efb3),_0x21ff1a=_0x499e6c['user'];_0x21ff1a['id']&&(this['channelSessions']['get'](_0x38efb3)['remove'](_0x499e6c['id']),_0x58800f['has'](_0x21ff1a['id'])&&!this['getUserSessions'](_0x21ff1a,_0x38efb3)['size']&&_0x58800f['remove'](_0x21ff1a['id']),this['allConnectedUsers']['get'](_0x21ff1a['id'])&&!this['getUserSessions'](_0x21ff1a)['size']&&this['allConnectedUsers']['remove'](_0x21ff1a['id']));}['_createUser'](_0x2cd23e,_0x32c43f){const _0x5aea91=this['_users']['addUser'](_0x2cd23e);return _0x32c43f&&this['_users']['defineMe'](_0x2cd23e['id']),_0x5aea91['orderNumber']=this['_uniqueUsersCount']++,_0x5aea91;}}class K extends _0x421958{['_domEmitter']=new(_0x59ca19())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5c257b=this['editor'],_0x529bcc=_0x5c257b['plugins']['get'](Y);_0x5c257b['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x52e2d3,{writer:_0x517dbc})=>function(_0x40279b,_0x5265fa,_0x377803,_0x36b89b){const _0x140247=_0x40279b['markerName']['split'](':')[0x2],_0x7f3d7b=_0x377803['getUserBySessionId'](_0x140247);if(!_0x7f3d7b||_0x140247===_0x377803['mySessionId'])return;if(!_0x36b89b['model']['schema']['checkChild'](_0x40279b['markerRange']['start'],'$text'))return;const _0x1f1af0={'class':'ck-user__marker\x20'+_0x7f3d7b['color']['getMarkerClass'](),'style':Q(_0x7f3d7b),'data-name':_0x7f3d7b['name'],'data-session-id':_0x140247},_0x223713=_0x36b89b['model']['markers']['get'](_0x40279b['markerName']),_0x9231a5=_0x223713['getStart'](),_0x32f258=_0x9231a5['nodeAfter'],_0x5b13dc=_0x36b89b['model']['schema'];if(_0x32f258&&_0x5b13dc['isObject'](_0x32f258)&&_0x5b13dc['isInline'](_0x32f258)&&!_0x36b89b['model']['markers']['get']('user:range:'+_0x140247)['getRange']()['isCollapsed'])return;const _0x4c9888=_0x9231a5['parent'];return _0x36b89b['model']['schema']['isLimit'](_0x4c9888)&&!_0x36b89b['model']['hasContent'](_0x4c9888)&&(_0x1f1af0['contenteditable']=!0x1),function(_0x11a334,_0x42035d,_0x317b76){const _0x4f16a0=_0x11a334['createUIElement']('span',_0x42035d);return _0x11a334['setCustomProperty']('userPositionMarker',!0x0,_0x4f16a0),_0x4f16a0['render']=function(_0x264160){const _0x1b9576=this['toDomElement'](_0x264160),_0x5c3ec7=document['createElement']('span');return _0x5c3ec7['classList']['add']('ck-user__marker-tooltip'),_0x5c3ec7['setAttribute']('contenteditable','false'),_0x5c3ec7['setAttribute']('spellcheck','false'),_0x5c3ec7['textContent']=_0x317b76['name'],_0x1b9576['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5c3ec7['outerHTML']+'⁠',_0x1b9576['addEventListener']('mouseenter',()=>{_0x1b9576['classList']['add']('ck-user__marker_hovered');}),_0x1b9576['addEventListener']('mouseleave',()=>{_0x1b9576['classList']['remove']('ck-user__marker_hovered');}),_0x1b9576;},_0x4f16a0['isSimilar']=function(_0x318381){return!(!this['getCustomProperty']('userPositionMarker')||!_0x318381['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x318381['getAttribute']('data-session-id'));},_0x4f16a0;}(_0x5265fa,_0x1f1af0,_0x7f3d7b);}(_0x52e2d3,_0x517dbc,_0x529bcc,_0x5c257b)}),_0x5c257b['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x48635f=>function(_0x19ec3a,_0x3766d7){const _0x292f8f=_0x19ec3a['markerName']['split'](':')[0x2];if(_0x292f8f===_0x3766d7['mySessionId'])return null;const _0x5fc3b2=_0x3766d7['getUserBySessionId'](_0x292f8f);if(!_0x5fc3b2)return{'id':_0x292f8f,'classes':[]};return{'id':_0x292f8f,'classes':['ck-user__selection',_0x5fc3b2['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5fc3b2),'data-session-id':_0x292f8f},'priority':0x7d0+_0x5fc3b2['orderNumber']};}(_0x48635f,_0x529bcc)}),function(_0x33dc61){const _0x5456c8=_0x33dc61['model'],_0x4c0fa6=new Map(),_0x12e848=_0x33dc61['plugins']['get'](Y);_0x5456c8['markers']['on']('update:user:range',(_0x1d7e06,_0x2b456c,_0x818964,_0x2afdfb)=>{if(!_0x2afdfb&&_0x4c0fa6['get'](_0x2b456c['name']))return _0x4c0fa6['get'](_0x2b456c['name'])['detach'](),void _0x4c0fa6['delete'](_0x2b456c['name']);const _0x417d66=_0x2b456c['name']['split'](':')[0x2];if(_0x417d66===_0x12e848['mySessionId'])return;const _0x80e161='user:position:'+_0x417d66;_0x5456c8['markers']['has'](_0x80e161)&&_0x33dc61['editing']['reconvertMarker'](_0x80e161),_0x2b456c['on']('change:range',(_0x4ddd7e,_0x42220b,_0x27c987)=>{if('$graveyard'!=_0x42220b['root']['rootName']&&'$graveyard'==_0x2b456c['getRange']()['root']['rootName']&&!_0x4c0fa6['has'](_0x2b456c['name'])){const _0x2d3192=_0x5456c8['schema']['getNearestSelectionRange'](_0x27c987['deletionPosition']);if(_0x2d3192){const _0x3b5ee3=_0xb2c34['fromRange'](_0x2d3192);_0x4c0fa6['set'](_0x2b456c['name'],_0x3b5ee3),_0x3b5ee3['on']('change:range',(_0x9761fc,_0x4b5522,_0x19239c)=>{if('$graveyard'==_0x3b5ee3['root']['rootName']){const _0x2b1e43=_0x5456c8['schema']['getNearestSelectionRange'](_0x19239c['deletionPosition']);_0x2b1e43?(_0x3b5ee3['start']=_0x2b1e43['start'],_0x3b5ee3['end']=_0x2b1e43['end']):(_0x4c0fa6['delete'](_0x2b456c['name']),_0x3b5ee3['detach']());}});}}});}),_0x5456c8['document']['on']('change',()=>{_0x4c0fa6['size']>0x0&&_0x5456c8['enqueueChange']({'isUndoable':!0x1},_0x466001=>{for(const [_0x180e19,_0xfcf6c3]of _0x4c0fa6)'$graveyard'==_0x5456c8['markers']['get'](_0x180e19)['getRange']()['root']['rootName']&&(J(_0x180e19['split'](':')[0x2],_0xfcf6c3['toRange'](),_0x5456c8,_0x466001),_0xfcf6c3['detach']());_0x4c0fa6['clear']();});});}(_0x5c257b),this['_domEmitter']['listenTo'](_0x1539e6['document'],'keydown',(_0x3469b3,{key:_0x4b72c8})=>{'Escape'===_0x4b72c8&&function(_0x189591){_0x189591['editing']['view']['change'](_0x7ddff3=>{for(const _0x51cfbf of _0x189591['model']['markers']){if(!_0x51cfbf['name']['startsWith']('user:position'))continue;const _0x3f30bd=_0x189591['editing']['mapper']['markerNameToElements'](_0x51cfbf['name']);if(_0x3f30bd){for(const _0x460966 of _0x3f30bd)_0x7ddff3['removeClass']('ck-user__marker_hovered',_0x460966);}}});}(_0x5c257b);},{'useCapture':!0x0});}['afterInit'](){const _0x5288c2=this['editor'],_0xfe7828=_0x5288c2['commands']['get']('undo');_0xfe7828&&_0x5288c2['model']['on']('applyOperation',(_0x16425d,_0x243ad0)=>{const _0x59fd6d=_0x243ad0[0x0];if(!_0x59fd6d['isDocumentOperation'])return;if('marker'!=_0x59fd6d['type']||!_0x59fd6d['name']['startsWith']('user:'))return;const _0xfe39f4=_0x59fd6d['batch'];_0xfe7828['_createdBatches']['has'](_0xfe39f4)&&(_0x59fd6d['newRange']=_0x59fd6d['oldRange']?_0x5288c2['model']['createRange'](_0x59fd6d['oldRange']['start'],_0x59fd6d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xeab260=this['editor'],_0x53a8b1=_0xeab260['model']['document'],_0x3612ee=_0xeab260['plugins']['get'](Y);_0xeab260['model']['enqueueChange']({'isUndoable':!0x1},_0x3fa1da=>{const _0x3ec01f='user:range:'+_0x3612ee['mySessionId'],_0xca0280='user:position:'+_0x3612ee['mySessionId'],_0x25de46=_0xeab260['model']['markers']['has'](_0x3ec01f);_0xeab260['editing']['view']['hasDomSelection']?J(_0x3612ee['mySessionId'],_0x53a8b1['selection']['getFirstRange'](),_0xeab260['model'],_0x3fa1da):_0x25de46&&(_0x3fa1da['removeMarker'](_0x3ec01f),_0x3fa1da['removeMarker'](_0xca0280));});}}function J(_0x3069be,_0x2aa929,_0x121224,_0x9e6b84){const _0xd4f7d0='user:range:'+_0x3069be,_0x40a300='user:position:'+_0x3069be,_0x321a1e=_0x2aa929['getContainedElement']();let _0x13ce0e=_0x2aa929['start'];if(_0x321a1e&&_0x321a1e['is']('element','tableCell')){const _0x494183=function(_0xbdbb3,_0x5442e8){for(const _0x456da8 of _0xbdbb3['getPositions']())if(_0x5442e8['schema']['checkChild'](_0x456da8,'$text'))return _0x456da8;}(_0x2aa929,_0x121224);_0x494183&&(_0x13ce0e=_0x494183,_0x2aa929=_0x9e6b84['createRange'](_0x13ce0e));}const _0x19f15c=_0x9e6b84['createRange'](_0x13ce0e);_0x121224['markers']['has'](_0xd4f7d0)?(_0x9e6b84['updateMarker'](_0xd4f7d0,{'range':_0x2aa929}),_0x9e6b84['updateMarker'](_0x40a300,{'range':_0x19f15c})):(_0x9e6b84['addMarker'](_0xd4f7d0,{'range':_0x2aa929,'usingOperation':!0x0}),_0x9e6b84['addMarker'](_0x40a300,{'range':_0x19f15c,'usingOperation':!0x0}));}function Q(_0x3938e2){return'--ck-user-color:'+_0x3938e2['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3938e2['color']['getColorAlphaVariable']()+';';}function X(_0xb52cfd,_0x805541,_0x379fd9){const _0x2c2dda=_0xb52cfd['t'],t=_0xb52cfd['t'];switch(_0x805541){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 _0x2c2dda({'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'},_0x379fd9);default:return'';}}let Z=0x1;class tt extends _0x421958{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x3bbcd0)());['_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,_0x1a8b56,_0x113a53,_0x42877b];}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 _0x3171f5=this['serverHistory']['getOperations']();for(let _0x18a300=_0x3171f5['length']-0x1;_0x18a300>=0x0;_0x18a300--){const _0x106345=_0x3171f5[_0x18a300];if(!this['_disconnectionOperations']['has'](_0x106345))return _0x106345['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3b10b9){if(super(_0x3b10b9),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4e055c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x355792('collaboration-missing-channelid',this);const _0x383e0a=_0x3b10b9['config']['get']('cloudServices.bundleVersion')||_0x24f632;this['_service']=new tt['CollaborativeEditingService'](_0x383e0a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1339fb(),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 _0xf71158=this['editor'],_0x563238=_0xf71158['plugins']['get'](_0x113a53),_0x270cf4=_0xf71158['plugins']['get'](z);this['listenTo'](_0x563238,'getOperationAuthor',(_0x36971c,_0x201c45)=>{const _0xe2ff90=_0x201c45[0x0];_0xe2ff90['_authorId']&&(_0x36971c['return']=_0x563238['getUser'](_0xe2ff90['_authorId']),_0x36971c['stop']()),null===_0xe2ff90['_authorId']&&(_0x36971c['return']=null,_0x36971c['stop']());},{'priority':'high'}),this['listenTo'](_0xf71158['model']['document']['selection'],'change:range',(_0x4f30d9,_0x4ae6a0)=>{_0x4ae6a0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xf71158['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xf71158['model']['on']('applyOperation',(_0x30e847,_0x498a18)=>{const _0x16408b=_0x498a18[0x0];_0x16408b['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x16408b),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x270cf4,'state',this,'_hasSynchronizationProblem',(_0x230ec3,_0x24c88e)=>'connected'===_0x230ec3&&!_0x24c88e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xf71158['disableReadOnlyMode']('rtc-offline'):_0xf71158['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xf71158['disableReadOnlyMode']('rtc-offline'):_0xf71158['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1e321a=this['editor']['plugins']['get'](Y),_0x4f14ed=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1e321a['unregister'](this['_channelId']);const _0x5ae492=await this['_service']['reconnect'](_0x4f14ed['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5ae492)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1f7085=await this['_service']['getConnectedSessions']();_0x1e321a['register'](this['_channelId'],_0x1f7085),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2452ad){if(function(_0x420ad2){return'404'===_0x420ad2['code'];}(_0x2452ad)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x460a73){return'409'===_0x460a73['code'];}(_0x2452ad)){const _0x5385a6=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'](_0x5385a6);}else{if(!(_0x2452ad instanceof et))throw _0x2452ad;this['_handleReconnectionError']();}}}}['destroy'](){const _0x5a9107=this['editor']['plugins']['get'](z),_0x2d4098=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2d4098['channelSessions']['has'](this['_channelId'])&&_0x2d4098['unregister'](this['_channelId']),_0x5a9107['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4745ef){if(this['sessionId']!==_0x4745ef['sessionId']&&this['_lastSyncedOperationId']!==_0x4745ef['lastOperationId'])throw new et();return this['sessionId']=_0x4745ef['sessionId'],this['_handleServerResponse']([],{..._0x4745ef,'wereChangesApplied':!0x1,'data':_0x4745ef['data']},'reconnect');}async['_connectService'](_0x225288,_0xcacb85=!0x1){const {connection:_0x40d3ec}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x40d3ec,this['_channelId'])['then'](_0x2d5287=>this['_initSessionsHandling'](_0x2d5287))['catch'](_0x29a327=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x29a327);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5c5c51,_0xbaac03)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xbaac03);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5cac22=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x225288);this['_isPendingUpdate']=!0x0;const _0xf19806=await this['_service']['connect'](_0x40d3ec,this['_compressOperations'](_0x225288),_0x5cac22);if(this['sessionId']=_0xf19806['sessionId'],_0xcacb85){if(!_0xf19806['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xf19806['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x225288,_0xf19806,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xf19806,_0x225288);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x14eca9=this['editor']['plugins']['get'](Y),_0x298070=this['editor']['plugins']['get'](K),_0x368e2b=_0x14eca9['channelSessions']['get'](this['_channelId']);_0x368e2b&&_0x368e2b['length']>0x1?_0x298070['createUserMarkerOperations']():this['listenTo'](_0x14eca9,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x14eca9['channelSessions']['get'](this['_channelId'])['length']&&_0x298070['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2c937e,_0x1dca49,_0x146745,_0x577a51){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1dca49){const _0x4cc748=this['_decompressOperations'](_0x146745,_0x577a51);await this['_fetchMissingUsers'](_0x4cc748),this['_handleExternalOperations'](_0x4cc748,_0x1dca49,_0x146745['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x1f540d}=this['editor'];let _0x536b5f;try{_0x536b5f=await this['_service']['getDocumentDetails']();}catch{const _0x3d9243=X(_0x1f540d,'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'](_0x3d9243);}const _0x291558=_0x536b5f['currentDocumentSession']||_0x536b5f['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x291558['lastOperationId']){const _0x591aa5=X(_0x1f540d,'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'](_0x591aa5);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xb09f0e){const _0x5bdaee=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5bdaee,'sessionAdd:'+this['_channelId'],(_0x2fb092,{session:_0x9080da})=>{if(_0x9080da['id']===_0x5bdaee['mySessionId']){_0x2fb092['off']();const _0x37af23=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xb409bb=_0x9080da['permissions'];_0x37af23&&_0x37af23['isEnabled']&&(_0xb409bb=_0xb409bb['filter'](_0x3f327d=>'document:write'!==_0x3f327d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xb409bb,this['_channelId']);}}),_0x5bdaee['register'](this['_channelId'],_0xb09f0e);}['_initThrowingOnDataSet'](){const _0x692328=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x50a6f8)=>{if(!_0x50a6f8[_0x50a6f8['length']-0x1]['suppressErrorInCollaboration'])throw new _0x355792('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x692328['apply'](this['editor']['data'],_0x50a6f8);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5a3a62,[_0x5f28d4])=>{if(this['_document']['version'])throw new _0x355792('realtimecollaborationclient-init-document-already-initialized',this);_0x5a3a62['stop'](),this['_setPendingAction']();const _0x302b7f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2b7cf1])=>!_0x2b7cf1['lazyLoad'])['map'](([_0x9aa461,_0x3c4e1e])=>[_0x9aa461,_0x3c4e1e['modelAttributes']||{}])),_0x81aa5a=this['_getOperationsFromInitData'](_0x5f28d4,_0x302b7f);0x0==_0x81aa5a['length']&&_0x81aa5a['push'](new _0x3ce29c(0x0)),_0x5a3a62['return']=this['_connectService'](_0x81aa5a)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1bdf5c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1bdf5c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1bf3ed,[_0x32d243,_0x2c2b4f])=>{_0x1bf3ed['stop']();const _0x48f2e6=this['editor']['model']['document']['getRoot'](_0x32d243);if(!this['_knownRootNames']['has'](_0x32d243)){const _0xdba9b9=_0x2c2b4f&&_0x2c2b4f['data']?_0x2c2b4f['data']:'',_0x8bf2ea=_0x2c2b4f&&_0x2c2b4f['attributes']?_0x2c2b4f['attributes']:{};await this['_loadRoot'](_0x32d243,_0xdba9b9,_0x8bf2ea);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x48f2e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x48f2e6);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x3ed72f){const _0x4af9cd=this['editor']['plugins']['get'](_0x113a53),{connection:_0x5095e1}=this['editor']['plugins']['get'](z),_0x4ea237=new Set();for(const _0x10f212 of _0x3ed72f){const _0x36fa02=_0x10f212['_authorId'];_0x36fa02&&!_0x4af9cd['getUser'](_0x36fa02)&&_0x4ea237['add'](_0x36fa02);}if(0x0===_0x4ea237['size'])return;const _0x28c7a7=await _0x1da5c7['getMany'](_0x5095e1,Array['from'](_0x4ea237));for(const _0x2ef333 of _0x28c7a7)_0x4af9cd['getUser'](_0x2ef333['id'])||_0x4af9cd['addUser'](_0x2ef333);}['_getOperationsFromInitData'](_0x1b49b0,_0x18ab37={}){const _0x1e9bce=this['editor']['model'],_0x46a43c=[];let _0x321468=0x0;const _0x56f59d='string'==typeof _0x1b49b0?{'main':_0x1b49b0}:_0x1b49b0;for(const _0x284a58 of Object['keys'](_0x56f59d)){if(!this['_document']['roots']['has'](_0x284a58))throw new _0x355792('realtimecollaborationclient-init-non-existent-root',this);const _0x2ecc98=this['editor']['data']['parse'](_0x56f59d[_0x284a58]),_0xa6b572=this['_document']['getRoot'](_0x284a58),_0x4900d3=new _0x5a7cbb(_0x1e9bce['createPositionAt'](_0xa6b572,0x0),_0x2ecc98,_0x321468++);_0x46a43c['push'](_0x4900d3);for(const [_0x57547f,_0x1cf842]of _0x2ecc98['markers']){const _0x6c9b52=_0x1e9bce['createRange'](_0x1e9bce['createPositionFromPath'](_0xa6b572,_0x1cf842['start']['path']['slice']()),_0x1e9bce['createPositionFromPath'](_0xa6b572,_0x1cf842['end']['path']['slice']())),_0x586520=new _0x1896c0(_0x57547f,null,_0x6c9b52,_0x1e9bce['markers'],!0x0,_0x321468++);_0x46a43c['push'](_0x586520);}}if(_0x18ab37)for(const [_0x5f1317,_0x25225b]of Object['entries'](_0x18ab37)){const _0x484812=_0x1e9bce['document']['getRoot'](_0x5f1317);if(!_0x484812)throw new _0x355792('multi-root-editor-root-attributes-no-root',null);for(const [_0x228da4,_0x41cd20]of Object['entries'](_0x25225b))if(null!==_0x41cd20){const _0x3759ec=new _0x356a7c(_0x484812,_0x228da4,null,_0x41cd20,_0x321468++);_0x46a43c['push'](_0x3759ec);}}return _0x46a43c;}async['_loadRoot'](_0x499e2e,_0x51d32d,_0x2e32bf){this['_getOperationsFromInitData']({[_0x499e2e]:_0x51d32d},{[_0x499e2e]:_0x2e32bf})['forEach']((_0xc6242b,_0x1973d8)=>{_0xc6242b['baseVersion']=this['_document']['version']+_0x1973d8,_0xc6242b['_isInit']=!0x0,this['_saveOperationInBuffer'](_0xc6242b);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x470a09,_0xb8964e){let _0x4e632e;this['_offset']=_0x470a09['offset'];const _0x3c0e15=_0x470a09['wereChangesApplied']&&!_0x470a09['initData'],_0xfbba4c=_0x3c0e15?0x0:_0x470a09['data']['baseVersion'];if(_0xb8964e['forEach'](_0x3714d1=>{_0x3714d1['_isInit']=!0x0,_0x3714d1['createdAt']=_0x470a09['sessionCreatedAt'],_0x3714d1['_authorId']=null;}),_0x3c0e15)_0x4e632e=_0xb8964e,this['_applyOperationsSet'](_0x4e632e,_0x3c0e15);else{if(_0x470a09['initData']){const _0x243f0c=this['_getOperationsFromInitData'](_0x470a09['initData']);this['_document']['history']['version']=-_0x243f0c['length'],_0x243f0c['forEach'](_0xf899f0=>{_0xf899f0['baseVersion']-=_0x243f0c['length'],_0xf899f0['createdAt']=_0x470a09['sessionCreatedAt'],_0xf899f0['_isInit']=!0x0,_0xf899f0['_authorId']=null;}),this['_applyOperationsSet'](_0x243f0c,!0x0),this['serverHistory']['version']=-_0x243f0c['length']+this['_offset'],this['_updateServerHistory'](_0x243f0c);}this['_document']['history']['version']=_0xfbba4c,_0x4e632e=this['_decompressOperations'](_0x470a09['data'],_0x470a09['metadata']),await this['_fetchMissingUsers'](_0x4e632e),this['_applyOperationsSet'](_0x4e632e,_0x3c0e15);}_0x470a09['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4e632e,_0x470a09['lastOperationId']),this['_lastSyncedOperationId']=_0x470a09['lastOperationId']),this['serverHistory']['version']=_0xfbba4c+this['_offset'],this['_updateServerHistory'](_0x4e632e),_0xb8964e['filter'](_0x3e0f97=>{const _0x3aa414=this['_getAffectedRoot'](_0x3e0f97);return _0x3aa414&&!this['_knownRootNames']['has'](_0x3aa414);})['forEach']((_0x483860,_0x2fb43d)=>{_0x483860['baseVersion']=this['_document']['version']+_0x2fb43d,this['_saveOperationInBuffer'](_0x483860);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa9ba78,_0x30378b){const _0xfac22e=_0x30378b&&_0x30378b['message'];if(_0xfac22e&&_0xfac22e['startsWith']('realtimecollaborationclient'))throw _0x30378b;const _0x120941=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x120941['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x355792(_0xa9ba78,this['editor'],_0xfac22e?{'originalError':_0xfac22e}:void 0x0);}['_saveOperationInBuffer'](_0x7e78d8){this['_knownOperations']['has'](_0x7e78d8)||(this['_knownOperations']['add'](_0x7e78d8),this['_bufferedOperations']['push'](_0x7e78d8),this['_pendingAction']||'marker'==_0x7e78d8['type']&&!_0x7e78d8['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x396c30=!0x1){!_0x396c30&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xd447af=>{_0xd447af&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x371600=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x91775b){return _0x91775b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x91775b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x91775b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x371600)||this['_crash'](_0x371600['message'],_0x371600);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x423008=>{this['on']('change:_isPendingUpdate',()=>{_0x423008();});});}async['_sendBufferedOperations'](){const _0xdefb47=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xdefb47['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2bfad7=[...this['_bufferedOperations']];for(const _0x34567a of _0x2bfad7)_0x34567a['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x34567a);const _0x182da2=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2bfad7),_0xec1fac=Z++,_0x3babd3=this['_compressOperations'](_0x2bfad7),_0x333cd7=await this['_service']['sendOperations'](_0x3babd3,_0x3babd3['baseVersion'],_0x182da2);try{return await this['_handleServerResponse'](_0x2bfad7,_0x333cd7,_0xec1fac);}catch(_0x1386b2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1386b2);}}async['_handleServerResponse'](_0x446028,_0x40965f,_0x3d361a){if('error'in _0x40965f)throw _0x40965f['error'];let _0x1e8935=!0x1;if(_0x40965f['wereChangesApplied']){_0x40965f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x40965f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x376b15=>!_0x446028['includes'](_0x376b15));for(const _0x5bd21f of _0x446028)_0x5bd21f['createdAt']='lastOperationAcceptedAt'in _0x40965f&&_0x40965f['lastOperationAcceptedAt']||void 0x0;st(_0x446028,_0x40965f['version']-_0x446028['length']),this['_updateServerHistory'](_0x446028);const _0xb59b69=_0x446028['filter'](_0x102897=>{if(!_0x102897['_isInit'])return!0x1;const _0x313d10=this['_getAffectedRoot'](_0x102897);return _0x313d10&&!this['_knownRootNames']['has'](_0x313d10);});st(_0xb59b69,this['_document']['version']),this['_applyOperationsSet'](_0xb59b69),_0x1e8935=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x38992f=this['_decompressOperations'](_0x40965f['data'],_0x40965f['metadata'])['filter'](_0x297f11=>_0x297f11['baseVersion']>=this['_lastServerVersion']);_0x38992f['forEach'](_0x2ee663=>this['_addKnownRoot'](_0x2ee663)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4cd16e=>!_0x4cd16e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4cd16e))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x38992f),_0x1e8935=this['_handleExternalOperations'](_0x38992f,_0x40965f['version'],_0x40965f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1e8935?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xb136ea,_0x419c9e,_0x3bc16a){try{const _0x3d9cd2={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x245e2e,operationsB:_0x57b57e,originalOperations:_0x418909}=_0x5d792c(_0xb136ea,this['_bufferedOperations'],_0x3d9cd2);st(_0x245e2e,this['_document']['version']),st(_0x57b57e,_0x419c9e);for(const _0x9d1d57 of _0x245e2e){const _0xf47594=_0x418909['get'](_0x9d1d57);_0x9d1d57['_authorId']=_0xf47594?_0xf47594['_authorId']:null;}_0x3bc16a&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb136ea,_0x3bc16a),this['_lastSyncedOperationId']=_0x3bc16a),this['_bufferedOperations']=[..._0x57b57e],this['_applyOperationsSet'](_0x245e2e),this['_updateServerHistory'](_0xb136ea);}catch(_0x45ea09){return console['error'](_0x45ea09),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5cf924,_0x5b2930=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x53ddf1=>{for(const _0x4070cd of _0x5cf924)this['_knownOperations']['add'](_0x4070cd),this['_addKnownRoot'](_0x4070cd),_0x53ddf1['batch']['addOperation'](_0x4070cd),this['editor']['model']['applyOperation'](_0x4070cd);});}['_addKnownRoot'](_0x309f7b){const _0x5f1c01=this['_getAffectedRoot'](_0x309f7b);_0x5f1c01&&this['_knownRootNames']['add'](_0x5f1c01);}['_getAffectedRoot'](_0x4c00e6){let _0x14e9bf,_0x40178a;switch(_0x4c00e6['type']){case'insert':_0x14e9bf=_0x4c00e6['position']['root'];break;case'marker':if(_0x40178a=_0x4c00e6['newRange'],!_0x40178a)return null;_0x14e9bf=_0x40178a['root'];break;case'addRootAttribute':_0x14e9bf=_0x4c00e6['root'];break;case'addRoot':_0x14e9bf=_0x4c00e6['affectedSelectable'];break;case'move':_0x14e9bf=_0x4c00e6['targetPosition']['root'];break;default:return null;}return _0x14e9bf['rootName'];}['_updateServerHistory'](_0x1407bf){_0x1407bf['forEach'](_0x48753d=>{const _0xb72af9=_0x48753d['clone']();_0xb72af9['_authorId']=_0x48753d['_authorId'],_0xb72af9['_isInit']=!!_0x48753d['_isInit'],_0xb72af9['createdAt']=_0x48753d['createdAt'],_0xb72af9['baseVersion']+=this['_offset'],_0x48753d['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xb72af9),this['serverHistory']['addOperation'](_0xb72af9);});}['_handleReconnectionError'](_0x51b378){const _0x276a90=this['editor']['plugins']['get']('Notification'),_0x480e94=this['editor']['locale'];_0x51b378||(_0x51b378=X(_0x480e94,'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.')),_0x276a90['showWarning'](_0x51b378,{'title':X(_0x480e94,'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'](_0x1a8b56)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1a8b56)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x51dbe5){const _0x5361e7=_0x51dbe5['map'](_0x3bf6c0=>_0x3bf6c0['toJSON']());return this['_compressor']['compress'](_0x5361e7);}['_decompressOperations'](_0x1f8083,_0x4927d4){return this['_compressor']['decompress'](_0x1f8083)['map']((_0x585cea,_0x24a0c0)=>{const _0xa1095a='init'==_0x4927d4[_0x24a0c0]['type'];if('InsertOperation'==_0x585cea['__className']){const _0x4a420a=_0x585cea['position']['root'];!this['_document']['getRoot'](_0x4a420a)&&(this['_document']['createRoot']('$root',_0x4a420a)['_isAttached']=!0x1);}const _0x79e711=_0x436986['fromJSON'](_0x585cea,this['_document']);return _0x79e711['wasUndone']=_0x585cea['wasUndone'],_0x79e711['_isInit']=_0xa1095a,_0x79e711['_authorId']=_0xa1095a?null:_0x4927d4[_0x24a0c0]['userId'],_0x79e711['_isDisconnection']='cs:removeUser'===_0x4927d4[_0x24a0c0]['type'],_0x79e711['createdAt']=_0x4927d4[_0x24a0c0]['createdAt'],_0x79e711;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x50d055=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x50d055&&_0x50d055['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x56169c,_0x4858ce){for(const _0x50d809 of _0x56169c)_0x50d809['baseVersion']=_0x4858ce++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x308d80){this['_ignoredOperations']=_0x308d80,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1c08f8){let _0x5964fd=_0x1c08f8['length'];for(;_0x5964fd--;){const _0x31b30e=_0x1c08f8[_0x5964fd];if(!this['_ignoredOperations']['has'](_0x31b30e)){if(!this['_operationToId']['has'](_0x31b30e)){const _0x4f71e7=_0xe943f7()['slice'](0x1,0x12);this['_operationToId']['set'](_0x31b30e,_0x4f71e7);}return this['_operationToId']['get'](_0x31b30e);}}}['setIdForTheLastOperation'](_0x13d72c,_0xb503d){if(!_0xb503d)return;let _0x170f42=_0x13d72c['length'];for(;_0x170f42--;){const _0xc7dda5=_0x13d72c[_0x170f42];this['_ignoredOperations']['has'](_0xc7dda5)||this['_operationToId']['set'](_0xc7dda5,_0xb503d);}}}class nt extends _0x421958{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x473a8c{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0xac1ab2)());['_services'];static get['requires'](){return[z,_0x3b7042,Y,_0x113a53];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3156ad){super(_0x3156ad),this['_services']=new Map();}async['init'](){const _0xd337ad=this['context'],_0x39aeca=_0xd337ad['plugins']['get'](_0x3b7042);if(_0xd337ad['plugins']['get'](z)['addToReconnectionStack'](this),_0x39aeca['adapter']={'addCommentThread':async({channelId:_0x10b3f7,threadId:_0x437d9c,comments:_0x187f07,resolvedAt:_0x40f90d,resolvedBy:_0x4379e7,context:_0x3a3a71,attributes:_0x65790b})=>{const _0xc0fd71=await this['_getService'](_0x10b3f7)['addCommentThread']({'commentThreadId':_0x437d9c,'comments':_0x187f07['map'](_0x19f80a=>function(_0x3a11a6,_0x447630,_0x179567){return{'commentThreadId':_0x179567,'commentId':_0x3a11a6['commentId'],'userId':_0x3a11a6['authorId'],'content':_0x3a11a6['content'],'documentId':_0x447630,'createdAt':_0x3a11a6['createdAt'],'attributes':_0x3a11a6['attributes']||{}};}(_0x19f80a,_0x10b3f7,_0x437d9c)),'resolvedAt':_0x40f90d,'resolvedBy':_0x4379e7,'context':_0x3a3a71,'attributes':_0x65790b})['catch'](ct);return{'threadId':_0xc0fd71['commentThreadId'],'comments':_0xc0fd71['comments']};},'getCommentThread':async({channelId:_0x26f2d8,threadId:_0x5b350f})=>{const _0x286072=await this['_getService'](_0x26f2d8)['getCommentThread'](_0x5b350f)['catch'](rt)['catch'](ct);return _0x286072?_0x286072['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x286072]),{'threadId':_0x286072['commentThreadId'],'comments':_0x286072['comments']['map'](at),'context':_0x286072['context'],'resolvedAt':_0x286072['resolvedAt'],'resolvedBy':_0x286072['resolvedBy'],'attributes':_0x286072['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1f9b37,threadId:_0x56f96b,context:_0x9f538c,unlinkedAt:_0xd3e1c6,attributes:_0x538b88})=>this['_getService'](_0x1f9b37)['updateCommentThread']({'commentThreadId':_0x56f96b,'context':_0x9f538c,'attributes':_0x538b88,'unlinkedAt':_0xd3e1c6})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x5cd0e6,threadId:_0xbdc019})=>{const _0xffa04e=await this['_getService'](_0x5cd0e6)['resolveCommentThread'](_0xbdc019)['catch'](rt)['catch'](ct);return{'threadId':_0xffa04e['commentThreadId'],'resolvedAt':_0xffa04e['resolvedAt'],'resolvedBy':_0xffa04e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x640f17,threadId:_0x205716})=>this['_getService'](_0x640f17)['reopenCommentThread'](_0x205716)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x905787,threadId:_0xe14cf3})=>this['_getService'](_0x905787)['removeCommentThread'](_0xe14cf3)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x168f66,threadId:_0x3dadb8,commentId:_0x5195f5,content:_0x50ef98,attributes:_0x56dcc1})=>this['_getService'](_0x168f66)['addComment'](_0x3dadb8,_0x5195f5,_0x50ef98,_0x56dcc1)['catch'](ct),'updateComment':({channelId:_0x96af4b,threadId:_0x56a609,commentId:_0x3ed571,content:_0x29d767,attributes:_0x11ee43})=>this['_getService'](_0x96af4b)['updateComment'](_0x56a609,_0x3ed571,_0x29d767,_0x11ee43)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x43b4f5,threadId:_0x21f9f4,commentId:_0x5a270e})=>this['_getService'](_0x43b4f5)['removeComment'](_0x21f9f4,_0x5a270e)['catch'](rt)['catch'](ct)},_0xd337ad instanceof _0xa66473){const _0xc1eaf4=_0xd337ad['config']['get']('collaboration.channelId'),_0x1a05ab=_0xd337ad['plugins']['get'](Y);await this['_setUpService'](_0xc1eaf4);const _0x30a623=await this['_services']['get'](_0xc1eaf4)['getConnectedSessions']();this['listenTo'](_0x1a05ab,'sessionAdd:'+_0xc1eaf4,(_0x243a07,{session:_0x582485})=>{_0x582485['id']===_0x1a05ab['mySessionId']&&(_0x243a07['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x582485['permissions'],_0xc1eaf4));}),_0x1a05ab['register'](_0xc1eaf4,_0x30a623);}}async['_setUpService'](_0x574ec7){if(this['_services']['has'](_0x574ec7))throw new _0x355792('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x574ec7});const _0x4e682c=this['context']['plugins']['get'](_0x3b7042),_0x3f036e=new ot['CommentsService'](_0x574ec7);this['_services']['set'](_0x574ec7,_0x3f036e),this['listenTo'](_0x3f036e,'commentThreadAdded',(_0x30b9e9,_0x537099)=>{const {commentThreadId:_0x149223,documentId:_0x4a33ff,context:_0x4035e4,attributes:_0x5de0d5,resolvedAt:_0x587818,resolvedBy:_0x52d6a2,comments:_0x3d02c7}=_0x537099;_0x4e682c['getCommentThread'](_0x149223)||_0x4e682c['addCommentThread']({'threadId':_0x149223,'channelId':_0x4a33ff,'comments':_0x3d02c7?_0x3d02c7['map'](at):[],'context':_0x4035e4,'attributes':_0x5de0d5,'resolvedAt':_0x587818,'resolvedBy':_0x52d6a2,'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadUpdated',(_0x515db3,{commentThreadId:_0x5e3557,documentId:_0x32bbdc,context:_0x347ceb,unlinkedAt:_0x31d662,attributes:_0xe981b8})=>{_0x4e682c['getCommentThread'](_0x5e3557)&&_0x4e682c['updateCommentThread']({'threadId':_0x5e3557,'channelId':_0x32bbdc,'context':_0x347ceb,'unlinkedAt':_0x31d662,'attributes':_0xe981b8,'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadResolved',(_0x8eb5de,{commentThreadId:_0x5b2b9e,resolvedBy:_0x45dc0f,resolvedAt:_0x8bafc6})=>{const _0x118eab=_0x4e682c['getCommentThread'](_0x5b2b9e);_0x118eab&&_0x118eab['resolve']({'resolvedBy':_0x45dc0f,'resolvedAt':_0x8bafc6,'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadReopened',(_0x596b8a,{commentThreadId:_0x1f765a})=>{const _0x18d422=_0x4e682c['getCommentThread'](_0x1f765a);_0x18d422&&_0x18d422['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadRemoved',(_0xde083c,{commentThreadId:_0x204936})=>{const _0x391edd=_0x4e682c['getCommentThread'](_0x204936);_0x391edd&&_0x391edd['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentAdded',(_0x592934,_0xf1ee77)=>{const _0x53ed11=_0xf1ee77['commentThreadId'],_0x57f1e6=_0x4e682c['getCommentThread'](_0x53ed11);_0x57f1e6&&_0x57f1e6['addComment']({...at(_0xf1ee77),'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentUpdated',(_0x239719,{commentThreadId:_0x5a31f8,commentId:_0x2f276d,content:_0x5bb3dd,attributes:_0x3a30a8})=>{const _0x245a52=_0x4e682c['getCommentThread'](_0x5a31f8);if(_0x245a52){const _0x54e2ed=_0x245a52['getComment'](_0x2f276d);_0x54e2ed&&_0x54e2ed['update']({'content':_0x5bb3dd,'attributes':_0x3a30a8,'isFromAdapter':!0x0});}}),this['listenTo'](_0x3f036e,'commentRemoved',(_0x2c9ff9,{commentThreadId:_0x4dc01b,commentId:_0x28f96b})=>{const _0x7fc1f4=_0x4e682c['getCommentThread'](_0x4dc01b);if(_0x7fc1f4){const _0x155fc2=_0x7fc1f4['getComment'](_0x28f96b);_0x155fc2&&_0x155fc2['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x574ec7);}['destroy'](){if(this['context']instanceof _0xa66473){const _0x120f12=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x120f12);}}['_terminateService'](_0x546097){if(!this['_services']['has'](_0x546097))throw new _0x355792('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x546097});this['_getService'](_0x546097)['disconnect'](),this['_services']['delete'](_0x546097);}async['reconnect'](){for(const _0x7919f4 of this['_services']['keys']())await this['_connectService'](_0x7919f4);if(this['context']instanceof _0xa66473){const _0x270634=this['context']['config']['get']('collaboration.channelId'),_0x3fe442=this['context']['plugins']['get'](Y);_0x3fe442['unregister'](_0x270634);const _0x154cab=await this['_services']['get'](_0x270634)['getConnectedSessions']();_0x3fe442['register'](_0x270634,_0x154cab);}}async['_connectService'](_0x201a64){const {connection:_0x2ddedd}=this['context']['plugins']['get'](z),_0xdb9e17=this['context']['plugins']['get'](_0x3b7042),_0x1cca93=this['_services']['get'](_0x201a64),_0x309e09=await _0x1cca93['connect'](_0x2ddedd);await this['_fetchMissingUsersForThreads'](_0x309e09);const _0x569b88=new Set(Array['from'](_0xdb9e17['getCommentThreads']({'channelId':_0x201a64}),_0x466739=>_0x466739['id']));for(const _0x41861e of _0x309e09)_0x41861e['deletedAt']||_0x569b88['delete'](_0x41861e['commentThreadId']);for(const _0x13e260 of _0x569b88)_0xdb9e17['getCommentThread'](_0x13e260)['remove']({'isFromAdapter':!0x0});for(const _0x28b001 of _0x309e09){let _0xcc0b60=_0xdb9e17['getCommentThread'](_0x28b001['commentThreadId']);const {commentThreadId:_0x1ccdbb,context:_0x6d6e30,attributes:_0x1e4dc1,resolvedBy:_0x44fb47,resolvedAt:_0x26ef32,unlinkedAt:_0x53bac8,deletedAt:_0x259ede}=_0x28b001;if(_0x259ede)continue;_0xcc0b60||(_0xcc0b60=_0xdb9e17['addCommentThread']({'channelId':_0x201a64,'threadId':_0x1ccdbb,'context':_0x6d6e30,'attributes':_0x1e4dc1||{},'resolvedBy':_0x44fb47,'resolvedAt':_0x26ef32,'unlinkedAt':_0x53bac8,'isFromAdapter':!0x0}));const _0x302f5b=new Set(Array['from'](_0xcc0b60['comments'],_0x20dd7c=>_0x20dd7c['id']));for(const _0x2ad43b of _0x28b001['comments'])_0x302f5b['delete'](_0x2ad43b['commentId']);for(const _0x57bae8 of _0x302f5b)_0xcc0b60['getComment'](_0x57bae8)['remove']({'isFromAdapter':!0x0});for(const _0x100158 of _0x28b001['comments']){const _0x562220=_0xcc0b60['getComment'](_0x100158['commentId']);_0x562220?_0x562220['content']!==_0x100158['content']&&_0x562220['update']({'content':_0x100158['content'],'isFromAdapter':!0x0}):_0xcc0b60['addComment'](Object['assign'](at(_0x100158),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4bced6){if(!this['_services']['has'](_0x4bced6))throw new _0x355792('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4bced6});return this['_services']['get'](_0x4bced6);}async['_fetchMissingUsersForThreads'](_0x51508b){const _0xe83cfb=this['context']['plugins']['get'](_0x113a53),{connection:_0x5b2a10}=this['context']['plugins']['get'](z),_0x133455=new Set();for(const {resolvedBy:_0x3c88b0,comments:_0x116245}of _0x51508b){_0x3c88b0&&!_0xe83cfb['getUser'](_0x3c88b0)&&_0x133455['add'](_0x3c88b0);for(const {userId:_0x514fcc}of _0x116245)_0xe83cfb['getUser'](_0x514fcc)||_0x133455['add'](_0x514fcc);}if(0x0===_0x133455['size'])return;const _0x39cd70=await _0x1da5c7['getMany'](_0x5b2a10,Array['from'](_0x133455));for(const _0x38a4d3 of _0x39cd70)_0xe83cfb['getUser'](_0x38a4d3['id'])||_0xe83cfb['addUser'](_0x38a4d3);}}async function rt(_0xadfdd5){if('404'!==_0xadfdd5['code'])throw _0xadfdd5;}function ct(_0x2d049f){if((_0x3e83da=_0x2d049f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3e83da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e83da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3e83da;throw _0x2d049f;}function at(_0x31dad1){return{'threadId':_0x31dad1['commentThreadId'],'commentId':_0x31dad1['commentId'],'content':_0x31dad1['content'],'createdAt':_0x31dad1['createdAt'],'authorId':_0x31dad1['userId'],'attributes':_0x31dad1['attributes']||{}};}class ht extends _0x421958{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x254a50)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x4bb92f,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x345789){super(_0x345789);const _0x5c8720=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x5c8720);}['init'](){const _0x4fff95=this['editor']['plugins']['get'](z),_0x2f7bb2=this['editor']['plugins']['get'](_0x4bb92f);return _0x2f7bb2['adapter']={'getSuggestion':async _0x296407=>{await this['_waitForServiceReady']();const _0x2be375=await this['_trackChangesService']['get'](_0x296407)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x2be375]),_0x2be375;},'addSuggestion':async({id:_0x43f883,type:_0x41eb11,data:_0x237573,originalSuggestionId:_0x2f1817,attributes:_0x9e53b3})=>{await this['_waitForServiceReady']();const _0x2c48b8={'id':_0x43f883,'type':_0x41eb11,'data':_0x237573,'originalSuggestionId':_0x2f1817,'attributes':_0x9e53b3},_0x58f17a=await this['_trackChangesService']['add'](_0x43f883,_0x41eb11,_0x237573,_0x2f1817,_0x9e53b3)['catch'](_0x2334d5=>{if(dt(_0x2334d5))return new Promise(_0x34e366=>{this['_bufferedRequests']['set'](_0x43f883,{'resolve':_0x34e366,'suggestionData':_0x2c48b8});});throw _0x2334d5;});return this['_bufferedRequests']['delete'](_0x43f883),_0x58f17a;},'updateSuggestion':async(_0x5deaeb,_0x2a0198)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2a0198['state'])return this['_trackChangesService']['update'](_0x5deaeb,_0x2a0198)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3fb407,_0x5323c6)=>{_0x2f7bb2['hasSuggestion'](_0x5323c6['id'])&&(_0x2f7bb2['getSuggestion'](_0x5323c6['id'])['attributes']=_0x5323c6['attributes']);}),this['_trackChangesService']['connect'](_0x4fff95['connection'])['then'](_0x3a6c72=>(_0x4fff95['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3a6c72)['then'](()=>{for(const _0x1a5460 of _0x3a6c72){_0x2f7bb2['addSuggestionData'](_0x1a5460)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3c0076=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x30c18e}=this['editor']['plugins']['get'](z),_0x1fc6aa=await this['_trackChangesService']['connect'](_0x30c18e);await this['_fetchMissingUsersForThreads'](_0x1fc6aa);for(const {suggestionData:_0x57b0d1,resolve:_0x37bfa7}of this['_bufferedRequests']['values']()){let _0x212c14=_0x1fc6aa['find'](_0x47896f=>_0x47896f['id']===_0x57b0d1['id']);_0x212c14||(_0x212c14=await this['_trackChangesService']['add'](_0x57b0d1['id'],_0x57b0d1['type'],_0x57b0d1['data'],_0x57b0d1['originalSuggestionId'])),_0x37bfa7(_0x212c14);}for(const _0x33b137 of _0x1fc6aa)_0x3c0076['hasSuggestion'](_0x33b137['id'])||_0x3c0076['addSuggestionData'](_0x33b137);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1f9ee9=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5aeb58=>{_0x5aeb58['off'](),_0x1f9ee9();});});}async['_fetchMissingUsersForThreads'](_0x307ab5){const _0x502305=this['editor']['plugins']['get'](_0x113a53),{connection:_0x312bf8}=this['editor']['plugins']['get'](z),_0x37a099=new Set();for(const {authorId:_0x577a4a}of _0x307ab5)_0x502305['getUser'](_0x577a4a)||_0x37a099['add'](_0x577a4a);if(0x0===_0x37a099['size'])return;const _0x18d10b=await _0x1da5c7['getMany'](_0x312bf8,Array['from'](_0x37a099));for(const _0x43e9df of _0x18d10b)_0x502305['getUser'](_0x43e9df['id'])||_0x502305['addUser'](_0x43e9df);}}function lt(_0xd3ef3a){if(dt(_0xd3ef3a))return new Promise(()=>{});throw _0xd3ef3a;}function dt(_0x457617){return _0x457617['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x457617['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x421958{static get['requires'](){return[_0x399a16,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x21668e=this['editor']['plugins']['get'](z),_0x2ef158=this['editor']['plugins']['get'](_0x35f9fe),_0x49e4e7=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x21668e,'change:state',(_0xc5c50b,_0x2acea0,_0x433ba6)=>{_0x2ef158['isThreadsLoadingPaused']='connected'!==_0x433ba6;});}),this['listenTo'](_0x21668e,'change:state',(_0x3136b1,_0x3dd882,_0x351e06)=>{this['editor']['plugins']['get'](_0x3b7042)['switchReadOnly']('connected'!==_0x351e06);}),_0x49e4e7['_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 _0x421958{static get['requires'](){return[ut,ht,_0x599a21];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x421958{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x5e7b20)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x51eb43,Y,_0x113a53];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bb66a){super(_0x1bb66a);const _0x50cf14=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x50cf14);}async['init'](){const _0x124296=this['editor']['plugins']['get'](tt),_0x4ce1fa=_0x124296['serverHistory'],_0x20a16a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4ce1fa,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x124296['sessionId']});const _0x3e40c6=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x24f632,_0x415c59=await _0x1f796e['isBundleUploaded'](_0x20a16a['connection'],_0x3e40c6);this['editor']['plugins']['get'](_0x51eb43)['adapter']={'getRevision':async({revisionId:_0x21ed55})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x21ed55)),'updateRevisions':async _0x3a1efb=>{await this['_waitForServiceReady']();const _0x18c734=this['_revisionTracker']['currentRevision'];if(_0x415c59&&0x1===_0x3a1efb['length']&&_0x3a1efb[0x0]['id']===_0x18c734['id'])return _0x3a1efb;for(const _0x2d03b7 of _0x3a1efb)_0x2d03b7['id']===_0x18c734['id']&&(_0x2d03b7['isEmptyCurrent']=_0x2d03b7['fromVersion']===_0x2d03b7['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3a1efb,this['_lastRequestId'])['then'](_0x3cb7e4=>(this['_lastRequestId']=_0x3cb7e4,_0x3a1efb))['catch'](_0x2282c4=>{if(pt(_0x2282c4)||'400'===_0x2282c4['code']&&void 0x0!==_0x2282c4['data']['wrongRequestId']){for(const _0x5ed07b of _0x3a1efb){!this['_revisionTracker']['repository']['getRevision'](_0x5ed07b['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5ed07b['id'],_0x5ed07b,!0x1);}if(pt(_0x2282c4))throw _0x2282c4;return _0x3a1efb;}throw _0x2282c4;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x588945,{revisionsData:_0xbd6797,requestId:_0x49a130})=>{Math['max'](..._0xbd6797['map'](_0x474388=>_0x474388['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xbd6797,_0x49a130);}):this['_handleRevisionsUpdate'](_0xbd6797,_0x49a130);});const {revisions:_0x51c451,requestId:_0x10d9f3}=await this['_revisionHistoryService']['connect'](_0x20a16a['connection']);_0x20a16a['addToReconnectionStack'](this),this['_lastRequestId']=_0x10d9f3,await this['_fetchMissingUsers'](_0x51c451);for(const _0x230456 of _0x51c451)this['_revisionTracker']['addRevisionData'](_0x230456);this['listenTo'](_0x124296,'change:_isConnected',(_0x119e76,_0x539685,_0x3cff13)=>{_0x3cff13&&(this['_oldOffset']=_0x124296['_offset'],_0x119e76['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x20a16a,'state',_0x431b00=>_0x431b00===_0x58a0b4['CONNECTED']);}async['reconnect'](){const _0x271d84=this['editor']['plugins']['get'](z),_0x38d130=this['editor']['plugins']['get'](tt),_0x342628=async()=>{const _0x5a8a9f=this['_revisionTracker']['currentRevision'],_0x41c94c=_0x5a8a9f['id'],_0x5c0818=_0x41c94c!==_0x38d130['sessionId'];if(_0x5c0818){const _0x2f1ba5=_0x38d130['_offset']-this['_oldOffset'],_0x6c092b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5a8a9f['toVersion']+_0x2f1ba5!==_0x6c092b){const _0x3320f7=_0x5a8a9f['fromVersion']+_0x2f1ba5,_0x4f939e=this['editor']['plugins']['get'](_0x113a53),_0x14288a=this['_revisionTracker']['buildRevisionData']({'revision':_0x5a8a9f,'from':_0x3320f7,'to':_0x6c092b});_0x14288a['id']=_0x5a8a9f['id'];const _0x53b642=_0x14288a['authorsIds']['map'](_0x2d78dd=>_0x4f939e['getUser'](_0x2d78dd));_0x5a8a9f['_update']({..._0x14288a,'authors':_0x53b642},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5a8a9f['id'],_0x14288a,!0x0);}this['_revisionTracker']['_startingVersion']=_0x6c092b,(_0x5a8a9f['toVersion']===_0x5a8a9f['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x41c94c)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x41c94c),this['_revisionTracker']['_createCurrentRevision'](_0x6c092b));}const {revisions:_0x888ed2,requestId:_0x58cccb}=await this['_revisionHistoryService']['reconnect'](_0x271d84['connection'],this['_lastRequestId']);_0x5c0818&&_0x888ed2['length']>0x0?_0x38d130['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x888ed2),this['_handleRevisionsUpdate'](_0x888ed2,_0x58cccb),this['_revisionTracker']['sendBufferedUpdates']());};return _0x38d130['_isConnected']?_0x342628():new Promise((_0x386ae1,_0xf4f1cf)=>{_0x38d130['once']('change:_isConnected',()=>{_0x342628()['then'](_0x386ae1)['catch'](_0xf4f1cf);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5caeec=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x32091f=>{_0x32091f['off'](),_0x5caeec();});});}['_getLatestVersionFromServerOperations'](){const _0x3a3a14=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x554cd0 of _0x3a3a14)if('marker'!==_0x554cd0['type']||_0x554cd0['affectsData'])return _0x554cd0['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3d0e6e=this['editor']['plugins']['get'](tt);return new Promise(_0x5b83be=>{_0x3d0e6e['_isPendingUpdate']?_0x3d0e6e['once']('change:_isPendingUpdate',()=>{_0x5b83be(this['_getLatestVersionFromServerOperations']());}):_0x5b83be(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x20f4a2,_0x65f73){const _0x3394ee=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x65f73;for(const _0x27dc7a of _0x20f4a2){const _0x563c4a=_0x3394ee['getRevision'](_0x27dc7a['id']);if(_0x563c4a){if((_0x27dc7a['fromVersion']||_0x27dc7a['toVersion'])&&(_0x27dc7a['diffData']=null),_0x563c4a===this['_revisionTracker']['currentRevision']){const _0x24409d=Math['max'](_0x563c4a['toVersion'],_0x27dc7a['toVersion']),_0x659162=Math['max'](_0x563c4a['fromVersion'],_0x27dc7a['fromVersion']);let _0x56e9cd;_0x563c4a['toVersion']===_0x27dc7a['toVersion']&&_0x563c4a['fromVersion']===_0x27dc7a['fromVersion']?(_0x56e9cd=!0x0,this['_preventResendingRevisionData'](_0x27dc7a)):_0x27dc7a['toVersion']===_0x24409d&&_0x27dc7a['fromVersion']===_0x659162?_0x56e9cd=!0x1:(_0x563c4a['toVersion']===_0x24409d&&_0x563c4a['fromVersion']===_0x659162||this['_fixRevision']({'revision':_0x563c4a,'from':_0x659162,'to':_0x24409d}),_0x56e9cd=!0x0),_0x56e9cd&&(delete _0x27dc7a['fromVersion'],delete _0x27dc7a['toVersion'],delete _0x27dc7a['diffData'],delete _0x27dc7a['createdAt'],delete _0x27dc7a['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x27dc7a),this['_preventResendingRevisionData'](_0x27dc7a);}else this['_revisionTracker']['addRevisionData'](_0x27dc7a);}const _0x198756=_0x3394ee['getRevisions']();_0x198756['reverse']();for(let _0x4f6cd2=0x0;_0x4f6cd2<_0x198756['length']-0x1;_0x4f6cd2++){const _0x41e33a=_0x198756[_0x4f6cd2],_0x508567=_0x198756[_0x4f6cd2+0x1];if(_0x41e33a['fromVersion']<_0x508567['toVersion']){const _0x1843bf=_0x508567['toVersion'],_0xcefbeb=Math['max'](_0x1843bf,_0x41e33a['toVersion']);this['_fixRevision']({'revision':_0x41e33a,'from':_0x1843bf,'to':_0xcefbeb});}}}['_fixRevision']({revision:_0x464ca7,from:_0x38c1f9,to:_0x3820c3}={}){const _0x560a28=this['editor']['plugins']['get'](_0x113a53),_0x10e4d1=this['_revisionTracker']['buildRevisionData']({'revision':_0x464ca7,'from':_0x38c1f9,'to':_0x3820c3});_0x10e4d1['authors']=_0x10e4d1['authorsIds']['map'](_0x57eb51=>_0x560a28['getUser'](_0x57eb51)),_0x464ca7['_update'](_0x10e4d1);}['_preventResendingRevisionData'](_0x32fc60){const _0x16618={};_0x16618['id']=_0x32fc60['id'];for(const _0x2a05c6 of Object['keys'](_0x32fc60))'id'!==_0x2a05c6&&(_0x16618[_0x2a05c6]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x16618['id'],_0x16618,!0x0);}async['_fetchMissingUsers'](_0x2b2224){const _0x21e34f=this['editor']['plugins']['get'](_0x113a53),{connection:_0x455a21}=this['editor']['plugins']['get'](z),_0x302ce6=new Set();for(const _0x451707 of _0x2b2224){for(const _0x5e4972 of _0x451707['authorsIds'])_0x12c4fd(_0x5e4972);_0x451707['creatorId']&&_0x12c4fd(_0x451707['creatorId']);}if(0x0===_0x302ce6['size'])return;const _0xf51145=await _0x1da5c7['getMany'](_0x455a21,Array['from'](_0x302ce6));for(const _0x4795af of _0xf51145)_0x21e34f['getUser'](_0x4795af['id'])||_0x21e34f['addUser'](_0x4795af);function _0x12c4fd(_0x2a21a8){_0x21e34f['getUser'](_0x2a21a8)||_0x302ce6['add'](_0x2a21a8);}}}function pt(_0x4fcf94){return _0x4fcf94['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4fcf94['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4fcf94['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x421958{static get['requires'](){return[_0x51eb43,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x38d5f2{['_collapseAt'];constructor(_0x5a6607,_0x4023df=0x6){super(_0x5a6607);const _0x2e5c78=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4023df,this['bind']('isHidden')['to'](this,'usersCount',_0x166298=>_0x166298<_0x4023df),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2e5c78['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':_0x2e5c78['to']('usersCount',_0x54e9ec=>'+'+(_0x54e9ec-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x38d5f2{['items'];['keystrokes'];constructor(_0x150459){super(_0x150459);const _0x4fd3f5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x331e42(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4fd3f5['if']('hasPopup'),'aria-expanded':_0x4fd3f5['to']('isExpanded',_0x37d342=>this['hasPopup']&&String(_0x37d342)),'aria-label':_0x4fd3f5['to']('hasPopup',_0x955166=>X(_0x150459,_0x955166?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4fd3f5['to']('hasPopup',_0x4a45ff=>!!_0x4a45ff&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4fd3f5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4fd3f5['to'](_0x547c95=>{const _0x5082c2=_0x547c95,_0x56c2d8=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4eb604=document['querySelector']('.ck-balloon-panel_with-arrow');_0x56c2d8?.['contains'](_0x5082c2['relatedTarget'])||_0x4eb604?.['contains'](_0x5082c2['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x45e4ea,_0x45a261,_0x32a1d1)=>{this['element']&&(_0x32a1d1?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 _0x38d5f2{['counterView'];['inlineListView'];constructor(_0x2816af,_0x55d7a0=0x6){super(_0x2816af);const _0x28295e=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x55d7a0),this['inlineListView']=new vt(_0x2816af),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4f19c0 of this['inlineListView']['items'])_0x4f19c0['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',_0x28295e['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x38d5f2{['listWrapperView'];constructor(_0x5c3588,_0x19dd8f){super(_0x5c3588);const _0x25defb=this['bindTemplate'];this['listWrapperView']=new bt(_0x5c3588,_0x19dd8f),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5c3588,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x25defb['to'](_0x45a3d5=>{const _0x1467b3=_0x45a3d5,_0x531fbd=document['querySelector']('.ck-presence-list__list'),_0x564a72=document['querySelector']('.ck-balloon-panel_with-arrow');_0x531fbd?.['contains'](_0x1467b3['relatedTarget'])||_0x564a72?.['contains'](_0x1467b3['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x3f1c03{constructor(_0x5d9865,_0x3bcda2){super(_0x5d9865);const _0x269358=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3bcda2?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x269358['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x269358['to']('role'),'aria-label':_0x269358['to']('ariaLabel'),'aria-labelledby':_0x269358['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1539e6['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x21cdbd=this['element'];_0x21cdbd&&(this['_isScrollable']=Math['max'](_0x21cdbd['scrollHeight'],_0x21cdbd['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x44e429{['userView'];constructor(_0x2bd0eb,_0x42f447,_0x4b433f){super(_0x2bd0eb);const _0x3e463f=this['bindTemplate'];this['userView']=new _0x5287f8(_0x2bd0eb,_0x42f447);const _0x9b9a2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x42f447['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x42f447['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x42f447['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x42f447['color']['getColorVariable'](),'--ck-user-color-alpha':_0x42f447['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4b433f&&(_0x9b9a2b['tag']='button',_0x9b9a2b['on']={'click':_0x3e463f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x9b9a2b);}['focus'](){this['element']['focus']();}}class It extends _0x38d5f2{['userView'];['markerView'];constructor(_0x390a7a,_0x3c588b,_0x3e91e9){super(_0x390a7a);const _0x33781b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5287f8(_0x390a7a,_0x3c588b),this['markerView']=new St(_0x390a7a,_0x3c588b);const _0x252f55=new _0x83b473(_0x390a7a);_0x252f55['template']['tag']='span',_0x252f55['text']=_0x3c588b['name'];const _0x188c7d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x33781b['to']('isFocusable',_0x5d87ae=>!!_0x5d87ae&&0x0),'aria-labelledby':_0x252f55['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x33781b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x33781b['to']('hasTooltip',_0x31aa3c=>!_0x31aa3c),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x252f55]};_0x3e91e9&&(_0x188c7d['tag']='button',_0x188c7d['on']={'click':_0x33781b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x188c7d);}}class St extends _0x38d5f2{constructor(_0xf3ad9d,_0x210e27){super(_0xf3ad9d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x210e27['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x210e27['color']['getColorVariable'](),'--ck-user-color-alpha':_0x210e27['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x473a8c{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1d20fb){super(_0x1d20fb),this['context']['config']['define']('presenceList',Tt);const _0x108529=_0x1d20fb['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x108529)throw new _0x355792('presencelist-collapseat-invalid-format',this);if(_0x108529<0x1)throw new _0x355792('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4beb38(),this['balloonPanelView']=new _0x3fecc8(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x469b83 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x469b83);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1ad830,_0x3285b4)=>{this['_handleUserAdd'](_0x3285b4);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1a9f18,_0x3efa3e)=>{this['_handleUserRemove'](_0x3efa3e);});}['_createView'](){const _0x13c0dd=this['context'],_0x2b8415=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x5756d9=this['balloonPanelView'];if(!_0x1f3cb2(_0x13c0dd['config']['get']('presenceList.container')))throw new _0x355792('presencelist-missing-container',this);return _0x2b8415['counterView']['bind']('usersCount')['to'](this),_0x2b8415['bind']('isCollapsed')['to'](this,'usersCount',_0x1f93c9=>{const {collapseAt:_0x56b5b2}=_0x13c0dd['config']['get']('presenceList'),_0x53518e=_0x1f93c9>=_0x56b5b2;if(_0x53518e&&!_0x2b8415['inlineListView']['items']['find'](_0x56a1db=>_0x56a1db instanceof wt)){const _0x1ea3bb=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1ea3bb&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2b8415['inlineListView']['items']['add'](_0x2b8415['counterView']);}return _0x53518e||this['hideDropdown'](),_0x53518e;}),_0x2b8415['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3fb449=>{const _0x3cfae3=_0x13c0dd['config']['get']('presenceList'),_0x458f92=new It(_0x13c0dd['locale'],_0x3fb449,!!_0x3cfae3['onClick']);return _0x458f92['bind']('hasTooltip')['to'](_0x2b8415,'isCollapsed',_0x2ce321=>!_0x2ce321),_0x458f92['bind']('isFocusable')['to'](_0x2b8415,'isCollapsed',_0x2be9a6=>!_0x2be9a6),_0x3cfae3['onClick']&&this['listenTo'](_0x458f92,'execute',()=>{this['view']['isCollapsed']||_0x3cfae3['onClick'](_0x3fb449,_0x458f92['element']);}),_0x458f92;}),this['listenTo'](_0x2b8415['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2b8415['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2b8415['inlineListView']['keystrokes']['set']('Enter',(_0x5f293f,_0x2f9165)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2f9165());}),_0x2b8415['render'](),_0x5756d9['render'](),_0x4103bc({'emitter':_0x2b8415,'activator':()=>_0x5756d9['isVisible'],'contextElements':[_0x5756d9['element'],_0x2b8415['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x13c0dd['config']['get']('presenceList.container')['appendChild'](_0x2b8415['element']),this['_bodyCollection']=new _0x3f9537(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2b8415;}['_handleUserAdd'](_0x1cc274){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1cc274['isMe'])return;const _0x1e7112=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1e7112-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4d9dcd=_0x1cc274['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1cc274,_0x4d9dcd);}['_handleUserRemove'](_0x93d4ba){this['usersCount']--;const {collapseAt:_0x15bb41}=this['context']['config']['get']('presenceList'),_0x45a05b=this['usersCount']>=_0x15bb41;if(this['currentDisplayedUsers']['get'](_0x93d4ba['id']))this['currentDisplayedUsers']['remove'](_0x93d4ba['id']);else{if(_0x45a05b&&this['currentDisplayedUsers']['length']+0x1===_0x15bb41-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x45a05b?0x1:0x0)<this['usersCount']){for(const _0x49b009 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x49b009['id'])&&(this['currentDisplayedUsers']['add'](_0x49b009,Math['min'](this['currentDisplayedUsers']['length']-(_0x45a05b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x45a05b?0x1:0x0)===_0x15bb41-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5a9763=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x5a9763['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5f0b85}=this['presenceDropdownView'];_0x5f0b85['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4ea6b4=>{if(!_0x5a9763['displayMe']&&_0x4ea6b4['isMe'])return null;const _0x54ced7=new kt(this['context']['locale'],_0x4ea6b4,!!_0x5a9763['onClick']);return _0x5a9763['onClick']&&this['listenTo'](_0x54ced7,'execute',()=>{_0x5a9763['onClick'](_0x4ea6b4,_0x54ced7['element']);}),_0x54ced7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5f0b85['focus'](),_0x5f0b85['checkIfScrollable']();const _0x41609c=(_0x197a1b,_0x1a2527)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1a2527();};_0x5f0b85['keystrokes']['set']('Esc',_0x41609c),_0x5f0b85['keystrokes']['set']('Shift+Tab',_0x41609c),_0x5f0b85['keystrokes']['set']('Tab',(_0x33a309,_0x161b04)=>{!function(_0x57bb1d){const _0x3dd700=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x548502=>_0x548502+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4fe4cd=[...document['body']['querySelectorAll'](_0x3dd700)]['filter'](_0x340271=>_0x340271===document['activeElement']||_0x340271['offsetWidth']+_0x340271['offsetHeight']>0x0)['sort']((_0x1c8a97,_0x3c8741)=>(_0x1c8a97['tabIndex']||0x0)-(_0x3c8741['tabIndex']||0x0)),_0x324db1=_0x4fe4cd['indexOf'](_0x57bb1d),_0x385cf0=_0x4fe4cd[(_0x324db1+0x1)%_0x4fe4cd['length']];_0x385cf0&&_0x385cf0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x161b04();}),_0x5f0b85['focusTracker']['add'](this['view']['element']),_0x5f0b85['focusTracker']['on']('change:isFocused',(_0x166316,_0x440e68,_0x122b29)=>{_0x122b29||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 _0x473a8c{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':_0x1efd53=>0x1!=_0x1efd53}};
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':_0x4ac064=>0x1!=_0x4ac064}};