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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x3aaa58,Plugin as _0x7e7df2,PendingActions as _0x48f710,Context as _0x36c47e}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x22fd07,CKEditorError as _0x8b1112,Collection as _0x2d2e8c,global as _0x4f4d68,version as _0x409661,uid as _0x257d68,KeystrokeHandler as _0x34ba8b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5b2509,View as _0x4a4673,ListView as _0x46846e,ListItemView as _0x1cdd97,LabelView as _0x10d3c8,BalloonPanelView as _0x3a129f,clickOutsideHandler as _0x1085c4,BodyCollection as _0x6427d8}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4e5246,History as _0x4e2a41,NoOperation as _0xcd8f64,InsertOperation as _0xd5bc1f,MarkerOperation as _0x174e27,RootAttributeOperation as _0x488080,transformOperationSets as _0x209e32,OperationFactory as _0x271511}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x1d403e}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x23f04b,WEB_SOCKET_GATEWAY_STATES as _0x14867f,CollaborativeEditingService as _0x28acc3,User as _0x1aae37,CommentsService as _0x123b13,TrackChangesService as _0x133455,RevisionHistoryService as _0x466a80,EditorService as _0x16873e}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x53aae5,UserView as _0x3792ea}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x234ca0}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x32ed3a,TrackChanges as _0x1bc6f1}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x546c19,Comments as _0x3b0de9,CommentsEditing as _0x51aaa4}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0xcc7ce7}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x478f25}from'es-toolkit/compat';class z extends _0x3aaa58{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x23f04b)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x1d403e,_0x5b2509];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f1cbc){super(_0x4f1cbc),this['set']('state',_0x14867f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x22fd07())();}['init'](){const _0x50065b=this['context'],_0x561517=_0x50065b['plugins']['get'](_0x1d403e),_0x299b16=_0x50065b['plugins']['get'](_0x5b2509);if(!_0x561517['token'])throw new _0x8b1112('websocketgateway-missing-token',this);if(!_0x561517['webSocketUrl'])throw new _0x8b1112('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'](_0x561517['token'],_0x561517['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x20c1a4=>{if(this['connection']=_0x20c1a4,this['bind']('state')['to'](_0x20c1a4,'state',this,'_isBrowserOffline',(_0x54e2ab,_0x533ebe)=>('connected'!==_0x54e2ab&&(this['_shouldPluginsReconnect']=!0x0),_0x533ebe||_0x54e2ab!==_0x14867f['CONNECTED']?_0x14867f['DISCONNECTED']:this['state']==_0x14867f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x14867f['CONNECTING']):_0x14867f['CONNECTED'])),this['connection']['on']('error',(_0x52bb94,_0x6b0f6)=>{if('limitExceeded'!==_0x6b0f6['code'])throw console['error'](_0x6b0f6),new _0x8b1112('cloudservices-init',null,{'originalError':_0x6b0f6});_0x299b16['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'});}),!_0x20c1a4['me'])return new Promise(_0xde03a8=>_0x20c1a4['on']('change:me',_0xde03a8));})['catch'](_0x1d3987=>{throw console['error'](_0x1d3987),new _0x8b1112('cloudservices-init',null,{'originalError':_0x1d3987});});}['addToReconnectionStack'](_0x59a4ed){if('function'!=typeof _0x59a4ed['reconnect'])throw new _0x8b1112('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x59a4ed))throw new _0x8b1112('websocketgateway-plugin-already-registered',this,{'name':_0x59a4ed['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x59a4ed);}['removeFromReconnectionStack'](_0xa6e3c3){this['_reconnectionStack']['delete'](_0xa6e3c3);}['isInReconnectionStack'](_0x413e07){return this['_reconnectionStack']['has'](_0x413e07);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x478ae8=>_0x478ae8['reconnect']())))['then'](()=>this['state']=_0x14867f['CONNECTED'])['catch'](_0x5e3899=>{throw console['error'](_0x5e3899),new _0x8b1112('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x14867f['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x3aaa58{['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,_0x53aae5];}constructor(_0x51c7d8){super(_0x51c7d8),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2d2e8c(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x53aae5);}['init'](){const _0x3bd1e8=this['context']['plugins']['get'](z);this['listenTo'](_0x3bd1e8,'change:state',(_0x2a8d13,_0x409afb,_0x80da97)=>{if('connected'!==_0x80da97)this['channelSessions']['forEach'](_0x3ca25f=>_0x3ca25f['clear']()),this['channelConnectedUsers']['forEach'](_0x28f645=>_0x28f645['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x31b26f,_0x2d5678]of this['_registeredSessions'])for(const _0x2db2d1 of _0x2d5678)this['_handleSessionAdd'](_0x31b26f,_0x2db2d1);}}),this['_createUser'](_0x3bd1e8['connection']['me'],!0x0);}['register'](_0x375ad5,_0x4c09f5){if(this['_registeredSessions']['has'](_0x375ad5))throw new _0x8b1112('sessions-register-already-registered',null,{'channelId':_0x375ad5});this['_registeredSessions']['set'](_0x375ad5,_0x4c09f5),this['channelSessions']['set'](_0x375ad5,new _0x2d2e8c()),this['channelConnectedUsers']['set'](_0x375ad5,new _0x2d2e8c()),this['listenTo'](_0x4c09f5,'add',(_0x444867,_0x5b4a20)=>this['_handleSessionAdd'](_0x375ad5,_0x5b4a20)),this['listenTo'](_0x4c09f5,'remove',(_0x3b186a,_0x3fe1b2)=>this['_handleSessionRemove'](_0x375ad5,_0x3fe1b2));for(const _0x38a4c5 of _0x4c09f5)this['_handleSessionAdd'](_0x375ad5,_0x38a4c5);}['unregister'](_0x5349d3){if(!this['_registeredSessions']['has'](_0x5349d3))throw new _0x8b1112('sessions-unregister-not-exist',null,{'channelId':_0x5349d3});const _0x1a2ba7=this['_registeredSessions']['get'](_0x5349d3);this['stopListening'](_0x1a2ba7);for(const _0x2970bb of _0x1a2ba7)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x5349d3,_0x2970bb);this['_registeredSessions']['delete'](_0x5349d3),this['channelSessions']['delete'](_0x5349d3),this['channelConnectedUsers']['delete'](_0x5349d3);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x350c3b){for(const _0x10f0e0 of this['channelSessions']['values']())for(const _0x430acb of _0x10f0e0)if(_0x430acb['id']===_0x350c3b)return _0x430acb['user'];}['getUserSessions'](_0x3e3f6c,_0x34a0d7){const _0x31a340=_0x34a0d7?[this['channelSessions']['get'](_0x34a0d7)]:this['channelSessions']['values'](),_0x5b8742=new Set();for(const _0x18039f of _0x31a340)for(const _0x72afe6 of _0x18039f)_0x72afe6['user']['id']===_0x3e3f6c['id']&&_0x5b8742['add'](_0x72afe6['id']);return _0x5b8742;}['getUserRole'](_0x1ba2eb){for(const _0x5210a6 of this['channelSessions']['values']())for(const _0xa7cefd of _0x5210a6)if(_0xa7cefd['user']===_0x1ba2eb)return _0xa7cefd['role'];}['_handleSessionAdd'](_0x49837a,_0x4dd357){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x2a109f=_0x4dd357['user'],_0x499842=this['_users']['getUser'](_0x2a109f['id'])||this['_createUser'](_0x2a109f),_0x563659=Object['assign']({},_0x4dd357,{'user':_0x499842});if(this['channelSessions']['get'](_0x49837a)['add'](_0x563659),!_0x2a109f['hiddenInPresenceList']){const _0x299bc3=this['channelConnectedUsers']['get'](_0x49837a);_0x299bc3['has'](_0x499842['id'])||_0x299bc3['add'](_0x499842),this['allConnectedUsers']['has'](_0x499842['id'])||_0x2a109f['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x499842,_0x499842['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x49837a,{'channelId':_0x49837a,'session':_0x563659});}['_handleSessionRemove'](_0x3b0747,_0x2ea5cf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x318467=this['channelConnectedUsers']['get'](_0x3b0747),_0x137b6f=_0x2ea5cf['user'];_0x137b6f['id']&&(this['channelSessions']['get'](_0x3b0747)['remove'](_0x2ea5cf['id']),_0x318467['has'](_0x137b6f['id'])&&!this['getUserSessions'](_0x137b6f,_0x3b0747)['size']&&_0x318467['remove'](_0x137b6f['id']),this['allConnectedUsers']['get'](_0x137b6f['id'])&&!this['getUserSessions'](_0x137b6f)['size']&&this['allConnectedUsers']['remove'](_0x137b6f['id']));}['_createUser'](_0x257f28,_0x842d32){const _0x17e27a=this['_users']['addUser'](_0x257f28);return _0x842d32&&this['_users']['defineMe'](_0x257f28['id']),_0x17e27a['orderNumber']=this['_uniqueUsersCount']++,_0x17e27a;}}class K extends _0x7e7df2{['_domEmitter']=new(_0x22fd07())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1a126f=this['editor'],_0xcb1241=_0x1a126f['plugins']['get'](Y);_0x1a126f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x580ce1,{writer:_0xce4b72})=>function(_0x10e492,_0x5128d0,_0xc73f3f,_0x4fac18){const _0x3d8ece=_0x10e492['markerName']['split'](':')[0x2],_0x5874cf=_0xc73f3f['getUserBySessionId'](_0x3d8ece);if(!_0x5874cf||_0x3d8ece===_0xc73f3f['mySessionId'])return;if(!_0x4fac18['model']['schema']['checkChild'](_0x10e492['markerRange']['start'],'$text'))return;const _0x373ced={'class':'ck-user__marker\x20'+_0x5874cf['color']['getMarkerClass'](),'style':Q(_0x5874cf),'data-name':_0x5874cf['name'],'data-session-id':_0x3d8ece},_0xa07946=_0x4fac18['model']['markers']['get'](_0x10e492['markerName']),_0x2b9b5f=_0xa07946['getStart'](),_0x418f1b=_0x2b9b5f['nodeAfter'],_0x2926f7=_0x4fac18['model']['schema'];if(_0x418f1b&&_0x2926f7['isObject'](_0x418f1b)&&_0x2926f7['isInline'](_0x418f1b)&&!_0x4fac18['model']['markers']['get']('user:range:'+_0x3d8ece)['getRange']()['isCollapsed'])return;const _0x590755=_0x2b9b5f['parent'];return _0x4fac18['model']['schema']['isLimit'](_0x590755)&&!_0x4fac18['model']['hasContent'](_0x590755)&&(_0x373ced['contenteditable']=!0x1),function(_0x43eb0b,_0x2d823d,_0x140244){const _0x2855db=_0x43eb0b['createUIElement']('span',_0x2d823d);return _0x43eb0b['setCustomProperty']('userPositionMarker',!0x0,_0x2855db),_0x2855db['render']=function(_0xb82226){const _0x2ccd14=this['toDomElement'](_0xb82226),_0x2b0224=document['createElement']('span');return _0x2b0224['classList']['add']('ck-user__marker-tooltip'),_0x2b0224['setAttribute']('contenteditable','false'),_0x2b0224['setAttribute']('spellcheck','false'),_0x2b0224['textContent']=_0x140244['name'],_0x2ccd14['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2b0224['outerHTML']+'⁠',_0x2ccd14['addEventListener']('mouseenter',()=>{_0x2ccd14['classList']['add']('ck-user__marker_hovered');}),_0x2ccd14['addEventListener']('mouseleave',()=>{_0x2ccd14['classList']['remove']('ck-user__marker_hovered');}),_0x2ccd14;},_0x2855db['isSimilar']=function(_0x103788){return!(!this['getCustomProperty']('userPositionMarker')||!_0x103788['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x103788['getAttribute']('data-session-id'));},_0x2855db;}(_0x5128d0,_0x373ced,_0x5874cf);}(_0x580ce1,_0xce4b72,_0xcb1241,_0x1a126f)}),_0x1a126f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x322d8c=>function(_0x4f1dc4,_0x4deb1e){const _0x10a8ae=_0x4f1dc4['markerName']['split'](':')[0x2];if(_0x10a8ae===_0x4deb1e['mySessionId'])return null;const _0x5206da=_0x4deb1e['getUserBySessionId'](_0x10a8ae);if(!_0x5206da)return{'id':_0x10a8ae,'classes':[]};return{'id':_0x10a8ae,'classes':['ck-user__selection',_0x5206da['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5206da),'data-session-id':_0x10a8ae},'priority':0x7d0+_0x5206da['orderNumber']};}(_0x322d8c,_0xcb1241)}),function(_0x4aaaed){const _0x15e595=_0x4aaaed['model'],_0x4f50c4=new Map(),_0x2ef069=_0x4aaaed['plugins']['get'](Y);_0x15e595['markers']['on']('update:user:range',(_0x2d7d9a,_0xa98c48,_0x29e22f,_0x1d71db)=>{if(!_0x1d71db&&_0x4f50c4['get'](_0xa98c48['name']))return _0x4f50c4['get'](_0xa98c48['name'])['detach'](),void _0x4f50c4['delete'](_0xa98c48['name']);const _0x5e3db4=_0xa98c48['name']['split'](':')[0x2];if(_0x5e3db4===_0x2ef069['mySessionId'])return;const _0x194d70='user:position:'+_0x5e3db4;_0x15e595['markers']['has'](_0x194d70)&&_0x4aaaed['editing']['reconvertMarker'](_0x194d70),_0xa98c48['on']('change:range',(_0x21ab32,_0x1e9cdc,_0x3af1fa)=>{if('$graveyard'!=_0x1e9cdc['root']['rootName']&&'$graveyard'==_0xa98c48['getRange']()['root']['rootName']&&!_0x4f50c4['has'](_0xa98c48['name'])){const _0x5291d9=_0x15e595['schema']['getNearestSelectionRange'](_0x3af1fa['deletionPosition']);if(_0x5291d9){const _0x4a44aa=_0x4e5246['fromRange'](_0x5291d9);_0x4f50c4['set'](_0xa98c48['name'],_0x4a44aa),_0x4a44aa['on']('change:range',(_0x53b894,_0x2a491d,_0x1f3cc5)=>{if('$graveyard'==_0x4a44aa['root']['rootName']){const _0x4ae943=_0x15e595['schema']['getNearestSelectionRange'](_0x1f3cc5['deletionPosition']);_0x4ae943?(_0x4a44aa['start']=_0x4ae943['start'],_0x4a44aa['end']=_0x4ae943['end']):(_0x4f50c4['delete'](_0xa98c48['name']),_0x4a44aa['detach']());}});}}});}),_0x15e595['document']['on']('change',()=>{_0x4f50c4['size']>0x0&&_0x15e595['enqueueChange']({'isUndoable':!0x1},_0xed949a=>{for(const [_0x250998,_0x18bf69]of _0x4f50c4)'$graveyard'==_0x15e595['markers']['get'](_0x250998)['getRange']()['root']['rootName']&&(J(_0x250998['split'](':')[0x2],_0x18bf69['toRange'](),_0x15e595,_0xed949a),_0x18bf69['detach']());_0x4f50c4['clear']();});});}(_0x1a126f),this['_domEmitter']['listenTo'](_0x4f4d68['document'],'keydown',(_0x2122b3,{key:_0x487ee6})=>{'Escape'===_0x487ee6&&function(_0x4293c1){_0x4293c1['editing']['view']['change'](_0x48ea42=>{for(const _0x5893b0 of _0x4293c1['model']['markers']){if(!_0x5893b0['name']['startsWith']('user:position'))continue;const _0x4b8b3d=_0x4293c1['editing']['mapper']['markerNameToElements'](_0x5893b0['name']);if(_0x4b8b3d){for(const _0x3e0e97 of _0x4b8b3d)_0x48ea42['removeClass']('ck-user__marker_hovered',_0x3e0e97);}}});}(_0x1a126f);},{'useCapture':!0x0});}['afterInit'](){const _0x10aff6=this['editor'],_0x43658a=_0x10aff6['commands']['get']('undo');_0x43658a&&_0x10aff6['model']['on']('applyOperation',(_0x5869bd,_0x28bf24)=>{const _0x118449=_0x28bf24[0x0];if(!_0x118449['isDocumentOperation'])return;if('marker'!=_0x118449['type']||!_0x118449['name']['startsWith']('user:'))return;const _0x3d575e=_0x118449['batch'];_0x43658a['_createdBatches']['has'](_0x3d575e)&&(_0x118449['newRange']=_0x118449['oldRange']?_0x10aff6['model']['createRange'](_0x118449['oldRange']['start'],_0x118449['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3060c1=this['editor'],_0x1c965e=_0x3060c1['model']['document'],_0x44ce04=_0x3060c1['plugins']['get'](Y);_0x3060c1['model']['enqueueChange']({'isUndoable':!0x1},_0x1a3797=>{const _0xb06e6d='user:range:'+_0x44ce04['mySessionId'],_0x1630e6='user:position:'+_0x44ce04['mySessionId'],_0x504673=_0x3060c1['model']['markers']['has'](_0xb06e6d);_0x3060c1['editing']['view']['hasDomSelection']?J(_0x44ce04['mySessionId'],_0x1c965e['selection']['getFirstRange'](),_0x3060c1['model'],_0x1a3797):_0x504673&&(_0x1a3797['removeMarker'](_0xb06e6d),_0x1a3797['removeMarker'](_0x1630e6));});}}function J(_0x2b5178,_0xebb4f5,_0x19c6fb,_0x4938b){const _0xff8f8e='user:range:'+_0x2b5178,_0x548999='user:position:'+_0x2b5178,_0x2f8b45=_0xebb4f5['getContainedElement']();let _0x5365cc=_0xebb4f5['start'];if(_0x2f8b45&&_0x2f8b45['is']('element','tableCell')){const _0x3ceeab=function(_0x215bf9,_0x1f1d76){for(const _0x3c3a11 of _0x215bf9['getPositions']())if(_0x1f1d76['schema']['checkChild'](_0x3c3a11,'$text'))return _0x3c3a11;}(_0xebb4f5,_0x19c6fb);_0x3ceeab&&(_0x5365cc=_0x3ceeab,_0xebb4f5=_0x4938b['createRange'](_0x5365cc));}const _0x4ca18a=_0x4938b['createRange'](_0x5365cc);_0x19c6fb['markers']['has'](_0xff8f8e)?(_0x4938b['updateMarker'](_0xff8f8e,{'range':_0xebb4f5}),_0x4938b['updateMarker'](_0x548999,{'range':_0x4ca18a})):(_0x4938b['addMarker'](_0xff8f8e,{'range':_0xebb4f5,'usingOperation':!0x0}),_0x4938b['addMarker'](_0x548999,{'range':_0x4ca18a,'usingOperation':!0x0}));}function Q(_0x4cff62){return'--ck-user-color:'+_0x4cff62['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4cff62['color']['getColorAlphaVariable']()+';';}function X(_0xb00654,_0x410779,_0x1eeae1){const _0x2c6af7=_0xb00654['t'],t=_0xb00654['t'];switch(_0x410779){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 _0x2c6af7({'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'},_0x1eeae1);default:return'';}}let Z=0x1;class tt extends _0x7e7df2{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x28acc3)());['_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,_0x48f710,_0x53aae5,_0x5b2509];}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 _0x146750=this['serverHistory']['getOperations']();for(let _0x3f20be=_0x146750['length']-0x1;_0x3f20be>=0x0;_0x3f20be--){const _0x4b6fbb=_0x146750[_0x3f20be];if(!this['_disconnectionOperations']['has'](_0x4b6fbb))return _0x4b6fbb['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x12752f){if(super(_0x12752f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4e2a41(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x8b1112('collaboration-missing-channelid',this);const _0x42ab8a=_0x12752f['config']['get']('cloudServices.bundleVersion')||_0x409661;this['_service']=new tt['CollaborativeEditingService'](_0x42ab8a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x234ca0(),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 _0x4f7110=this['editor'],_0x292f42=_0x4f7110['plugins']['get'](_0x53aae5),_0x2160ab=_0x4f7110['plugins']['get'](z);this['listenTo'](_0x292f42,'getOperationAuthor',(_0x4fbea2,_0x6ffae9)=>{const _0x39ac79=_0x6ffae9[0x0];_0x39ac79['_authorId']&&(_0x4fbea2['return']=_0x292f42['getUser'](_0x39ac79['_authorId']),_0x4fbea2['stop']()),null===_0x39ac79['_authorId']&&(_0x4fbea2['return']=null,_0x4fbea2['stop']());},{'priority':'high'}),this['listenTo'](_0x4f7110['model']['document']['selection'],'change:range',(_0x40734d,_0x1d153d)=>{_0x1d153d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4f7110['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4f7110['model']['on']('applyOperation',(_0x19ee1b,_0x31747f)=>{const _0x1af4e1=_0x31747f[0x0];_0x1af4e1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1af4e1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2160ab,'state',this,'_hasSynchronizationProblem',(_0x419195,_0x562497)=>'connected'===_0x419195&&!_0x562497),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4f7110['disableReadOnlyMode']('rtc-offline'):_0x4f7110['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4f7110['disableReadOnlyMode']('rtc-offline'):_0x4f7110['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5923e0=this['editor']['plugins']['get'](Y),_0x532ae1=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x5923e0['unregister'](this['_channelId']);const _0x30e7d7=await this['_service']['reconnect'](_0x532ae1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x30e7d7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3d5377=await this['_service']['getConnectedSessions']();_0x5923e0['register'](this['_channelId'],_0x3d5377),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x28c1ad){if(function(_0x18cd13){return'404'===_0x18cd13['code'];}(_0x28c1ad)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x40a181){return'409'===_0x40a181['code'];}(_0x28c1ad)){const _0x471e3e=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'](_0x471e3e);}else{if(!(_0x28c1ad instanceof et))throw _0x28c1ad;this['_handleReconnectionError']();}}}}['destroy'](){const _0x55e19e=this['editor']['plugins']['get'](z),_0x457bd9=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x457bd9['channelSessions']['has'](this['_channelId'])&&_0x457bd9['unregister'](this['_channelId']),_0x55e19e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1b102d){if(this['sessionId']!==_0x1b102d['sessionId']&&this['_lastSyncedOperationId']!==_0x1b102d['lastOperationId'])throw new et();return this['sessionId']=_0x1b102d['sessionId'],this['_handleServerResponse']([],{..._0x1b102d,'wereChangesApplied':!0x1,'data':_0x1b102d['data']},'reconnect');}async['_connectService'](_0x5e40d3,_0x21a08d=!0x1){const {connection:_0xdd7913}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0xdd7913,this['_channelId'])['then'](_0x238299=>this['_initSessionsHandling'](_0x238299))['catch'](_0x7ae861=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x7ae861);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x7d0f97,_0x467da3)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x467da3);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x889678=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5e40d3);this['_isPendingUpdate']=!0x0;const _0x3d7093=await this['_service']['connect'](_0xdd7913,this['_compressOperations'](_0x5e40d3),_0x889678);if(this['sessionId']=_0x3d7093['sessionId'],_0x21a08d){if(!_0x3d7093['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3d7093['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5e40d3,_0x3d7093,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3d7093,_0x5e40d3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5efabc=this['editor']['plugins']['get'](Y),_0x2c241b=this['editor']['plugins']['get'](K),_0x55bd79=_0x5efabc['channelSessions']['get'](this['_channelId']);_0x55bd79&&_0x55bd79['length']>0x1?_0x2c241b['createUserMarkerOperations']():this['listenTo'](_0x5efabc,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5efabc['channelSessions']['get'](this['_channelId'])['length']&&_0x2c241b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x598819,_0x23ae41,_0x117f42,_0x5c986a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x23ae41){const _0x4b7254=this['_decompressOperations'](_0x117f42,_0x5c986a);await this['_fetchMissingUsers'](_0x4b7254),this['_handleExternalOperations'](_0x4b7254,_0x23ae41,_0x117f42['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x14ca47}=this['editor'];let _0x578931;try{_0x578931=await this['_service']['getDocumentDetails']();}catch{const _0x281716=X(_0x14ca47,'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'](_0x281716);}const _0x678e50=_0x578931['currentDocumentSession']||_0x578931['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x678e50['lastOperationId']){const _0x4deb0=X(_0x14ca47,'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'](_0x4deb0);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2a30f8){const _0x13a88d=this['editor']['plugins']['get'](Y);this['listenTo'](_0x13a88d,'sessionAdd:'+this['_channelId'],(_0x2a76f5,{session:_0x4acca3})=>{if(_0x4acca3['id']===_0x13a88d['mySessionId']){_0x2a76f5['off']();const _0x94c083=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1ced70=_0x4acca3['permissions'];_0x94c083&&_0x94c083['isEnabled']&&(_0x1ced70=_0x1ced70['filter'](_0x274f89=>'document:write'!==_0x274f89)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1ced70,this['_channelId']);}}),_0x13a88d['register'](this['_channelId'],_0x2a30f8);}['_initThrowingOnDataSet'](){const _0x484523=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x36c3b2)=>{if(!_0x36c3b2[_0x36c3b2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x8b1112('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x484523['apply'](this['editor']['data'],_0x36c3b2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4d06a6,[_0x3d9821])=>{if(this['_document']['version'])throw new _0x8b1112('realtimecollaborationclient-init-document-already-initialized',this);_0x4d06a6['stop'](),this['_setPendingAction']();const _0x3aac1f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x487e9b])=>!_0x487e9b['lazyLoad'])['map'](([_0x141db8,_0x4d2b9c])=>[_0x141db8,_0x4d2b9c['modelAttributes']||{}])),_0x1b7906=this['_getOperationsFromInitData'](_0x3d9821,_0x3aac1f);0x0==_0x1b7906['length']&&_0x1b7906['push'](new _0xcd8f64(0x0)),_0x4d06a6['return']=this['_connectService'](_0x1b7906)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1d10b7=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1d10b7))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x28efb8,[_0x2b911c,_0xbb3293])=>{_0x28efb8['stop']();const _0x31530b=this['editor']['model']['document']['getRoot'](_0x2b911c);if(!this['_knownRootNames']['has'](_0x2b911c)){const _0x1af1e6=_0xbb3293&&_0xbb3293['data']?_0xbb3293['data']:'',_0x3c2714=_0xbb3293&&_0xbb3293['attributes']?_0xbb3293['attributes']:{};await this['_loadRoot'](_0x2b911c,_0x1af1e6,_0x3c2714);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x31530b['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x31530b);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2f064d){const _0x4a8cbc=this['editor']['plugins']['get'](_0x53aae5),{connection:_0x4adbe9}=this['editor']['plugins']['get'](z),_0x42b7ec=new Set();for(const _0xc8faa1 of _0x2f064d){const _0x21c481=_0xc8faa1['_authorId'];_0x21c481&&!_0x4a8cbc['getUser'](_0x21c481)&&_0x42b7ec['add'](_0x21c481);}if(0x0===_0x42b7ec['size'])return;const _0x5166f0=await _0x1aae37['getMany'](_0x4adbe9,Array['from'](_0x42b7ec));for(const _0x4816e1 of _0x5166f0)_0x4a8cbc['getUser'](_0x4816e1['id'])||_0x4a8cbc['addUser'](_0x4816e1);}['_getOperationsFromInitData'](_0x2986ae,_0x4065dd={}){const _0x3543bb=this['editor']['model'],_0x2e2588=[];let _0x5926f4=0x0;const _0x2ded1c='string'==typeof _0x2986ae?{'main':_0x2986ae}:_0x2986ae;for(const _0xc2266 of Object['keys'](_0x2ded1c)){if(!this['_document']['roots']['has'](_0xc2266))throw new _0x8b1112('realtimecollaborationclient-init-non-existent-root',this);const _0xfb5dba=this['editor']['data']['parse'](_0x2ded1c[_0xc2266]),_0x1b43f3=this['_document']['getRoot'](_0xc2266),_0x166b1d=new _0xd5bc1f(_0x3543bb['createPositionAt'](_0x1b43f3,0x0),_0xfb5dba,_0x5926f4++);_0x2e2588['push'](_0x166b1d);for(const [_0x1e7ea8,_0x5e3d6f]of _0xfb5dba['markers']){const _0x4d0824=_0x3543bb['createRange'](_0x3543bb['createPositionFromPath'](_0x1b43f3,_0x5e3d6f['start']['path']['slice']()),_0x3543bb['createPositionFromPath'](_0x1b43f3,_0x5e3d6f['end']['path']['slice']())),_0x23b56c=new _0x174e27(_0x1e7ea8,null,_0x4d0824,_0x3543bb['markers'],!0x0,_0x5926f4++);_0x2e2588['push'](_0x23b56c);}}if(_0x4065dd)for(const [_0x2f4507,_0x466fd3]of Object['entries'](_0x4065dd)){const _0x3facc9=_0x3543bb['document']['getRoot'](_0x2f4507);if(!_0x3facc9)throw new _0x8b1112('multi-root-editor-root-attributes-no-root',null);for(const [_0xf92e45,_0x222ee3]of Object['entries'](_0x466fd3))if(null!==_0x222ee3){const _0x5945d1=new _0x488080(_0x3facc9,_0xf92e45,null,_0x222ee3,_0x5926f4++);_0x2e2588['push'](_0x5945d1);}}return _0x2e2588;}async['_loadRoot'](_0x52928b,_0x3cfaee,_0x46be9d){this['_getOperationsFromInitData']({[_0x52928b]:_0x3cfaee},{[_0x52928b]:_0x46be9d})['forEach']((_0x221a51,_0x52a69a)=>{_0x221a51['baseVersion']=this['_document']['version']+_0x52a69a,_0x221a51['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x221a51);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x38499c,_0x32c7c1){let _0x40cf5c;this['_offset']=_0x38499c['offset'];const _0x5ba0d8=_0x38499c['wereChangesApplied']&&!_0x38499c['initData'],_0x36eda7=_0x5ba0d8?0x0:_0x38499c['data']['baseVersion'];if(_0x32c7c1['forEach'](_0x3c0bc7=>{_0x3c0bc7['_isInit']=!0x0,_0x3c0bc7['createdAt']=_0x38499c['sessionCreatedAt'],_0x3c0bc7['_authorId']=null;}),_0x5ba0d8)_0x40cf5c=_0x32c7c1,this['_applyOperationsSet'](_0x40cf5c,_0x5ba0d8);else{if(_0x38499c['initData']){const _0x3e538d=this['_getOperationsFromInitData'](_0x38499c['initData']);this['_document']['history']['version']=-_0x3e538d['length'],_0x3e538d['forEach'](_0x10f93e=>{_0x10f93e['baseVersion']-=_0x3e538d['length'],_0x10f93e['createdAt']=_0x38499c['sessionCreatedAt'],_0x10f93e['_isInit']=!0x0,_0x10f93e['_authorId']=null;}),this['_applyOperationsSet'](_0x3e538d,!0x0),this['serverHistory']['version']=-_0x3e538d['length']+this['_offset'],this['_updateServerHistory'](_0x3e538d);}this['_document']['history']['version']=_0x36eda7,_0x40cf5c=this['_decompressOperations'](_0x38499c['data'],_0x38499c['metadata']),await this['_fetchMissingUsers'](_0x40cf5c),this['_applyOperationsSet'](_0x40cf5c,_0x5ba0d8);}_0x38499c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x40cf5c,_0x38499c['lastOperationId']),this['_lastSyncedOperationId']=_0x38499c['lastOperationId']),this['serverHistory']['version']=_0x36eda7+this['_offset'],this['_updateServerHistory'](_0x40cf5c),_0x32c7c1['filter'](_0x1b8cf8=>{const _0x15c68c=this['_getAffectedRoot'](_0x1b8cf8);return _0x15c68c&&!this['_knownRootNames']['has'](_0x15c68c);})['forEach']((_0x21e4fe,_0x596af3)=>{_0x21e4fe['baseVersion']=this['_document']['version']+_0x596af3,this['_saveOperationInBuffer'](_0x21e4fe);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1defdf,_0x50ce7b){const _0x2918e5=_0x50ce7b&&_0x50ce7b['message'];if(_0x2918e5&&_0x2918e5['startsWith']('realtimecollaborationclient'))throw _0x50ce7b;const _0x57468e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x57468e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x8b1112(_0x1defdf,this['editor'],_0x2918e5?{'originalError':_0x2918e5}:void 0x0);}['_saveOperationInBuffer'](_0x1bffdd){this['_knownOperations']['has'](_0x1bffdd)||(this['_knownOperations']['add'](_0x1bffdd),this['_bufferedOperations']['push'](_0x1bffdd),this['_pendingAction']||'marker'==_0x1bffdd['type']&&!_0x1bffdd['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1c0d65=!0x1){!_0x1c0d65&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1d58cc=>{_0x1d58cc&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3c9c52=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x369737){return _0x369737['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x369737['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x369737['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3c9c52)||this['_crash'](_0x3c9c52['message'],_0x3c9c52);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1a93fa=>{this['on']('change:_isPendingUpdate',()=>{_0x1a93fa();});});}async['_sendBufferedOperations'](){const _0x5f52ec=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5f52ec['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x454b5f=[...this['_bufferedOperations']];for(const _0x37d5c6 of _0x454b5f)_0x37d5c6['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x37d5c6);const _0x2d22c6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x454b5f),_0x1ea704=Z++,_0x45dc5d=this['_compressOperations'](_0x454b5f),_0x5bc5d1=await this['_service']['sendOperations'](_0x45dc5d,_0x45dc5d['baseVersion'],_0x2d22c6);try{return await this['_handleServerResponse'](_0x454b5f,_0x5bc5d1,_0x1ea704);}catch(_0x504cc8){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x504cc8);}}async['_handleServerResponse'](_0x2600fd,_0x2308c0,_0x1103e9){if('error'in _0x2308c0)throw _0x2308c0['error'];let _0x1b45fd=!0x1;if(_0x2308c0['wereChangesApplied']){_0x2308c0['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2308c0['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xe406df=>!_0x2600fd['includes'](_0xe406df));for(const _0x582299 of _0x2600fd)_0x582299['createdAt']='lastOperationAcceptedAt'in _0x2308c0&&_0x2308c0['lastOperationAcceptedAt']||void 0x0;st(_0x2600fd,_0x2308c0['version']-_0x2600fd['length']),this['_updateServerHistory'](_0x2600fd);const _0x4499f1=_0x2600fd['filter'](_0x42fc20=>{if(!_0x42fc20['_isInit'])return!0x1;const _0x51c8c0=this['_getAffectedRoot'](_0x42fc20);return _0x51c8c0&&!this['_knownRootNames']['has'](_0x51c8c0);});st(_0x4499f1,this['_document']['version']),this['_applyOperationsSet'](_0x4499f1),_0x1b45fd=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xb75334=this['_decompressOperations'](_0x2308c0['data'],_0x2308c0['metadata'])['filter'](_0x3e965f=>_0x3e965f['baseVersion']>=this['_lastServerVersion']);_0xb75334['forEach'](_0x517f49=>this['_addKnownRoot'](_0x517f49)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x12ea2a=>!_0x12ea2a['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x12ea2a))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xb75334),_0x1b45fd=this['_handleExternalOperations'](_0xb75334,_0x2308c0['version'],_0x2308c0['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1b45fd?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1651a5,_0x3ae681,_0x23dd11){try{const _0x43ddd0={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x49ae2f,operationsB:_0x2a2e65,originalOperations:_0x37d688}=_0x209e32(_0x1651a5,this['_bufferedOperations'],_0x43ddd0);st(_0x49ae2f,this['_document']['version']),st(_0x2a2e65,_0x3ae681);for(const _0x5e9f11 of _0x49ae2f){const _0x1dfaec=_0x37d688['get'](_0x5e9f11);_0x5e9f11['_authorId']=_0x1dfaec?_0x1dfaec['_authorId']:null;}_0x23dd11&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1651a5,_0x23dd11),this['_lastSyncedOperationId']=_0x23dd11),this['_bufferedOperations']=[..._0x2a2e65],this['_applyOperationsSet'](_0x49ae2f),this['_updateServerHistory'](_0x1651a5);}catch(_0x47e528){return console['error'](_0x47e528),!0x1;}return!0x0;}['_applyOperationsSet'](_0x266cb8,_0x3c598e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5e6288=>{for(const _0x44374a of _0x266cb8)this['_knownOperations']['add'](_0x44374a),this['_addKnownRoot'](_0x44374a),_0x5e6288['batch']['addOperation'](_0x44374a),this['editor']['model']['applyOperation'](_0x44374a);});}['_addKnownRoot'](_0x47af30){const _0x12bc01=this['_getAffectedRoot'](_0x47af30);_0x12bc01&&this['_knownRootNames']['add'](_0x12bc01);}['_getAffectedRoot'](_0x4cfeee){let _0x251d54,_0x5bb304;switch(_0x4cfeee['type']){case'insert':_0x251d54=_0x4cfeee['position']['root'];break;case'marker':if(_0x5bb304=_0x4cfeee['newRange'],!_0x5bb304)return null;_0x251d54=_0x5bb304['root'];break;case'addRootAttribute':_0x251d54=_0x4cfeee['root'];break;case'addRoot':_0x251d54=_0x4cfeee['affectedSelectable'];break;case'move':_0x251d54=_0x4cfeee['targetPosition']['root'];break;default:return null;}return _0x251d54['rootName'];}['_updateServerHistory'](_0x3b3f0e){_0x3b3f0e['forEach'](_0x4f2d66=>{const _0x12f601=_0x4f2d66['clone']();_0x12f601['_authorId']=_0x4f2d66['_authorId'],_0x12f601['_isInit']=!!_0x4f2d66['_isInit'],_0x12f601['createdAt']=_0x4f2d66['createdAt'],_0x12f601['baseVersion']+=this['_offset'],_0x4f2d66['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x12f601),this['serverHistory']['addOperation'](_0x12f601);});}['_handleReconnectionError'](_0x54e1c3){const _0x447644=this['editor']['plugins']['get']('Notification'),_0x31a182=this['editor']['locale'];_0x54e1c3||(_0x54e1c3=X(_0x31a182,'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.')),_0x447644['showWarning'](_0x54e1c3,{'title':X(_0x31a182,'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'](_0x48f710)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x48f710)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3f9660){const _0x1a3266=_0x3f9660['map'](_0x54b054=>_0x54b054['toJSON']());return this['_compressor']['compress'](_0x1a3266);}['_decompressOperations'](_0x405ebf,_0xf5fe72){return this['_compressor']['decompress'](_0x405ebf)['map']((_0x4c6fd7,_0x17cd99)=>{const _0x1bba23='init'==_0xf5fe72[_0x17cd99]['type'];if('InsertOperation'==_0x4c6fd7['__className']){const _0x3f1f2a=_0x4c6fd7['position']['root'];!this['_document']['getRoot'](_0x3f1f2a)&&(this['_document']['createRoot']('$root',_0x3f1f2a)['_isAttached']=!0x1);}const _0x1a0c52=_0x271511['fromJSON'](_0x4c6fd7,this['_document']);return _0x1a0c52['wasUndone']=_0x4c6fd7['wasUndone'],_0x1a0c52['_isInit']=_0x1bba23,_0x1a0c52['_authorId']=_0x1bba23?null:_0xf5fe72[_0x17cd99]['userId'],_0x1a0c52['_isDisconnection']='cs:removeUser'===_0xf5fe72[_0x17cd99]['type'],_0x1a0c52['createdAt']=_0xf5fe72[_0x17cd99]['createdAt'],_0x1a0c52;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x1e9206=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1e9206&&_0x1e9206['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x9ada79,_0x10892c){for(const _0x3fee3e of _0x9ada79)_0x3fee3e['baseVersion']=_0x10892c++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x2b8879){this['_ignoredOperations']=_0x2b8879,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x52be96){let _0x298672=_0x52be96['length'];for(;_0x298672--;){const _0x1d5542=_0x52be96[_0x298672];if(!this['_ignoredOperations']['has'](_0x1d5542)){if(!this['_operationToId']['has'](_0x1d5542)){const _0x5e42c6=_0x257d68()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1d5542,_0x5e42c6);}return this['_operationToId']['get'](_0x1d5542);}}}['setIdForTheLastOperation'](_0x1b62a0,_0x39cb90){if(!_0x39cb90)return;let _0x218fe7=_0x1b62a0['length'];for(;_0x218fe7--;){const _0x24aa34=_0x1b62a0[_0x218fe7];this['_ignoredOperations']['has'](_0x24aa34)||this['_operationToId']['set'](_0x24aa34,_0x39cb90);}}}class nt extends _0x7e7df2{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x3aaa58{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x123b13)());['_services'];static get['requires'](){return[z,_0x546c19,Y,_0x53aae5];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1a04bc){super(_0x1a04bc),this['_services']=new Map();}async['init'](){const _0x2fd5d3=this['context'],_0x55410c=_0x2fd5d3['plugins']['get'](_0x546c19);if(_0x2fd5d3['plugins']['get'](z)['addToReconnectionStack'](this),_0x55410c['adapter']={'addCommentThread':async({channelId:_0x1d2292,threadId:_0xe0956b,comments:_0x7d6dc2,resolvedAt:_0xf2713a,resolvedBy:_0x4c80e9,context:_0x2f73e8,attributes:_0x4a48c4})=>{const _0x42a82e=await this['_getService'](_0x1d2292)['addCommentThread']({'commentThreadId':_0xe0956b,'comments':_0x7d6dc2['map'](_0x5bc8e0=>function(_0x370224,_0x2c85cb,_0x513f94){return{'commentThreadId':_0x513f94,'commentId':_0x370224['commentId'],'userId':_0x370224['authorId'],'content':_0x370224['content'],'documentId':_0x2c85cb,'createdAt':_0x370224['createdAt'],'attributes':_0x370224['attributes']||{}};}(_0x5bc8e0,_0x1d2292,_0xe0956b)),'resolvedAt':_0xf2713a,'resolvedBy':_0x4c80e9,'context':_0x2f73e8,'attributes':_0x4a48c4})['catch'](ct);return{'threadId':_0x42a82e['commentThreadId'],'comments':_0x42a82e['comments']};},'getCommentThread':async({channelId:_0x3e3ab4,threadId:_0x1d7186})=>{const _0x5eba4a=await this['_getService'](_0x3e3ab4)['getCommentThread'](_0x1d7186)['catch'](rt)['catch'](ct);return _0x5eba4a?_0x5eba4a['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5eba4a]),{'threadId':_0x5eba4a['commentThreadId'],'comments':_0x5eba4a['comments']['map'](at),'context':_0x5eba4a['context'],'resolvedAt':_0x5eba4a['resolvedAt'],'resolvedBy':_0x5eba4a['resolvedBy'],'attributes':_0x5eba4a['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x40b603,threadId:_0x19f540,context:_0x8d0c46,unlinkedAt:_0x327e70,attributes:_0x3858b9})=>this['_getService'](_0x40b603)['updateCommentThread']({'commentThreadId':_0x19f540,'context':_0x8d0c46,'attributes':_0x3858b9,'unlinkedAt':_0x327e70})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x5c4d3b,threadId:_0x55ef37})=>{const _0x1cc45e=await this['_getService'](_0x5c4d3b)['resolveCommentThread'](_0x55ef37)['catch'](rt)['catch'](ct);return{'threadId':_0x1cc45e['commentThreadId'],'resolvedAt':_0x1cc45e['resolvedAt'],'resolvedBy':_0x1cc45e['resolvedBy']};},'reopenCommentThread':async({channelId:_0xca2463,threadId:_0x2dea70})=>this['_getService'](_0xca2463)['reopenCommentThread'](_0x2dea70)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5886a2,threadId:_0x366094})=>this['_getService'](_0x5886a2)['removeCommentThread'](_0x366094)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x1a8fed,threadId:_0x2ab4e0,commentId:_0x3aeef6,content:_0x55dece,attributes:_0x1bf4e6})=>this['_getService'](_0x1a8fed)['addComment'](_0x2ab4e0,_0x3aeef6,_0x55dece,_0x1bf4e6)['catch'](ct),'updateComment':({channelId:_0x141598,threadId:_0xb4fed5,commentId:_0x5c5cca,content:_0x2c871b,attributes:_0x75342c})=>this['_getService'](_0x141598)['updateComment'](_0xb4fed5,_0x5c5cca,_0x2c871b,_0x75342c)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0xd95d58,threadId:_0x1ecbd0,commentId:_0x5a2eff})=>this['_getService'](_0xd95d58)['removeComment'](_0x1ecbd0,_0x5a2eff)['catch'](rt)['catch'](ct)},_0x2fd5d3 instanceof _0x36c47e){const _0xe9c51=_0x2fd5d3['config']['get']('collaboration.channelId'),_0x4ba8a1=_0x2fd5d3['plugins']['get'](Y);await this['_setUpService'](_0xe9c51);const _0x5a1568=await this['_services']['get'](_0xe9c51)['getConnectedSessions']();this['listenTo'](_0x4ba8a1,'sessionAdd:'+_0xe9c51,(_0x22fe78,{session:_0x32b85f})=>{_0x32b85f['id']===_0x4ba8a1['mySessionId']&&(_0x22fe78['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x32b85f['permissions'],_0xe9c51));}),_0x4ba8a1['register'](_0xe9c51,_0x5a1568);}}async['_setUpService'](_0x3e60ac){if(this['_services']['has'](_0x3e60ac))throw new _0x8b1112('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3e60ac});const _0x25bfdc=this['context']['plugins']['get'](_0x546c19),_0x10c8ea=new ot['CommentsService'](_0x3e60ac);this['_services']['set'](_0x3e60ac,_0x10c8ea),this['listenTo'](_0x10c8ea,'commentThreadAdded',(_0x29640c,_0x3ef3b1)=>{const {commentThreadId:_0x39fee2,documentId:_0x543891,context:_0x1f9397,attributes:_0x13f70d,resolvedAt:_0x34e2cd,resolvedBy:_0x587465,comments:_0x31cd93}=_0x3ef3b1;_0x25bfdc['getCommentThread'](_0x39fee2)||_0x25bfdc['addCommentThread']({'threadId':_0x39fee2,'channelId':_0x543891,'comments':_0x31cd93?_0x31cd93['map'](at):[],'context':_0x1f9397,'attributes':_0x13f70d,'resolvedAt':_0x34e2cd,'resolvedBy':_0x587465,'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadUpdated',(_0x30bc71,{commentThreadId:_0x5b6f1f,documentId:_0x42934c,context:_0x3a5dbe,unlinkedAt:_0x20c638,attributes:_0x4389a8})=>{_0x25bfdc['getCommentThread'](_0x5b6f1f)&&_0x25bfdc['updateCommentThread']({'threadId':_0x5b6f1f,'channelId':_0x42934c,'context':_0x3a5dbe,'unlinkedAt':_0x20c638,'attributes':_0x4389a8,'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadResolved',(_0x4f5dea,{commentThreadId:_0x48d967,resolvedBy:_0x23ce81,resolvedAt:_0xff8b5d})=>{const _0x2fdffe=_0x25bfdc['getCommentThread'](_0x48d967);_0x2fdffe&&_0x2fdffe['resolve']({'resolvedBy':_0x23ce81,'resolvedAt':_0xff8b5d,'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadReopened',(_0x48d262,{commentThreadId:_0x5854a6})=>{const _0x191401=_0x25bfdc['getCommentThread'](_0x5854a6);_0x191401&&_0x191401['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadRemoved',(_0x228a7f,{commentThreadId:_0x66e965})=>{const _0x554542=_0x25bfdc['getCommentThread'](_0x66e965);_0x554542&&_0x554542['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentAdded',(_0x5652d4,_0x21db57)=>{const _0x3fdba8=_0x21db57['commentThreadId'],_0x4b9f92=_0x25bfdc['getCommentThread'](_0x3fdba8);_0x4b9f92&&_0x4b9f92['addComment']({...at(_0x21db57),'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentUpdated',(_0x3fa0a8,{commentThreadId:_0x148d65,commentId:_0x561016,content:_0x314d5b,attributes:_0x1a90e4})=>{const _0x1aab6e=_0x25bfdc['getCommentThread'](_0x148d65);if(_0x1aab6e){const _0x4da7bc=_0x1aab6e['getComment'](_0x561016);_0x4da7bc&&_0x4da7bc['update']({'content':_0x314d5b,'attributes':_0x1a90e4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x10c8ea,'commentRemoved',(_0x2ab847,{commentThreadId:_0x33bcc1,commentId:_0x554411})=>{const _0x2db888=_0x25bfdc['getCommentThread'](_0x33bcc1);if(_0x2db888){const _0x3c96ae=_0x2db888['getComment'](_0x554411);_0x3c96ae&&_0x3c96ae['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3e60ac);}['destroy'](){if(this['context']instanceof _0x36c47e){const _0x2d3b10=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2d3b10);}}['_terminateService'](_0x4e0805){if(!this['_services']['has'](_0x4e0805))throw new _0x8b1112('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4e0805});this['_getService'](_0x4e0805)['disconnect'](),this['_services']['delete'](_0x4e0805);}async['reconnect'](){for(const _0x339a38 of this['_services']['keys']())await this['_connectService'](_0x339a38);if(this['context']instanceof _0x36c47e){const _0xe085fb=this['context']['config']['get']('collaboration.channelId'),_0x1c388c=this['context']['plugins']['get'](Y);_0x1c388c['unregister'](_0xe085fb);const _0x8716ec=await this['_services']['get'](_0xe085fb)['getConnectedSessions']();_0x1c388c['register'](_0xe085fb,_0x8716ec);}}async['_connectService'](_0x5d5dd3){const {connection:_0xf8ac2c}=this['context']['plugins']['get'](z),_0x1d4e17=this['context']['plugins']['get'](_0x546c19),_0x5e993f=this['_services']['get'](_0x5d5dd3),_0x42f893=await _0x5e993f['connect'](_0xf8ac2c);await this['_fetchMissingUsersForThreads'](_0x42f893);const _0x2c74bf=new Set(Array['from'](_0x1d4e17['getCommentThreads']({'channelId':_0x5d5dd3}),_0x2ee2a4=>_0x2ee2a4['id']));for(const _0x476879 of _0x42f893)_0x476879['deletedAt']||_0x2c74bf['delete'](_0x476879['commentThreadId']);for(const _0x3e35aa of _0x2c74bf)_0x1d4e17['getCommentThread'](_0x3e35aa)['remove']({'isFromAdapter':!0x0});for(const _0x1b8000 of _0x42f893){let _0x205064=_0x1d4e17['getCommentThread'](_0x1b8000['commentThreadId']);const {commentThreadId:_0x4a4951,context:_0x69721b,attributes:_0x5d0dcf,resolvedBy:_0x4cc045,resolvedAt:_0x38c50a,unlinkedAt:_0x11cc5d,deletedAt:_0x154c18}=_0x1b8000;if(_0x154c18)continue;_0x205064||(_0x205064=_0x1d4e17['addCommentThread']({'channelId':_0x5d5dd3,'threadId':_0x4a4951,'context':_0x69721b,'attributes':_0x5d0dcf||{},'resolvedBy':_0x4cc045,'resolvedAt':_0x38c50a,'unlinkedAt':_0x11cc5d,'isFromAdapter':!0x0}));const _0x9a5d03=new Set(Array['from'](_0x205064['comments'],_0x23803c=>_0x23803c['id']));for(const _0x5b923c of _0x1b8000['comments'])_0x9a5d03['delete'](_0x5b923c['commentId']);for(const _0x3b1e41 of _0x9a5d03)_0x205064['getComment'](_0x3b1e41)['remove']({'isFromAdapter':!0x0});for(const _0x5a01b1 of _0x1b8000['comments']){const _0x42d370=_0x205064['getComment'](_0x5a01b1['commentId']);_0x42d370?_0x42d370['content']!==_0x5a01b1['content']&&_0x42d370['update']({'content':_0x5a01b1['content'],'isFromAdapter':!0x0}):_0x205064['addComment'](Object['assign'](at(_0x5a01b1),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3f2821){if(!this['_services']['has'](_0x3f2821))throw new _0x8b1112('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3f2821});return this['_services']['get'](_0x3f2821);}async['_fetchMissingUsersForThreads'](_0x3f7272){const _0x1b3dcf=this['context']['plugins']['get'](_0x53aae5),{connection:_0x3c0d98}=this['context']['plugins']['get'](z),_0x7f34e2=new Set();for(const {resolvedBy:_0x37a14c,comments:_0x51a4bd}of _0x3f7272){_0x37a14c&&!_0x1b3dcf['getUser'](_0x37a14c)&&_0x7f34e2['add'](_0x37a14c);for(const {userId:_0x368b6f}of _0x51a4bd)_0x1b3dcf['getUser'](_0x368b6f)||_0x7f34e2['add'](_0x368b6f);}if(0x0===_0x7f34e2['size'])return;const _0x4f4b09=await _0x1aae37['getMany'](_0x3c0d98,Array['from'](_0x7f34e2));for(const _0x47e644 of _0x4f4b09)_0x1b3dcf['getUser'](_0x47e644['id'])||_0x1b3dcf['addUser'](_0x47e644);}}async function rt(_0x3fc775){if('404'!==_0x3fc775['code'])throw _0x3fc775;}function ct(_0x5a3f8a){if((_0x124be5=_0x5a3f8a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x124be5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x124be5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x124be5;throw _0x5a3f8a;}function at(_0x506420){return{'threadId':_0x506420['commentThreadId'],'commentId':_0x506420['commentId'],'content':_0x506420['content'],'createdAt':_0x506420['createdAt'],'authorId':_0x506420['userId'],'attributes':_0x506420['attributes']||{}};}class ht extends _0x7e7df2{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x133455)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x32ed3a,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x531f97){super(_0x531f97);const _0x2dcbc8=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x2dcbc8);}['init'](){const _0x4caaec=this['editor']['plugins']['get'](z),_0x303cac=this['editor']['plugins']['get'](_0x32ed3a);return _0x303cac['adapter']={'getSuggestion':async _0x4c8854=>{await this['_waitForServiceReady']();const _0x2c8384=await this['_trackChangesService']['get'](_0x4c8854)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x2c8384]),_0x2c8384;},'addSuggestion':async({id:_0x36b9e8,type:_0x2efff2,data:_0x1905cf,originalSuggestionId:_0x26e494,attributes:_0x42b2d0})=>{await this['_waitForServiceReady']();const _0x51aa98={'id':_0x36b9e8,'type':_0x2efff2,'data':_0x1905cf,'originalSuggestionId':_0x26e494,'attributes':_0x42b2d0},_0x16edb9=await this['_trackChangesService']['add'](_0x36b9e8,_0x2efff2,_0x1905cf,_0x26e494,_0x42b2d0)['catch'](_0x252429=>{if(dt(_0x252429))return new Promise(_0x5967c4=>{this['_bufferedRequests']['set'](_0x36b9e8,{'resolve':_0x5967c4,'suggestionData':_0x51aa98});});throw _0x252429;});return this['_bufferedRequests']['delete'](_0x36b9e8),_0x16edb9;},'updateSuggestion':async(_0x10bfbd,_0x355398)=>{if(await this['_waitForServiceReady'](),'open'!==_0x355398['state'])return this['_trackChangesService']['update'](_0x10bfbd,_0x355398)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3aa958,_0x2a5fb9)=>{_0x303cac['hasSuggestion'](_0x2a5fb9['id'])&&(_0x303cac['getSuggestion'](_0x2a5fb9['id'])['attributes']=_0x2a5fb9['attributes']);}),this['_trackChangesService']['connect'](_0x4caaec['connection'])['then'](_0x2cfce3=>(_0x4caaec['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2cfce3)['then'](()=>{for(const _0xddac0c of _0x2cfce3){_0x303cac['addSuggestionData'](_0xddac0c)['_saved']=!0x0;}})));}async['reconnect'](){const _0x8c79bb=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x50331b}=this['editor']['plugins']['get'](z),_0x5eb304=await this['_trackChangesService']['connect'](_0x50331b);await this['_fetchMissingUsersForThreads'](_0x5eb304);for(const {suggestionData:_0x5c15b3,resolve:_0x1bfa11}of this['_bufferedRequests']['values']()){let _0x29d52d=_0x5eb304['find'](_0x124330=>_0x124330['id']===_0x5c15b3['id']);_0x29d52d||(_0x29d52d=await this['_trackChangesService']['add'](_0x5c15b3['id'],_0x5c15b3['type'],_0x5c15b3['data'],_0x5c15b3['originalSuggestionId'])),_0x1bfa11(_0x29d52d);}for(const _0x36152d of _0x5eb304)_0x8c79bb['hasSuggestion'](_0x36152d['id'])||_0x8c79bb['addSuggestionData'](_0x36152d);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x3d252d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x252117=>{_0x252117['off'](),_0x3d252d();});});}async['_fetchMissingUsersForThreads'](_0x52bf56){const _0x41a06d=this['editor']['plugins']['get'](_0x53aae5),{connection:_0x48667f}=this['editor']['plugins']['get'](z),_0x543b99=new Set();for(const {authorId:_0x7e2533}of _0x52bf56)_0x41a06d['getUser'](_0x7e2533)||_0x543b99['add'](_0x7e2533);if(0x0===_0x543b99['size'])return;const _0x4778d5=await _0x1aae37['getMany'](_0x48667f,Array['from'](_0x543b99));for(const _0x28235b of _0x4778d5)_0x41a06d['getUser'](_0x28235b['id'])||_0x41a06d['addUser'](_0x28235b);}}function lt(_0x2464ea){if(dt(_0x2464ea))return new Promise(()=>{});throw _0x2464ea;}function dt(_0x3a8d71){return _0x3a8d71['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3a8d71['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x7e7df2{static get['requires'](){return[_0x3b0de9,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2b0d83=this['editor']['plugins']['get'](z),_0xc15552=this['editor']['plugins']['get'](_0x51aaa4),_0x81e815=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2b0d83,'change:state',(_0x499abe,_0x4529d2,_0x24035c)=>{_0xc15552['isThreadsLoadingPaused']='connected'!==_0x24035c;});}),this['listenTo'](_0x2b0d83,'change:state',(_0x5a53ad,_0x474935,_0x34850d)=>{this['editor']['plugins']['get'](_0x546c19)['switchReadOnly']('connected'!==_0x34850d);}),_0x81e815['_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 _0x7e7df2{static get['requires'](){return[ut,ht,_0x1bc6f1];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x7e7df2{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x466a80)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0xcc7ce7,Y,_0x53aae5];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2b3e75){super(_0x2b3e75);const _0x1276a4=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x1276a4);}async['init'](){const _0x4115f5=this['editor']['plugins']['get'](tt),_0x43a0ca=_0x4115f5['serverHistory'],_0x2c807e=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x43a0ca,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4115f5['sessionId']});const _0x3a6035=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x409661,_0x58e710=await _0x16873e['isBundleUploaded'](_0x2c807e['connection'],_0x3a6035);this['editor']['plugins']['get'](_0xcc7ce7)['adapter']={'getRevision':async({revisionId:_0x361e20})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x361e20)),'updateRevisions':async _0x37002a=>{await this['_waitForServiceReady']();const _0x5b1cd2=this['_revisionTracker']['currentRevision'];if(_0x58e710&&0x1===_0x37002a['length']&&_0x37002a[0x0]['id']===_0x5b1cd2['id'])return _0x37002a;for(const _0x2e33b6 of _0x37002a)_0x2e33b6['id']===_0x5b1cd2['id']&&(_0x2e33b6['isEmptyCurrent']=_0x2e33b6['fromVersion']===_0x2e33b6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x37002a,this['_lastRequestId'])['then'](_0x4f6416=>(this['_lastRequestId']=_0x4f6416,_0x37002a))['catch'](_0x44d92b=>{if(pt(_0x44d92b)||'400'===_0x44d92b['code']&&void 0x0!==_0x44d92b['data']['wrongRequestId']){for(const _0x46bd13 of _0x37002a){!this['_revisionTracker']['repository']['getRevision'](_0x46bd13['id'])||this['_revisionTracker']['_bufferUpdate'](_0x46bd13['id'],_0x46bd13,!0x1);}if(pt(_0x44d92b))throw _0x44d92b;return _0x37002a;}throw _0x44d92b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xf361d,{revisionsData:_0x523cfa,requestId:_0x315675})=>{Math['max'](..._0x523cfa['map'](_0x2fa422=>_0x2fa422['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x523cfa,_0x315675);}):this['_handleRevisionsUpdate'](_0x523cfa,_0x315675);});const {revisions:_0x55bf37,requestId:_0x1ab5c4}=await this['_revisionHistoryService']['connect'](_0x2c807e['connection']);_0x2c807e['addToReconnectionStack'](this),this['_lastRequestId']=_0x1ab5c4,await this['_fetchMissingUsers'](_0x55bf37);for(const _0x114255 of _0x55bf37)this['_revisionTracker']['addRevisionData'](_0x114255);this['listenTo'](_0x4115f5,'change:_isConnected',(_0x4b4113,_0x16b74b,_0x5d5b63)=>{_0x5d5b63&&(this['_oldOffset']=_0x4115f5['_offset'],_0x4b4113['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2c807e,'state',_0x59a815=>_0x59a815===_0x14867f['CONNECTED']);}async['reconnect'](){const _0x22cbf1=this['editor']['plugins']['get'](z),_0x37d579=this['editor']['plugins']['get'](tt),_0x57d7b2=async()=>{const _0x582466=this['_revisionTracker']['currentRevision'],_0x3aad6e=_0x582466['id'],_0x345c01=_0x3aad6e!==_0x37d579['sessionId'];if(_0x345c01){const _0x330285=_0x37d579['_offset']-this['_oldOffset'],_0x3e0b01=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x582466['toVersion']+_0x330285!==_0x3e0b01){const _0x5a18d4=_0x582466['fromVersion']+_0x330285,_0x450d70=this['editor']['plugins']['get'](_0x53aae5),_0x36679f=this['_revisionTracker']['buildRevisionData']({'revision':_0x582466,'from':_0x5a18d4,'to':_0x3e0b01});_0x36679f['id']=_0x582466['id'];const _0x102831=_0x36679f['authorsIds']['map'](_0x26c67b=>_0x450d70['getUser'](_0x26c67b));_0x582466['_update']({..._0x36679f,'authors':_0x102831},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x582466['id'],_0x36679f,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3e0b01,(_0x582466['toVersion']===_0x582466['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3aad6e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3aad6e),this['_revisionTracker']['_createCurrentRevision'](_0x3e0b01));}const {revisions:_0x17dc1d,requestId:_0x7c2799}=await this['_revisionHistoryService']['reconnect'](_0x22cbf1['connection'],this['_lastRequestId']);_0x345c01&&_0x17dc1d['length']>0x0?_0x37d579['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x17dc1d),this['_handleRevisionsUpdate'](_0x17dc1d,_0x7c2799),this['_revisionTracker']['sendBufferedUpdates']());};return _0x37d579['_isConnected']?_0x57d7b2():new Promise((_0x47ef7c,_0x1de798)=>{_0x37d579['once']('change:_isConnected',()=>{_0x57d7b2()['then'](_0x47ef7c)['catch'](_0x1de798);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x253586=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3cfa87=>{_0x3cfa87['off'](),_0x253586();});});}['_getLatestVersionFromServerOperations'](){const _0x5385b5=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x16dd39 of _0x5385b5)if('marker'!==_0x16dd39['type']||_0x16dd39['affectsData'])return _0x16dd39['baseVersion']+0x1;}['_getLatestVersion'](){const _0x9f770=this['editor']['plugins']['get'](tt);return new Promise(_0x4eb401=>{_0x9f770['_isPendingUpdate']?_0x9f770['once']('change:_isPendingUpdate',()=>{_0x4eb401(this['_getLatestVersionFromServerOperations']());}):_0x4eb401(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xc4465b,_0x34eb4e){const _0x39e259=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x34eb4e;for(const _0x5615a3 of _0xc4465b){const _0x349c61=_0x39e259['getRevision'](_0x5615a3['id']);if(_0x349c61){if((_0x5615a3['fromVersion']||_0x5615a3['toVersion'])&&(_0x5615a3['diffData']=null),_0x349c61===this['_revisionTracker']['currentRevision']){const _0x304420=Math['max'](_0x349c61['toVersion'],_0x5615a3['toVersion']),_0x4755f4=Math['max'](_0x349c61['fromVersion'],_0x5615a3['fromVersion']);let _0x1771b7;_0x349c61['toVersion']===_0x5615a3['toVersion']&&_0x349c61['fromVersion']===_0x5615a3['fromVersion']?(_0x1771b7=!0x0,this['_preventResendingRevisionData'](_0x5615a3)):_0x5615a3['toVersion']===_0x304420&&_0x5615a3['fromVersion']===_0x4755f4?_0x1771b7=!0x1:(_0x349c61['toVersion']===_0x304420&&_0x349c61['fromVersion']===_0x4755f4||this['_fixRevision']({'revision':_0x349c61,'from':_0x4755f4,'to':_0x304420}),_0x1771b7=!0x0),_0x1771b7&&(delete _0x5615a3['fromVersion'],delete _0x5615a3['toVersion'],delete _0x5615a3['diffData'],delete _0x5615a3['createdAt'],delete _0x5615a3['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5615a3),this['_preventResendingRevisionData'](_0x5615a3);}else this['_revisionTracker']['addRevisionData'](_0x5615a3);}const _0x5ed170=_0x39e259['getRevisions']();_0x5ed170['reverse']();for(let _0x51b2fe=0x0;_0x51b2fe<_0x5ed170['length']-0x1;_0x51b2fe++){const _0x3edcf1=_0x5ed170[_0x51b2fe],_0xfa6126=_0x5ed170[_0x51b2fe+0x1];if(_0x3edcf1['fromVersion']<_0xfa6126['toVersion']){const _0x179d5b=_0xfa6126['toVersion'],_0x22a262=Math['max'](_0x179d5b,_0x3edcf1['toVersion']);this['_fixRevision']({'revision':_0x3edcf1,'from':_0x179d5b,'to':_0x22a262});}}}['_fixRevision']({revision:_0x1a494d,from:_0x55926c,to:_0x29a25a}={}){const _0x39db33=this['editor']['plugins']['get'](_0x53aae5),_0x10ced5=this['_revisionTracker']['buildRevisionData']({'revision':_0x1a494d,'from':_0x55926c,'to':_0x29a25a});_0x10ced5['authors']=_0x10ced5['authorsIds']['map'](_0x5036be=>_0x39db33['getUser'](_0x5036be)),_0x1a494d['_update'](_0x10ced5);}['_preventResendingRevisionData'](_0x589469){const _0x5db6e4={};_0x5db6e4['id']=_0x589469['id'];for(const _0x3466ad of Object['keys'](_0x589469))'id'!==_0x3466ad&&(_0x5db6e4[_0x3466ad]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5db6e4['id'],_0x5db6e4,!0x0);}async['_fetchMissingUsers'](_0x3a9d5d){const _0x54d2e7=this['editor']['plugins']['get'](_0x53aae5),{connection:_0x1b60f1}=this['editor']['plugins']['get'](z),_0x1af027=new Set();for(const _0x44185c of _0x3a9d5d){for(const _0x2fd761 of _0x44185c['authorsIds'])_0x3a4fdb(_0x2fd761);_0x44185c['creatorId']&&_0x3a4fdb(_0x44185c['creatorId']);}if(0x0===_0x1af027['size'])return;const _0x45d922=await _0x1aae37['getMany'](_0x1b60f1,Array['from'](_0x1af027));for(const _0x49c35a of _0x45d922)_0x54d2e7['getUser'](_0x49c35a['id'])||_0x54d2e7['addUser'](_0x49c35a);function _0x3a4fdb(_0x184144){_0x54d2e7['getUser'](_0x184144)||_0x1af027['add'](_0x184144);}}}function pt(_0x2c20c2){return _0x2c20c2['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2c20c2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2c20c2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x7e7df2{static get['requires'](){return[_0xcc7ce7,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x4a4673{['_collapseAt'];constructor(_0x3d5ae0,_0xde062a=0x6){super(_0x3d5ae0);const _0x33299b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0xde062a,this['bind']('isHidden')['to'](this,'usersCount',_0x25426f=>_0x25426f<_0xde062a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x33299b['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':_0x33299b['to']('usersCount',_0x4e1d9d=>'+'+(_0x4e1d9d-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x4a4673{['items'];['keystrokes'];constructor(_0xce9cc8){super(_0xce9cc8);const _0x50674d=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x34ba8b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x50674d['if']('hasPopup'),'aria-expanded':_0x50674d['to']('isExpanded',_0x1f8231=>this['hasPopup']&&String(_0x1f8231)),'aria-label':_0x50674d['to']('hasPopup',_0x2ec696=>X(_0xce9cc8,_0x2ec696?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x50674d['to']('hasPopup',_0x576922=>!!_0x576922&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x50674d['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x50674d['to'](_0x665b51=>{const _0x20efe5=_0x665b51,_0x39de84=document['querySelector']('.ck-presence-list__dropdown-list'),_0x580f94=document['querySelector']('.ck-balloon-panel_with-arrow');_0x39de84?.['contains'](_0x20efe5['relatedTarget'])||_0x580f94?.['contains'](_0x20efe5['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3bdf61,_0x2f70e9,_0x492250)=>{this['element']&&(_0x492250?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 _0x4a4673{['counterView'];['inlineListView'];constructor(_0x20c94b,_0xe7bd94=0x6){super(_0x20c94b);const _0x28729b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0xe7bd94),this['inlineListView']=new vt(_0x20c94b),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x7ee3a of this['inlineListView']['items'])_0x7ee3a['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',_0x28729b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x4a4673{['listWrapperView'];constructor(_0x1672b7,_0x5a4dc6){super(_0x1672b7);const _0xdc757a=this['bindTemplate'];this['listWrapperView']=new bt(_0x1672b7,_0x5a4dc6),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x1672b7,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xdc757a['to'](_0xb7ec8f=>{const _0x204389=_0xb7ec8f,_0x26716b=document['querySelector']('.ck-presence-list__list'),_0x4f5dc2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x26716b?.['contains'](_0x204389['relatedTarget'])||_0x4f5dc2?.['contains'](_0x204389['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x46846e{constructor(_0x6459e1,_0x530d68){super(_0x6459e1);const _0x1d38d1=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x530d68?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1d38d1['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1d38d1['to']('role'),'aria-label':_0x1d38d1['to']('ariaLabel'),'aria-labelledby':_0x1d38d1['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4f4d68['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5138d4=this['element'];_0x5138d4&&(this['_isScrollable']=Math['max'](_0x5138d4['scrollHeight'],_0x5138d4['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x1cdd97{['userView'];constructor(_0x44d7ea,_0x1e12a9,_0x7ec4b6){super(_0x44d7ea);const _0x4fbf87=this['bindTemplate'];this['userView']=new _0x3792ea(_0x44d7ea,_0x1e12a9);const _0x650958={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1e12a9['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1e12a9['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1e12a9['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1e12a9['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1e12a9['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x7ec4b6&&(_0x650958['tag']='button',_0x650958['on']={'click':_0x4fbf87['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x650958);}['focus'](){this['element']['focus']();}}class It extends _0x4a4673{['userView'];['markerView'];constructor(_0x3a08e2,_0x4044bc,_0x5142b5){super(_0x3a08e2);const _0xa0189=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3792ea(_0x3a08e2,_0x4044bc),this['markerView']=new St(_0x3a08e2,_0x4044bc);const _0x580e4e=new _0x10d3c8(_0x3a08e2);_0x580e4e['template']['tag']='span',_0x580e4e['text']=_0x4044bc['name'];const _0x45e466={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xa0189['to']('isFocusable',_0x5cdaea=>!!_0x5cdaea&&0x0),'aria-labelledby':_0x580e4e['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xa0189['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xa0189['to']('hasTooltip',_0x1298b8=>!_0x1298b8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x580e4e]};_0x5142b5&&(_0x45e466['tag']='button',_0x45e466['on']={'click':_0xa0189['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x45e466);}}class St extends _0x4a4673{constructor(_0xd69697,_0xe60bc1){super(_0xd69697),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xe60bc1['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xe60bc1['color']['getColorVariable'](),'--ck-user-color-alpha':_0xe60bc1['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x3aaa58{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x587e81){super(_0x587e81),this['context']['config']['define']('presenceList',Tt);const _0x131127=_0x587e81['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x131127)throw new _0x8b1112('presencelist-collapseat-invalid-format',this);if(_0x131127<0x1)throw new _0x8b1112('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2d2e8c(),this['balloonPanelView']=new _0x3a129f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x5b0395 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5b0395);this['listenTo'](this['_allConnectedUsers'],'add',(_0x181aea,_0x436c06)=>{this['_handleUserAdd'](_0x436c06);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x396b20,_0x4cf8e7)=>{this['_handleUserRemove'](_0x4cf8e7);});}['_createView'](){const _0x569050=this['context'],_0x35412f=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x14a4ca=this['balloonPanelView'];if(!_0x478f25(_0x569050['config']['get']('presenceList.container')))throw new _0x8b1112('presencelist-missing-container',this);return _0x35412f['counterView']['bind']('usersCount')['to'](this),_0x35412f['bind']('isCollapsed')['to'](this,'usersCount',_0xf240ee=>{const {collapseAt:_0x395caf}=_0x569050['config']['get']('presenceList'),_0x28b54a=_0xf240ee>=_0x395caf;if(_0x28b54a&&!_0x35412f['inlineListView']['items']['find'](_0x4f976d=>_0x4f976d instanceof wt)){const _0x401cdc=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x401cdc&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x35412f['inlineListView']['items']['add'](_0x35412f['counterView']);}return _0x28b54a||this['hideDropdown'](),_0x28b54a;}),_0x35412f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x477a9b=>{const _0x4e21d9=_0x569050['config']['get']('presenceList'),_0x46bc99=new It(_0x569050['locale'],_0x477a9b,!!_0x4e21d9['onClick']);return _0x46bc99['bind']('hasTooltip')['to'](_0x35412f,'isCollapsed',_0x51f222=>!_0x51f222),_0x46bc99['bind']('isFocusable')['to'](_0x35412f,'isCollapsed',_0x30842b=>!_0x30842b),_0x4e21d9['onClick']&&this['listenTo'](_0x46bc99,'execute',()=>{this['view']['isCollapsed']||_0x4e21d9['onClick'](_0x477a9b,_0x46bc99['element']);}),_0x46bc99;}),this['listenTo'](_0x35412f['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x35412f['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x35412f['inlineListView']['keystrokes']['set']('Enter',(_0x209241,_0x5bbe11)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5bbe11());}),_0x35412f['render'](),_0x14a4ca['render'](),_0x1085c4({'emitter':_0x35412f,'activator':()=>_0x14a4ca['isVisible'],'contextElements':[_0x14a4ca['element'],_0x35412f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x569050['config']['get']('presenceList.container')['appendChild'](_0x35412f['element']),this['_bodyCollection']=new _0x6427d8(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x35412f;}['_handleUserAdd'](_0x5a5c02){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x5a5c02['isMe'])return;const _0x3c697a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3c697a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4eb74d=_0x5a5c02['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x5a5c02,_0x4eb74d);}['_handleUserRemove'](_0x52c4b7){this['usersCount']--;const {collapseAt:_0x5a8203}=this['context']['config']['get']('presenceList'),_0x30c2cc=this['usersCount']>=_0x5a8203;if(this['currentDisplayedUsers']['get'](_0x52c4b7['id']))this['currentDisplayedUsers']['remove'](_0x52c4b7['id']);else{if(_0x30c2cc&&this['currentDisplayedUsers']['length']+0x1===_0x5a8203-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x30c2cc?0x1:0x0)<this['usersCount']){for(const _0x575142 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x575142['id'])&&(this['currentDisplayedUsers']['add'](_0x575142,Math['min'](this['currentDisplayedUsers']['length']-(_0x30c2cc?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x30c2cc?0x1:0x0)===_0x5a8203-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x13be51=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x13be51['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x33e506}=this['presenceDropdownView'];_0x33e506['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x562927=>{if(!_0x13be51['displayMe']&&_0x562927['isMe'])return null;const _0x290d8b=new kt(this['context']['locale'],_0x562927,!!_0x13be51['onClick']);return _0x13be51['onClick']&&this['listenTo'](_0x290d8b,'execute',()=>{_0x13be51['onClick'](_0x562927,_0x290d8b['element']);}),_0x290d8b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x33e506['focus'](),_0x33e506['checkIfScrollable']();const _0xe18a0c=(_0x4bce8e,_0x550f81)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x550f81();};_0x33e506['keystrokes']['set']('Esc',_0xe18a0c),_0x33e506['keystrokes']['set']('Shift+Tab',_0xe18a0c),_0x33e506['keystrokes']['set']('Tab',(_0x202a24,_0x116534)=>{!function(_0x27767e){const _0x546b9c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x9c3dc6=>_0x9c3dc6+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x13cb6a=[...document['body']['querySelectorAll'](_0x546b9c)]['filter'](_0xd3893f=>_0xd3893f===document['activeElement']||_0xd3893f['offsetWidth']+_0xd3893f['offsetHeight']>0x0)['sort']((_0x4cbb75,_0x27fb28)=>(_0x4cbb75['tabIndex']||0x0)-(_0x27fb28['tabIndex']||0x0)),_0x3be441=_0x13cb6a['indexOf'](_0x27767e),_0x4bceba=_0x13cb6a[(_0x3be441+0x1)%_0x13cb6a['length']];_0x4bceba&&_0x4bceba['focus']();}(this['view']['element']),this['hideDropdown'](),_0x116534();}),_0x33e506['focusTracker']['add'](this['view']['element']),_0x33e506['focusTracker']['on']('change:isFocused',(_0x575aea,_0xe4de67,_0x101f0c)=>{_0x101f0c||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 _0x3aaa58{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 _0x39cb58,Plugin as _0x1d5197,PendingActions as _0x2190b9,Context as _0x4dfce7}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5b8e4e,CKEditorError as _0x849088,Collection as _0x432b74,global as _0x29912a,version as _0x46501e,uid as _0x2fc7a9,KeystrokeHandler as _0x4efd8d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x14b5f4,View as _0x4465b8,ListView as _0x493848,ListItemView as _0x1aed03,LabelView as _0x1be434,BalloonPanelView as _0x49fda1,clickOutsideHandler as _0x5ef9f9,BodyCollection as _0x208c83}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x9e79df,History as _0x345ffc,NoOperation as _0x1882bb,InsertOperation as _0x2749a9,MarkerOperation as _0x27cc4a,RootAttributeOperation as _0x57eb66,transformOperationSets as _0x375ab1,OperationFactory as _0x5316e8}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x182132}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x3f1a19,WEB_SOCKET_GATEWAY_STATES as _0x169e89,CollaborativeEditingService as _0x51c0e8,User as _0xbe5ea0,CommentsService as _0x5b684f,TrackChangesService as _0xe7ce4c,RevisionHistoryService as _0x5ddde9,EditorService as _0x5a7399}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x48e39d,UserView as _0x4530a1}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x10c7fe}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x224462,TrackChanges as _0x5ca7c1}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x41e2b,Comments as _0x56dec7,CommentsEditing as _0x187167}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x640475}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x2b54d6}from'es-toolkit/compat';class z extends _0x39cb58{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x3f1a19)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x182132,_0x14b5f4];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e8679){super(_0x4e8679),this['set']('state',_0x169e89['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5b8e4e())();}['init'](){const _0x222d68=this['context'],_0x3f4e5d=_0x222d68['plugins']['get'](_0x182132),_0x44af5f=_0x222d68['plugins']['get'](_0x14b5f4);if(!_0x3f4e5d['token'])throw new _0x849088('websocketgateway-missing-token',this);if(!_0x3f4e5d['webSocketUrl'])throw new _0x849088('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x3f4e5d['token'],_0x3f4e5d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x7975de=>{if(this['connection']=_0x7975de,this['bind']('state')['to'](_0x7975de,'state',this,'_isBrowserOffline',(_0x2a6539,_0x1dd6ba)=>('connected'!==_0x2a6539&&(this['_shouldPluginsReconnect']=!0x0),_0x1dd6ba||_0x2a6539!==_0x169e89['CONNECTED']?_0x169e89['DISCONNECTED']:this['state']==_0x169e89['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x169e89['CONNECTING']):_0x169e89['CONNECTED'])),this['connection']['on']('error',(_0x56aada,_0x3c8798)=>{if('limitExceeded'!==_0x3c8798['code'])throw console['error'](_0x3c8798),new _0x849088('cloudservices-init',null,{'originalError':_0x3c8798});_0x44af5f['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x7975de['me'])return new Promise(_0xb97afe=>_0x7975de['on']('change:me',_0xb97afe));})['catch'](_0xbc4d6c=>{throw console['error'](_0xbc4d6c),new _0x849088('cloudservices-init',null,{'originalError':_0xbc4d6c});});}['addToReconnectionStack'](_0x458889){if('function'!=typeof _0x458889['reconnect'])throw new _0x849088('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x458889))throw new _0x849088('websocketgateway-plugin-already-registered',this,{'name':_0x458889['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x458889);}['removeFromReconnectionStack'](_0xcbab5e){this['_reconnectionStack']['delete'](_0xcbab5e);}['isInReconnectionStack'](_0x353241){return this['_reconnectionStack']['has'](_0x353241);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x298c26=>_0x298c26['reconnect']())))['then'](()=>this['state']=_0x169e89['CONNECTED'])['catch'](_0x327b1e=>{throw console['error'](_0x327b1e),new _0x849088('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x169e89['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x39cb58{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[z,_0x48e39d];}constructor(_0x131a36){super(_0x131a36),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x432b74(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x48e39d);}['init'](){const _0x110a06=this['context']['plugins']['get'](z);this['listenTo'](_0x110a06,'change:state',(_0x2977b0,_0x28e100,_0x4e6c31)=>{if('connected'!==_0x4e6c31)this['channelSessions']['forEach'](_0xb0bb3b=>_0xb0bb3b['clear']()),this['channelConnectedUsers']['forEach'](_0x102c61=>_0x102c61['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2a7e22,_0x26fc2e]of this['_registeredSessions'])for(const _0x4b9141 of _0x26fc2e)this['_handleSessionAdd'](_0x2a7e22,_0x4b9141);}}),this['_createUser'](_0x110a06['connection']['me'],!0x0);}['register'](_0x75c3df,_0x40c73b){if(this['_registeredSessions']['has'](_0x75c3df))throw new _0x849088('sessions-register-already-registered',null,{'channelId':_0x75c3df});this['_registeredSessions']['set'](_0x75c3df,_0x40c73b),this['channelSessions']['set'](_0x75c3df,new _0x432b74()),this['channelConnectedUsers']['set'](_0x75c3df,new _0x432b74()),this['listenTo'](_0x40c73b,'add',(_0x3091ce,_0x2f528e)=>this['_handleSessionAdd'](_0x75c3df,_0x2f528e)),this['listenTo'](_0x40c73b,'remove',(_0x590868,_0x297bfe)=>this['_handleSessionRemove'](_0x75c3df,_0x297bfe));for(const _0x10bb3d of _0x40c73b)this['_handleSessionAdd'](_0x75c3df,_0x10bb3d);}['unregister'](_0x1a8dc7){if(!this['_registeredSessions']['has'](_0x1a8dc7))throw new _0x849088('sessions-unregister-not-exist',null,{'channelId':_0x1a8dc7});const _0x268192=this['_registeredSessions']['get'](_0x1a8dc7);this['stopListening'](_0x268192);for(const _0x3f5fe7 of _0x268192)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x1a8dc7,_0x3f5fe7);this['_registeredSessions']['delete'](_0x1a8dc7),this['channelSessions']['delete'](_0x1a8dc7),this['channelConnectedUsers']['delete'](_0x1a8dc7);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x28b5c5){for(const _0x2ad0f5 of this['channelSessions']['values']())for(const _0xb60976 of _0x2ad0f5)if(_0xb60976['id']===_0x28b5c5)return _0xb60976['user'];}['getUserSessions'](_0x5ca506,_0x5e40da){const _0x17a79b=_0x5e40da?[this['channelSessions']['get'](_0x5e40da)]:this['channelSessions']['values'](),_0x41480d=new Set();for(const _0x15a88d of _0x17a79b)for(const _0x20b490 of _0x15a88d)_0x20b490['user']['id']===_0x5ca506['id']&&_0x41480d['add'](_0x20b490['id']);return _0x41480d;}['getUserRole'](_0x533aae){for(const _0x1326b0 of this['channelSessions']['values']())for(const _0x1f50a4 of _0x1326b0)if(_0x1f50a4['user']===_0x533aae)return _0x1f50a4['role'];}['_handleSessionAdd'](_0x1f6e3a,_0x3ddd9d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x120416=_0x3ddd9d['user'],_0xa02880=this['_users']['getUser'](_0x120416['id'])||this['_createUser'](_0x120416),_0x4fc5ba=Object['assign']({},_0x3ddd9d,{'user':_0xa02880});if(this['channelSessions']['get'](_0x1f6e3a)['add'](_0x4fc5ba),!_0x120416['hiddenInPresenceList']){const _0x2d6d2c=this['channelConnectedUsers']['get'](_0x1f6e3a);_0x2d6d2c['has'](_0xa02880['id'])||_0x2d6d2c['add'](_0xa02880),this['allConnectedUsers']['has'](_0xa02880['id'])||_0x120416['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0xa02880,_0xa02880['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1f6e3a,{'channelId':_0x1f6e3a,'session':_0x4fc5ba});}['_handleSessionRemove'](_0xc60043,_0x1990bc){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x10a5d4=this['channelConnectedUsers']['get'](_0xc60043),_0x4f658e=_0x1990bc['user'];_0x4f658e['id']&&(this['channelSessions']['get'](_0xc60043)['remove'](_0x1990bc['id']),_0x10a5d4['has'](_0x4f658e['id'])&&!this['getUserSessions'](_0x4f658e,_0xc60043)['size']&&_0x10a5d4['remove'](_0x4f658e['id']),this['allConnectedUsers']['get'](_0x4f658e['id'])&&!this['getUserSessions'](_0x4f658e)['size']&&this['allConnectedUsers']['remove'](_0x4f658e['id']));}['_createUser'](_0x37ac43,_0x30c26e){const _0x4b6257=this['_users']['addUser'](_0x37ac43);return _0x30c26e&&this['_users']['defineMe'](_0x37ac43['id']),_0x4b6257['orderNumber']=this['_uniqueUsersCount']++,_0x4b6257;}}class K extends _0x1d5197{['_domEmitter']=new(_0x5b8e4e())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xe05e18=this['editor'],_0x397da3=_0xe05e18['plugins']['get'](Y);_0xe05e18['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3d127b,{writer:_0x540475})=>function(_0xc5db87,_0xb73e20,_0x2b7295,_0x18b10d){const _0x56ccbb=_0xc5db87['markerName']['split'](':')[0x2],_0x3f79c6=_0x2b7295['getUserBySessionId'](_0x56ccbb);if(!_0x3f79c6||_0x56ccbb===_0x2b7295['mySessionId'])return;if(!_0x18b10d['model']['schema']['checkChild'](_0xc5db87['markerRange']['start'],'$text'))return;const _0x4aec55={'class':'ck-user__marker\x20'+_0x3f79c6['color']['getMarkerClass'](),'style':Q(_0x3f79c6),'data-name':_0x3f79c6['name'],'data-session-id':_0x56ccbb},_0x648242=_0x18b10d['model']['markers']['get'](_0xc5db87['markerName']),_0x14e0a5=_0x648242['getStart'](),_0x53c9e9=_0x14e0a5['nodeAfter'],_0xff2017=_0x18b10d['model']['schema'];if(_0x53c9e9&&_0xff2017['isObject'](_0x53c9e9)&&_0xff2017['isInline'](_0x53c9e9)&&!_0x18b10d['model']['markers']['get']('user:range:'+_0x56ccbb)['getRange']()['isCollapsed'])return;const _0x5620cf=_0x14e0a5['parent'];return _0x18b10d['model']['schema']['isLimit'](_0x5620cf)&&!_0x18b10d['model']['hasContent'](_0x5620cf)&&(_0x4aec55['contenteditable']=!0x1),function(_0x448131,_0x42079e,_0x404240){const _0x4ed0dd=_0x448131['createUIElement']('span',_0x42079e);return _0x448131['setCustomProperty']('userPositionMarker',!0x0,_0x4ed0dd),_0x4ed0dd['render']=function(_0x2489f1){const _0xc82db3=this['toDomElement'](_0x2489f1),_0x52471a=document['createElement']('span');return _0x52471a['classList']['add']('ck-user__marker-tooltip'),_0x52471a['setAttribute']('contenteditable','false'),_0x52471a['setAttribute']('spellcheck','false'),_0x52471a['textContent']=_0x404240['name'],_0xc82db3['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x52471a['outerHTML']+'⁠',_0xc82db3['addEventListener']('mouseenter',()=>{_0xc82db3['classList']['add']('ck-user__marker_hovered');}),_0xc82db3['addEventListener']('mouseleave',()=>{_0xc82db3['classList']['remove']('ck-user__marker_hovered');}),_0xc82db3;},_0x4ed0dd['isSimilar']=function(_0x19db32){return!(!this['getCustomProperty']('userPositionMarker')||!_0x19db32['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x19db32['getAttribute']('data-session-id'));},_0x4ed0dd;}(_0xb73e20,_0x4aec55,_0x3f79c6);}(_0x3d127b,_0x540475,_0x397da3,_0xe05e18)}),_0xe05e18['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3be15b=>function(_0x4b45dc,_0x12662f){const _0x50e9c1=_0x4b45dc['markerName']['split'](':')[0x2];if(_0x50e9c1===_0x12662f['mySessionId'])return null;const _0x2f844e=_0x12662f['getUserBySessionId'](_0x50e9c1);if(!_0x2f844e)return{'id':_0x50e9c1,'classes':[]};return{'id':_0x50e9c1,'classes':['ck-user__selection',_0x2f844e['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2f844e),'data-session-id':_0x50e9c1},'priority':0x7d0+_0x2f844e['orderNumber']};}(_0x3be15b,_0x397da3)}),function(_0x150f94){const _0x5bbe57=_0x150f94['model'],_0x253e9e=new Map(),_0x2165fc=_0x150f94['plugins']['get'](Y);_0x5bbe57['markers']['on']('update:user:range',(_0x4d3216,_0x3cd39c,_0x1ae7a7,_0x5d9895)=>{if(!_0x5d9895&&_0x253e9e['get'](_0x3cd39c['name']))return _0x253e9e['get'](_0x3cd39c['name'])['detach'](),void _0x253e9e['delete'](_0x3cd39c['name']);const _0x52548c=_0x3cd39c['name']['split'](':')[0x2];if(_0x52548c===_0x2165fc['mySessionId'])return;const _0x1d7ad4='user:position:'+_0x52548c;_0x5bbe57['markers']['has'](_0x1d7ad4)&&_0x150f94['editing']['reconvertMarker'](_0x1d7ad4),_0x3cd39c['on']('change:range',(_0x3557c3,_0x2083ff,_0x3e4922)=>{if('$graveyard'!=_0x2083ff['root']['rootName']&&'$graveyard'==_0x3cd39c['getRange']()['root']['rootName']&&!_0x253e9e['has'](_0x3cd39c['name'])){const _0x23b56b=_0x5bbe57['schema']['getNearestSelectionRange'](_0x3e4922['deletionPosition']);if(_0x23b56b){const _0x328457=_0x9e79df['fromRange'](_0x23b56b);_0x253e9e['set'](_0x3cd39c['name'],_0x328457),_0x328457['on']('change:range',(_0xf53096,_0x33194e,_0x1b25b1)=>{if('$graveyard'==_0x328457['root']['rootName']){const _0xd44d3c=_0x5bbe57['schema']['getNearestSelectionRange'](_0x1b25b1['deletionPosition']);_0xd44d3c?(_0x328457['start']=_0xd44d3c['start'],_0x328457['end']=_0xd44d3c['end']):(_0x253e9e['delete'](_0x3cd39c['name']),_0x328457['detach']());}});}}});}),_0x5bbe57['document']['on']('change',()=>{_0x253e9e['size']>0x0&&_0x5bbe57['enqueueChange']({'isUndoable':!0x1},_0x4a9349=>{for(const [_0x130dc8,_0x53c161]of _0x253e9e)'$graveyard'==_0x5bbe57['markers']['get'](_0x130dc8)['getRange']()['root']['rootName']&&(J(_0x130dc8['split'](':')[0x2],_0x53c161['toRange'](),_0x5bbe57,_0x4a9349),_0x53c161['detach']());_0x253e9e['clear']();});});}(_0xe05e18),this['_domEmitter']['listenTo'](_0x29912a['document'],'keydown',(_0x494293,{key:_0x25327c})=>{'Escape'===_0x25327c&&function(_0x3abcfd){_0x3abcfd['editing']['view']['change'](_0x548613=>{for(const _0x5d50b1 of _0x3abcfd['model']['markers']){if(!_0x5d50b1['name']['startsWith']('user:position'))continue;const _0x5d0413=_0x3abcfd['editing']['mapper']['markerNameToElements'](_0x5d50b1['name']);if(_0x5d0413){for(const _0x3c6969 of _0x5d0413)_0x548613['removeClass']('ck-user__marker_hovered',_0x3c6969);}}});}(_0xe05e18);},{'useCapture':!0x0});}['afterInit'](){const _0x46e030=this['editor'],_0x1b73a6=_0x46e030['commands']['get']('undo');_0x1b73a6&&_0x46e030['model']['on']('applyOperation',(_0x13c552,_0x298fe9)=>{const _0x21d77e=_0x298fe9[0x0];if(!_0x21d77e['isDocumentOperation'])return;if('marker'!=_0x21d77e['type']||!_0x21d77e['name']['startsWith']('user:'))return;const _0x4465bc=_0x21d77e['batch'];_0x1b73a6['_createdBatches']['has'](_0x4465bc)&&(_0x21d77e['newRange']=_0x21d77e['oldRange']?_0x46e030['model']['createRange'](_0x21d77e['oldRange']['start'],_0x21d77e['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5ce292=this['editor'],_0x3f0d86=_0x5ce292['model']['document'],_0x57824c=_0x5ce292['plugins']['get'](Y);_0x5ce292['model']['enqueueChange']({'isUndoable':!0x1},_0x3b58ed=>{const _0x202fc1='user:range:'+_0x57824c['mySessionId'],_0x3d259a='user:position:'+_0x57824c['mySessionId'],_0x3bbea7=_0x5ce292['model']['markers']['has'](_0x202fc1);_0x5ce292['editing']['view']['hasDomSelection']?J(_0x57824c['mySessionId'],_0x3f0d86['selection']['getFirstRange'](),_0x5ce292['model'],_0x3b58ed):_0x3bbea7&&(_0x3b58ed['removeMarker'](_0x202fc1),_0x3b58ed['removeMarker'](_0x3d259a));});}}function J(_0x3c3dc0,_0x3f8d06,_0x24563c,_0x24cf42){const _0x47a8f4='user:range:'+_0x3c3dc0,_0x519d0e='user:position:'+_0x3c3dc0,_0x1c56fe=_0x3f8d06['getContainedElement']();let _0x27434d=_0x3f8d06['start'];if(_0x1c56fe&&_0x1c56fe['is']('element','tableCell')){const _0x1f4ab3=function(_0x299aa2,_0x57c598){for(const _0x28fa2b of _0x299aa2['getPositions']())if(_0x57c598['schema']['checkChild'](_0x28fa2b,'$text'))return _0x28fa2b;}(_0x3f8d06,_0x24563c);_0x1f4ab3&&(_0x27434d=_0x1f4ab3,_0x3f8d06=_0x24cf42['createRange'](_0x27434d));}const _0x102ab7=_0x24cf42['createRange'](_0x27434d);_0x24563c['markers']['has'](_0x47a8f4)?(_0x24cf42['updateMarker'](_0x47a8f4,{'range':_0x3f8d06}),_0x24cf42['updateMarker'](_0x519d0e,{'range':_0x102ab7})):(_0x24cf42['addMarker'](_0x47a8f4,{'range':_0x3f8d06,'usingOperation':!0x0}),_0x24cf42['addMarker'](_0x519d0e,{'range':_0x102ab7,'usingOperation':!0x0}));}function Q(_0x1595ad){return'--ck-user-color:'+_0x1595ad['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x1595ad['color']['getColorAlphaVariable']()+';';}function X(_0x5c1740,_0x1a922b,_0x2fc176){const _0x4e993b=_0x5c1740['t'],t=_0x5c1740['t'];switch(_0x1a922b){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x4e993b({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x2fc176);default:return'';}}let Z=0x1;class tt extends _0x1d5197{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x51c0e8)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x2190b9,_0x48e39d,_0x14b5f4];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x41d83b=this['serverHistory']['getOperations']();for(let _0x2432ed=_0x41d83b['length']-0x1;_0x2432ed>=0x0;_0x2432ed--){const _0x17c884=_0x41d83b[_0x2432ed];if(!this['_disconnectionOperations']['has'](_0x17c884))return _0x17c884['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1b5794){if(super(_0x1b5794),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x345ffc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x849088('collaboration-missing-channelid',this);const _0x5a2215=_0x1b5794['config']['get']('cloudServices.bundleVersion')||_0x46501e;this['_service']=new tt['CollaborativeEditingService'](_0x5a2215,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x10c7fe(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}['init'](){const _0x133099=this['editor'],_0xc008d8=_0x133099['plugins']['get'](_0x48e39d),_0x284402=_0x133099['plugins']['get'](z);this['listenTo'](_0xc008d8,'getOperationAuthor',(_0x20cda4,_0x1ae839)=>{const _0x2ab220=_0x1ae839[0x0];_0x2ab220['_authorId']&&(_0x20cda4['return']=_0xc008d8['getUser'](_0x2ab220['_authorId']),_0x20cda4['stop']()),null===_0x2ab220['_authorId']&&(_0x20cda4['return']=null,_0x20cda4['stop']());},{'priority':'high'}),this['listenTo'](_0x133099['model']['document']['selection'],'change:range',(_0x3bac17,_0x426c33)=>{_0x426c33['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x133099['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x133099['model']['on']('applyOperation',(_0x5b7cd5,_0x3e02f7)=>{const _0x290184=_0x3e02f7[0x0];_0x290184['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x290184),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x284402,'state',this,'_hasSynchronizationProblem',(_0x2330ab,_0x3b02c8)=>'connected'===_0x2330ab&&!_0x3b02c8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x133099['disableReadOnlyMode']('rtc-offline'):_0x133099['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x133099['disableReadOnlyMode']('rtc-offline'):_0x133099['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x36802b=this['editor']['plugins']['get'](Y),_0x385b80=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x36802b['unregister'](this['_channelId']);const _0x5356d7=await this['_service']['reconnect'](_0x385b80['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5356d7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1613ad=await this['_service']['getConnectedSessions']();_0x36802b['register'](this['_channelId'],_0x1613ad),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4970de){if(function(_0xfdc42e){return'404'===_0xfdc42e['code'];}(_0x4970de)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x53c573){return'409'===_0x53c573['code'];}(_0x4970de)){const _0x2e2c0e=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x2e2c0e);}else{if(!(_0x4970de instanceof et))throw _0x4970de;this['_handleReconnectionError']();}}}}['destroy'](){const _0xac068c=this['editor']['plugins']['get'](z),_0x68278f=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x68278f['channelSessions']['has'](this['_channelId'])&&_0x68278f['unregister'](this['_channelId']),_0xac068c['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2c1ae2){if(this['sessionId']!==_0x2c1ae2['sessionId']&&this['_lastSyncedOperationId']!==_0x2c1ae2['lastOperationId'])throw new et();return this['sessionId']=_0x2c1ae2['sessionId'],this['_handleServerResponse']([],{..._0x2c1ae2,'wereChangesApplied':!0x1,'data':_0x2c1ae2['data']},'reconnect');}async['_connectService'](_0x742b60,_0x2ada6f=!0x1){const {connection:_0x2bba4e}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x2bba4e,this['_channelId'])['then'](_0x536be9=>this['_initSessionsHandling'](_0x536be9))['catch'](_0x2396b4=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2396b4);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x51f36d,_0x2853bb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2853bb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x578403=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x742b60);this['_isPendingUpdate']=!0x0;const _0x5b3951=await this['_service']['connect'](_0x2bba4e,this['_compressOperations'](_0x742b60),_0x578403);if(this['sessionId']=_0x5b3951['sessionId'],_0x2ada6f){if(!_0x5b3951['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5b3951['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x742b60,_0x5b3951,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5b3951,_0x742b60);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1afba2=this['editor']['plugins']['get'](Y),_0x2728e0=this['editor']['plugins']['get'](K),_0x5f51a6=_0x1afba2['channelSessions']['get'](this['_channelId']);_0x5f51a6&&_0x5f51a6['length']>0x1?_0x2728e0['createUserMarkerOperations']():this['listenTo'](_0x1afba2,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1afba2['channelSessions']['get'](this['_channelId'])['length']&&_0x2728e0['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x27fd1b,_0x280244,_0x5cd3f4,_0x425989){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x280244){const _0x161ee7=this['_decompressOperations'](_0x5cd3f4,_0x425989);await this['_fetchMissingUsers'](_0x161ee7),this['_handleExternalOperations'](_0x161ee7,_0x280244,_0x5cd3f4['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3b490b}=this['editor'];let _0x98cd22;try{_0x98cd22=await this['_service']['getDocumentDetails']();}catch{const _0x3522f3=X(_0x3b490b,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x3522f3);}const _0x10575f=_0x98cd22['currentDocumentSession']||_0x98cd22['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x10575f['lastOperationId']){const _0x2ba3dd=X(_0x3b490b,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x2ba3dd);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xf8318b){const _0x247102=this['editor']['plugins']['get'](Y);this['listenTo'](_0x247102,'sessionAdd:'+this['_channelId'],(_0x26f373,{session:_0x4fd0f6})=>{if(_0x4fd0f6['id']===_0x247102['mySessionId']){_0x26f373['off']();const _0x14f2ab=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2788fa=_0x4fd0f6['permissions'];_0x14f2ab&&_0x14f2ab['isEnabled']&&(_0x2788fa=_0x2788fa['filter'](_0x35c24b=>'document:write'!==_0x35c24b)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2788fa,this['_channelId']);}}),_0x247102['register'](this['_channelId'],_0xf8318b);}['_initThrowingOnDataSet'](){const _0xda39b2=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3c1170)=>{if(!_0x3c1170[_0x3c1170['length']-0x1]['suppressErrorInCollaboration'])throw new _0x849088('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xda39b2['apply'](this['editor']['data'],_0x3c1170);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4a96fa,[_0x300ba0])=>{if(this['_document']['version'])throw new _0x849088('realtimecollaborationclient-init-document-already-initialized',this);_0x4a96fa['stop'](),this['_setPendingAction']();const _0x4211e1=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xf5628])=>!_0xf5628['lazyLoad'])['map'](([_0x93fb36,_0x5c2cc4])=>[_0x93fb36,_0x5c2cc4['modelAttributes']||{}])),_0xd696ba=this['_getOperationsFromInitData'](_0x300ba0,_0x4211e1);0x0==_0xd696ba['length']&&_0xd696ba['push'](new _0x1882bb(0x0)),_0x4a96fa['return']=this['_connectService'](_0xd696ba)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x528c5d=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x528c5d))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3ced38,[_0x312467,_0x1d7327])=>{_0x3ced38['stop']();const _0x161f25=this['editor']['model']['document']['getRoot'](_0x312467);if(!this['_knownRootNames']['has'](_0x312467)){const _0x2c70da=_0x1d7327&&_0x1d7327['data']?_0x1d7327['data']:'',_0x4ea112=_0x1d7327&&_0x1d7327['attributes']?_0x1d7327['attributes']:{};await this['_loadRoot'](_0x312467,_0x2c70da,_0x4ea112);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x161f25['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x161f25);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x329354){const _0x5491b8=this['editor']['plugins']['get'](_0x48e39d),{connection:_0x2a4957}=this['editor']['plugins']['get'](z),_0x263872=new Set();for(const _0xe0b10f of _0x329354){const _0x410aaf=_0xe0b10f['_authorId'];_0x410aaf&&!_0x5491b8['getUser'](_0x410aaf)&&_0x263872['add'](_0x410aaf);}if(0x0===_0x263872['size'])return;const _0xee256a=await _0xbe5ea0['getMany'](_0x2a4957,Array['from'](_0x263872));for(const _0x57a160 of _0xee256a)_0x5491b8['getUser'](_0x57a160['id'])||_0x5491b8['addUser'](_0x57a160);}['_getOperationsFromInitData'](_0x57b324,_0x52aa48={}){const _0x4e35b2=this['editor']['model'],_0x582d5a=[];let _0x4b692a=0x0;const _0x42e2e0='string'==typeof _0x57b324?{'main':_0x57b324}:_0x57b324;for(const _0x2f7b2f of Object['keys'](_0x42e2e0)){if(!this['_document']['roots']['has'](_0x2f7b2f))throw new _0x849088('realtimecollaborationclient-init-non-existent-root',this);const _0x5edca1=this['editor']['data']['parse'](_0x42e2e0[_0x2f7b2f]),_0x21a440=this['_document']['getRoot'](_0x2f7b2f),_0x3a2f46=new _0x2749a9(_0x4e35b2['createPositionAt'](_0x21a440,0x0),_0x5edca1,_0x4b692a++);_0x582d5a['push'](_0x3a2f46);for(const [_0x332f4b,_0x3422e0]of _0x5edca1['markers']){const _0x451515=_0x4e35b2['createRange'](_0x4e35b2['createPositionFromPath'](_0x21a440,_0x3422e0['start']['path']['slice']()),_0x4e35b2['createPositionFromPath'](_0x21a440,_0x3422e0['end']['path']['slice']())),_0xdd6506=new _0x27cc4a(_0x332f4b,null,_0x451515,_0x4e35b2['markers'],!0x0,_0x4b692a++);_0x582d5a['push'](_0xdd6506);}}if(_0x52aa48)for(const [_0x32bd23,_0x474a67]of Object['entries'](_0x52aa48)){const _0x4cd6da=_0x4e35b2['document']['getRoot'](_0x32bd23);if(!_0x4cd6da)throw new _0x849088('multi-root-editor-root-attributes-no-root',null);for(const [_0x573590,_0x25f39a]of Object['entries'](_0x474a67))if(null!==_0x25f39a){const _0x2da7a2=new _0x57eb66(_0x4cd6da,_0x573590,null,_0x25f39a,_0x4b692a++);_0x582d5a['push'](_0x2da7a2);}}return _0x582d5a;}async['_loadRoot'](_0x5107cc,_0x5bdf57,_0x4728f3){this['_getOperationsFromInitData']({[_0x5107cc]:_0x5bdf57},{[_0x5107cc]:_0x4728f3})['forEach']((_0x1d4647,_0x2c21ff)=>{_0x1d4647['baseVersion']=this['_document']['version']+_0x2c21ff,_0x1d4647['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1d4647);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x16e4b7,_0x7989cf){let _0x4ca621;this['_offset']=_0x16e4b7['offset'];const _0x823593=_0x16e4b7['wereChangesApplied']&&!_0x16e4b7['initData'],_0x7fe90b=_0x823593?0x0:_0x16e4b7['data']['baseVersion'];if(_0x7989cf['forEach'](_0x3341ae=>{_0x3341ae['_isInit']=!0x0,_0x3341ae['createdAt']=_0x16e4b7['sessionCreatedAt'],_0x3341ae['_authorId']=null;}),_0x823593)_0x4ca621=_0x7989cf,this['_applyOperationsSet'](_0x4ca621,_0x823593);else{if(_0x16e4b7['initData']){const _0x15b69c=this['_getOperationsFromInitData'](_0x16e4b7['initData']);this['_document']['history']['version']=-_0x15b69c['length'],_0x15b69c['forEach'](_0x1f77da=>{_0x1f77da['baseVersion']-=_0x15b69c['length'],_0x1f77da['createdAt']=_0x16e4b7['sessionCreatedAt'],_0x1f77da['_isInit']=!0x0,_0x1f77da['_authorId']=null;}),this['_applyOperationsSet'](_0x15b69c,!0x0),this['serverHistory']['version']=-_0x15b69c['length']+this['_offset'],this['_updateServerHistory'](_0x15b69c);}this['_document']['history']['version']=_0x7fe90b,_0x4ca621=this['_decompressOperations'](_0x16e4b7['data'],_0x16e4b7['metadata']),await this['_fetchMissingUsers'](_0x4ca621),this['_applyOperationsSet'](_0x4ca621,_0x823593);}_0x16e4b7['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4ca621,_0x16e4b7['lastOperationId']),this['_lastSyncedOperationId']=_0x16e4b7['lastOperationId']),this['serverHistory']['version']=_0x7fe90b+this['_offset'],this['_updateServerHistory'](_0x4ca621),_0x7989cf['filter'](_0x64daf0=>{const _0x5d648c=this['_getAffectedRoot'](_0x64daf0);return _0x5d648c&&!this['_knownRootNames']['has'](_0x5d648c);})['forEach']((_0x3e28cb,_0xd1b7c5)=>{_0x3e28cb['baseVersion']=this['_document']['version']+_0xd1b7c5,this['_saveOperationInBuffer'](_0x3e28cb);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2f423d,_0x239868){const _0x3a63eb=_0x239868&&_0x239868['message'];if(_0x3a63eb&&_0x3a63eb['startsWith']('realtimecollaborationclient'))throw _0x239868;const _0x236311=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x236311['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x849088(_0x2f423d,this['editor'],_0x3a63eb?{'originalError':_0x3a63eb}:void 0x0);}['_saveOperationInBuffer'](_0x347d2b){this['_knownOperations']['has'](_0x347d2b)||(this['_knownOperations']['add'](_0x347d2b),this['_bufferedOperations']['push'](_0x347d2b),this['_pendingAction']||'marker'==_0x347d2b['type']&&!_0x347d2b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x6f3b08=!0x1){!_0x6f3b08&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x20387f=>{_0x20387f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x39fab8=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x152058){return _0x152058['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x152058['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x152058['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x39fab8)||this['_crash'](_0x39fab8['message'],_0x39fab8);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5e547f=>{this['on']('change:_isPendingUpdate',()=>{_0x5e547f();});});}async['_sendBufferedOperations'](){const _0x170ac7=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x170ac7['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x112160=[...this['_bufferedOperations']];for(const _0x3bb04b of _0x112160)_0x3bb04b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3bb04b);const _0x296694=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x112160),_0x22a2ba=Z++,_0x6c3ccc=this['_compressOperations'](_0x112160),_0x39b795=await this['_service']['sendOperations'](_0x6c3ccc,_0x6c3ccc['baseVersion'],_0x296694);try{return await this['_handleServerResponse'](_0x112160,_0x39b795,_0x22a2ba);}catch(_0x389682){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x389682);}}async['_handleServerResponse'](_0x161caf,_0x3dd35e,_0x2194bc){if('error'in _0x3dd35e)throw _0x3dd35e['error'];let _0x1f6983=!0x1;if(_0x3dd35e['wereChangesApplied']){_0x3dd35e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3dd35e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x501776=>!_0x161caf['includes'](_0x501776));for(const _0x2bc2a2 of _0x161caf)_0x2bc2a2['createdAt']='lastOperationAcceptedAt'in _0x3dd35e&&_0x3dd35e['lastOperationAcceptedAt']||void 0x0;st(_0x161caf,_0x3dd35e['version']-_0x161caf['length']),this['_updateServerHistory'](_0x161caf);const _0x2c97c8=_0x161caf['filter'](_0x2d182c=>{if(!_0x2d182c['_isInit'])return!0x1;const _0x57bdc9=this['_getAffectedRoot'](_0x2d182c);return _0x57bdc9&&!this['_knownRootNames']['has'](_0x57bdc9);});st(_0x2c97c8,this['_document']['version']),this['_applyOperationsSet'](_0x2c97c8),_0x1f6983=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4931a8=this['_decompressOperations'](_0x3dd35e['data'],_0x3dd35e['metadata'])['filter'](_0x50404c=>_0x50404c['baseVersion']>=this['_lastServerVersion']);_0x4931a8['forEach'](_0x4867fa=>this['_addKnownRoot'](_0x4867fa)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1ed8de=>!_0x1ed8de['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x1ed8de))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4931a8),_0x1f6983=this['_handleExternalOperations'](_0x4931a8,_0x3dd35e['version'],_0x3dd35e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1f6983?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x8aa5fd,_0x3bc143,_0x5a003c){try{const _0x2b05c4={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x521fa4,operationsB:_0x4c1a8d,originalOperations:_0x466478}=_0x375ab1(_0x8aa5fd,this['_bufferedOperations'],_0x2b05c4);st(_0x521fa4,this['_document']['version']),st(_0x4c1a8d,_0x3bc143);for(const _0x240190 of _0x521fa4){const _0x23acfb=_0x466478['get'](_0x240190);_0x240190['_authorId']=_0x23acfb?_0x23acfb['_authorId']:null;}_0x5a003c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x8aa5fd,_0x5a003c),this['_lastSyncedOperationId']=_0x5a003c),this['_bufferedOperations']=[..._0x4c1a8d],this['_applyOperationsSet'](_0x521fa4),this['_updateServerHistory'](_0x8aa5fd);}catch(_0x216862){return console['error'](_0x216862),!0x1;}return!0x0;}['_applyOperationsSet'](_0xe305d5,_0x235ca0=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2d9a8d=>{for(const _0x3509c5 of _0xe305d5)this['_knownOperations']['add'](_0x3509c5),this['_addKnownRoot'](_0x3509c5),_0x2d9a8d['batch']['addOperation'](_0x3509c5),this['editor']['model']['applyOperation'](_0x3509c5);});}['_addKnownRoot'](_0x3d5d61){const _0x2ce7f1=this['_getAffectedRoot'](_0x3d5d61);_0x2ce7f1&&this['_knownRootNames']['add'](_0x2ce7f1);}['_getAffectedRoot'](_0x559d6b){let _0x2b483c,_0x10e173;switch(_0x559d6b['type']){case'insert':_0x2b483c=_0x559d6b['position']['root'];break;case'marker':if(_0x10e173=_0x559d6b['newRange'],!_0x10e173)return null;_0x2b483c=_0x10e173['root'];break;case'addRootAttribute':_0x2b483c=_0x559d6b['root'];break;case'addRoot':_0x2b483c=_0x559d6b['affectedSelectable'];break;case'move':_0x2b483c=_0x559d6b['targetPosition']['root'];break;default:return null;}return _0x2b483c['rootName'];}['_updateServerHistory'](_0x4b86f1){_0x4b86f1['forEach'](_0x4a7b41=>{const _0x5490ae=_0x4a7b41['clone']();_0x5490ae['_authorId']=_0x4a7b41['_authorId'],_0x5490ae['_isInit']=!!_0x4a7b41['_isInit'],_0x5490ae['createdAt']=_0x4a7b41['createdAt'],_0x5490ae['baseVersion']+=this['_offset'],_0x4a7b41['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5490ae),this['serverHistory']['addOperation'](_0x5490ae);});}['_handleReconnectionError'](_0x10055d){const _0x3c13ed=this['editor']['plugins']['get']('Notification'),_0x4034ac=this['editor']['locale'];_0x10055d||(_0x10055d=X(_0x4034ac,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x3c13ed['showWarning'](_0x10055d,{'title':X(_0x4034ac,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2190b9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2190b9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x28144c){const _0x44c711=_0x28144c['map'](_0xe054ee=>_0xe054ee['toJSON']());return this['_compressor']['compress'](_0x44c711);}['_decompressOperations'](_0x5cf400,_0x3688c4){return this['_compressor']['decompress'](_0x5cf400)['map']((_0x3dec33,_0x4c1a3c)=>{const _0x126885='init'==_0x3688c4[_0x4c1a3c]['type'];if('InsertOperation'==_0x3dec33['__className']){const _0x1d69eb=_0x3dec33['position']['root'];!this['_document']['getRoot'](_0x1d69eb)&&(this['_document']['createRoot']('$root',_0x1d69eb)['_isAttached']=!0x1);}const _0x2eb907=_0x5316e8['fromJSON'](_0x3dec33,this['_document']);return _0x2eb907['wasUndone']=_0x3dec33['wasUndone'],_0x2eb907['_isInit']=_0x126885,_0x2eb907['_authorId']=_0x126885?null:_0x3688c4[_0x4c1a3c]['userId'],_0x2eb907['_isDisconnection']='cs:removeUser'===_0x3688c4[_0x4c1a3c]['type'],_0x2eb907['createdAt']=_0x3688c4[_0x4c1a3c]['createdAt'],_0x2eb907;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x58f1ea=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x58f1ea&&_0x58f1ea['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x15fd10,_0x529fd3){for(const _0x45c853 of _0x15fd10)_0x45c853['baseVersion']=_0x529fd3++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x479c86){this['_ignoredOperations']=_0x479c86,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4f6eed){let _0x94cb0a=_0x4f6eed['length'];for(;_0x94cb0a--;){const _0x48c9d0=_0x4f6eed[_0x94cb0a];if(!this['_ignoredOperations']['has'](_0x48c9d0)){if(!this['_operationToId']['has'](_0x48c9d0)){const _0x10216e=_0x2fc7a9()['slice'](0x1,0x12);this['_operationToId']['set'](_0x48c9d0,_0x10216e);}return this['_operationToId']['get'](_0x48c9d0);}}}['setIdForTheLastOperation'](_0x52ebe6,_0x241c06){if(!_0x241c06)return;let _0x1dd015=_0x52ebe6['length'];for(;_0x1dd015--;){const _0xb88fef=_0x52ebe6[_0x1dd015];this['_ignoredOperations']['has'](_0xb88fef)||this['_operationToId']['set'](_0xb88fef,_0x241c06);}}}class nt extends _0x1d5197{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x39cb58{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x5b684f)());['_services'];static get['requires'](){return[z,_0x41e2b,Y,_0x48e39d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x396af9){super(_0x396af9),this['_services']=new Map();}async['init'](){const _0x430933=this['context'],_0x2bbf6c=_0x430933['plugins']['get'](_0x41e2b);if(_0x430933['plugins']['get'](z)['addToReconnectionStack'](this),_0x2bbf6c['adapter']={'addCommentThread':async({channelId:_0x4dba4d,threadId:_0x13ca22,comments:_0x1f6456,resolvedAt:_0x1f20e5,resolvedBy:_0x164c97,context:_0x50a12b,attributes:_0x4e3795})=>{const _0x628cd9=await this['_getService'](_0x4dba4d)['addCommentThread']({'commentThreadId':_0x13ca22,'comments':_0x1f6456['map'](_0x569df5=>function(_0x2db08b,_0x57c6f4,_0x15b96b){return{'commentThreadId':_0x15b96b,'commentId':_0x2db08b['commentId'],'userId':_0x2db08b['authorId'],'content':_0x2db08b['content'],'documentId':_0x57c6f4,'createdAt':_0x2db08b['createdAt'],'attributes':_0x2db08b['attributes']||{}};}(_0x569df5,_0x4dba4d,_0x13ca22)),'resolvedAt':_0x1f20e5,'resolvedBy':_0x164c97,'context':_0x50a12b,'attributes':_0x4e3795})['catch'](ct);return{'threadId':_0x628cd9['commentThreadId'],'comments':_0x628cd9['comments']};},'getCommentThread':async({channelId:_0x2302f5,threadId:_0x5bb374})=>{const _0x19002d=await this['_getService'](_0x2302f5)['getCommentThread'](_0x5bb374)['catch'](rt)['catch'](ct);return _0x19002d?_0x19002d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x19002d]),{'threadId':_0x19002d['commentThreadId'],'comments':_0x19002d['comments']['map'](at),'context':_0x19002d['context'],'resolvedAt':_0x19002d['resolvedAt'],'resolvedBy':_0x19002d['resolvedBy'],'attributes':_0x19002d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x277874,threadId:_0x27c223,context:_0x5158e,unlinkedAt:_0xce7fee,attributes:_0xe564c9})=>this['_getService'](_0x277874)['updateCommentThread']({'commentThreadId':_0x27c223,'context':_0x5158e,'attributes':_0xe564c9,'unlinkedAt':_0xce7fee})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x2b4228,threadId:_0x28ac9e})=>{const _0x5c5373=await this['_getService'](_0x2b4228)['resolveCommentThread'](_0x28ac9e)['catch'](rt)['catch'](ct);return{'threadId':_0x5c5373['commentThreadId'],'resolvedAt':_0x5c5373['resolvedAt'],'resolvedBy':_0x5c5373['resolvedBy']};},'reopenCommentThread':async({channelId:_0x22f91f,threadId:_0x551a8f})=>this['_getService'](_0x22f91f)['reopenCommentThread'](_0x551a8f)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x29e970,threadId:_0x531a50})=>this['_getService'](_0x29e970)['removeCommentThread'](_0x531a50)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x3d9b26,threadId:_0x4a2a78,commentId:_0x299171,content:_0x4f841f,attributes:_0x1f9256})=>this['_getService'](_0x3d9b26)['addComment'](_0x4a2a78,_0x299171,_0x4f841f,_0x1f9256)['catch'](ct),'updateComment':({channelId:_0x56b8ba,threadId:_0x3d6f4c,commentId:_0x2b9358,content:_0x206d42,attributes:_0x4d8567})=>this['_getService'](_0x56b8ba)['updateComment'](_0x3d6f4c,_0x2b9358,_0x206d42,_0x4d8567)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1aae5c,threadId:_0x284df4,commentId:_0x16b9da})=>this['_getService'](_0x1aae5c)['removeComment'](_0x284df4,_0x16b9da)['catch'](rt)['catch'](ct)},_0x430933 instanceof _0x4dfce7){const _0x431af3=_0x430933['config']['get']('collaboration.channelId'),_0x3dbb5c=_0x430933['plugins']['get'](Y);await this['_setUpService'](_0x431af3);const _0x5390a3=await this['_services']['get'](_0x431af3)['getConnectedSessions']();this['listenTo'](_0x3dbb5c,'sessionAdd:'+_0x431af3,(_0x1200fc,{session:_0x52ee7b})=>{_0x52ee7b['id']===_0x3dbb5c['mySessionId']&&(_0x1200fc['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x52ee7b['permissions'],_0x431af3));}),_0x3dbb5c['register'](_0x431af3,_0x5390a3);}}async['_setUpService'](_0x3586dc){if(this['_services']['has'](_0x3586dc))throw new _0x849088('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3586dc});const _0x2db107=this['context']['plugins']['get'](_0x41e2b),_0x23bcd4=new ot['CommentsService'](_0x3586dc);this['_services']['set'](_0x3586dc,_0x23bcd4),this['listenTo'](_0x23bcd4,'commentThreadAdded',(_0x2ecb45,_0x31866c)=>{const {commentThreadId:_0xd8f74c,documentId:_0x288012,context:_0x3905fb,attributes:_0x1e79ef,resolvedAt:_0x267dd9,resolvedBy:_0x10543c,comments:_0x4899f8}=_0x31866c;_0x2db107['getCommentThread'](_0xd8f74c)||_0x2db107['addCommentThread']({'threadId':_0xd8f74c,'channelId':_0x288012,'comments':_0x4899f8?_0x4899f8['map'](at):[],'context':_0x3905fb,'attributes':_0x1e79ef,'resolvedAt':_0x267dd9,'resolvedBy':_0x10543c,'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadUpdated',(_0x38f679,{commentThreadId:_0x11434d,documentId:_0x16d802,context:_0x27e3cf,unlinkedAt:_0x3b8036,attributes:_0x35999a})=>{_0x2db107['getCommentThread'](_0x11434d)&&_0x2db107['updateCommentThread']({'threadId':_0x11434d,'channelId':_0x16d802,'context':_0x27e3cf,'unlinkedAt':_0x3b8036,'attributes':_0x35999a,'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadResolved',(_0x28f264,{commentThreadId:_0x56358c,resolvedBy:_0x38d737,resolvedAt:_0x47d6c0})=>{const _0x57f936=_0x2db107['getCommentThread'](_0x56358c);_0x57f936&&_0x57f936['resolve']({'resolvedBy':_0x38d737,'resolvedAt':_0x47d6c0,'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadReopened',(_0x636d88,{commentThreadId:_0x251c76})=>{const _0x2fb44a=_0x2db107['getCommentThread'](_0x251c76);_0x2fb44a&&_0x2fb44a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentThreadRemoved',(_0x2b1171,{commentThreadId:_0x25e9d9})=>{const _0x5e06cb=_0x2db107['getCommentThread'](_0x25e9d9);_0x5e06cb&&_0x5e06cb['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentAdded',(_0x57eae8,_0x4a1840)=>{const _0x1d7a44=_0x4a1840['commentThreadId'],_0x52a37f=_0x2db107['getCommentThread'](_0x1d7a44);_0x52a37f&&_0x52a37f['addComment']({...at(_0x4a1840),'isFromAdapter':!0x0});}),this['listenTo'](_0x23bcd4,'commentUpdated',(_0x29ce74,{commentThreadId:_0x16e1c8,commentId:_0x158d8c,content:_0xa22073,attributes:_0x7fcdab})=>{const _0x44d370=_0x2db107['getCommentThread'](_0x16e1c8);if(_0x44d370){const _0x471fae=_0x44d370['getComment'](_0x158d8c);_0x471fae&&_0x471fae['update']({'content':_0xa22073,'attributes':_0x7fcdab,'isFromAdapter':!0x0});}}),this['listenTo'](_0x23bcd4,'commentRemoved',(_0x2c8141,{commentThreadId:_0x447eda,commentId:_0x1e49f2})=>{const _0x21ef8f=_0x2db107['getCommentThread'](_0x447eda);if(_0x21ef8f){const _0x5bffed=_0x21ef8f['getComment'](_0x1e49f2);_0x5bffed&&_0x5bffed['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3586dc);}['destroy'](){if(this['context']instanceof _0x4dfce7){const _0x2f4a8e=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2f4a8e);}}['_terminateService'](_0x9d2266){if(!this['_services']['has'](_0x9d2266))throw new _0x849088('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x9d2266});this['_getService'](_0x9d2266)['disconnect'](),this['_services']['delete'](_0x9d2266);}async['reconnect'](){for(const _0x23b509 of this['_services']['keys']())await this['_connectService'](_0x23b509);if(this['context']instanceof _0x4dfce7){const _0xfe34d3=this['context']['config']['get']('collaboration.channelId'),_0x2f8055=this['context']['plugins']['get'](Y);_0x2f8055['unregister'](_0xfe34d3);const _0x452f97=await this['_services']['get'](_0xfe34d3)['getConnectedSessions']();_0x2f8055['register'](_0xfe34d3,_0x452f97);}}async['_connectService'](_0x36b9c6){const {connection:_0x245cf8}=this['context']['plugins']['get'](z),_0xf21f6c=this['context']['plugins']['get'](_0x41e2b),_0x2168fb=this['_services']['get'](_0x36b9c6),_0x29ebac=await _0x2168fb['connect'](_0x245cf8);await this['_fetchMissingUsersForThreads'](_0x29ebac);const _0x109d56=new Set(Array['from'](_0xf21f6c['getCommentThreads']({'channelId':_0x36b9c6}),_0xfed2c0=>_0xfed2c0['id']));for(const _0x28a7ae of _0x29ebac)_0x28a7ae['deletedAt']||_0x109d56['delete'](_0x28a7ae['commentThreadId']);for(const _0xbd6f67 of _0x109d56)_0xf21f6c['getCommentThread'](_0xbd6f67)['remove']({'isFromAdapter':!0x0});for(const _0x49582c of _0x29ebac){let _0xbbf2ae=_0xf21f6c['getCommentThread'](_0x49582c['commentThreadId']);const {commentThreadId:_0x497347,context:_0x5a6d5a,attributes:_0x1cbfae,resolvedBy:_0x3b6891,resolvedAt:_0x3757e9,unlinkedAt:_0x4af8bf,deletedAt:_0x23f3a0}=_0x49582c;if(_0x23f3a0)continue;_0xbbf2ae||(_0xbbf2ae=_0xf21f6c['addCommentThread']({'channelId':_0x36b9c6,'threadId':_0x497347,'context':_0x5a6d5a,'attributes':_0x1cbfae||{},'resolvedBy':_0x3b6891,'resolvedAt':_0x3757e9,'unlinkedAt':_0x4af8bf,'isFromAdapter':!0x0}));const _0x573e18=new Set(Array['from'](_0xbbf2ae['comments'],_0x13f620=>_0x13f620['id']));for(const _0x405fbb of _0x49582c['comments'])_0x573e18['delete'](_0x405fbb['commentId']);for(const _0x571ec4 of _0x573e18)_0xbbf2ae['getComment'](_0x571ec4)['remove']({'isFromAdapter':!0x0});for(const _0x48f6ec of _0x49582c['comments']){const _0x238621=_0xbbf2ae['getComment'](_0x48f6ec['commentId']);_0x238621?_0x238621['content']!==_0x48f6ec['content']&&_0x238621['update']({'content':_0x48f6ec['content'],'isFromAdapter':!0x0}):_0xbbf2ae['addComment'](Object['assign'](at(_0x48f6ec),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3b44fa){if(!this['_services']['has'](_0x3b44fa))throw new _0x849088('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3b44fa});return this['_services']['get'](_0x3b44fa);}async['_fetchMissingUsersForThreads'](_0x3f40cc){const _0x55ed4c=this['context']['plugins']['get'](_0x48e39d),{connection:_0x272fd1}=this['context']['plugins']['get'](z),_0x396439=new Set();for(const {resolvedBy:_0x166cbc,comments:_0x22fac2}of _0x3f40cc){_0x166cbc&&!_0x55ed4c['getUser'](_0x166cbc)&&_0x396439['add'](_0x166cbc);for(const {userId:_0x14dd98}of _0x22fac2)_0x55ed4c['getUser'](_0x14dd98)||_0x396439['add'](_0x14dd98);}if(0x0===_0x396439['size'])return;const _0x11ccc7=await _0xbe5ea0['getMany'](_0x272fd1,Array['from'](_0x396439));for(const _0x35eae0 of _0x11ccc7)_0x55ed4c['getUser'](_0x35eae0['id'])||_0x55ed4c['addUser'](_0x35eae0);}}async function rt(_0x5c599e){if('404'!==_0x5c599e['code'])throw _0x5c599e;}function ct(_0x4d5953){if((_0x44a9b6=_0x4d5953)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x44a9b6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x44a9b6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x44a9b6;throw _0x4d5953;}function at(_0x17c2b7){return{'threadId':_0x17c2b7['commentThreadId'],'commentId':_0x17c2b7['commentId'],'content':_0x17c2b7['content'],'createdAt':_0x17c2b7['createdAt'],'authorId':_0x17c2b7['userId'],'attributes':_0x17c2b7['attributes']||{}};}class ht extends _0x1d5197{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0xe7ce4c)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x224462,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2d44c0){super(_0x2d44c0);const _0x3a7144=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x3a7144);}['init'](){const _0x5280dc=this['editor']['plugins']['get'](z),_0x63e3c6=this['editor']['plugins']['get'](_0x224462);return _0x63e3c6['adapter']={'getSuggestion':async _0x28066f=>{await this['_waitForServiceReady']();const _0x148abd=await this['_trackChangesService']['get'](_0x28066f)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x148abd]),_0x148abd;},'addSuggestion':async({id:_0xfecbd7,type:_0x1fb77b,data:_0x16115e,originalSuggestionId:_0x28eb8e,attributes:_0x864a73})=>{await this['_waitForServiceReady']();const _0x4b2120={'id':_0xfecbd7,'type':_0x1fb77b,'data':_0x16115e,'originalSuggestionId':_0x28eb8e,'attributes':_0x864a73},_0x58efdf=await this['_trackChangesService']['add'](_0xfecbd7,_0x1fb77b,_0x16115e,_0x28eb8e,_0x864a73)['catch'](_0x4077fb=>{if(dt(_0x4077fb))return new Promise(_0x5257f7=>{this['_bufferedRequests']['set'](_0xfecbd7,{'resolve':_0x5257f7,'suggestionData':_0x4b2120});});throw _0x4077fb;});return this['_bufferedRequests']['delete'](_0xfecbd7),_0x58efdf;},'updateSuggestion':async(_0x5eb2f5,_0x4cdbbc)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4cdbbc['state'])return this['_trackChangesService']['update'](_0x5eb2f5,_0x4cdbbc)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x55a674,_0x8aeea2)=>{_0x63e3c6['hasSuggestion'](_0x8aeea2['id'])&&(_0x63e3c6['getSuggestion'](_0x8aeea2['id'])['attributes']=_0x8aeea2['attributes']);}),this['_trackChangesService']['connect'](_0x5280dc['connection'])['then'](_0x3dfee3=>(_0x5280dc['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3dfee3)['then'](()=>{for(const _0x55e0fc of _0x3dfee3){_0x63e3c6['addSuggestionData'](_0x55e0fc)['_saved']=!0x0;}})));}async['reconnect'](){const _0x512235=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x34624e}=this['editor']['plugins']['get'](z),_0x49ac2a=await this['_trackChangesService']['connect'](_0x34624e);await this['_fetchMissingUsersForThreads'](_0x49ac2a);for(const {suggestionData:_0x3aad12,resolve:_0x123467}of this['_bufferedRequests']['values']()){let _0x239951=_0x49ac2a['find'](_0x1aa46f=>_0x1aa46f['id']===_0x3aad12['id']);_0x239951||(_0x239951=await this['_trackChangesService']['add'](_0x3aad12['id'],_0x3aad12['type'],_0x3aad12['data'],_0x3aad12['originalSuggestionId'])),_0x123467(_0x239951);}for(const _0x5d8677 of _0x49ac2a)_0x512235['hasSuggestion'](_0x5d8677['id'])||_0x512235['addSuggestionData'](_0x5d8677);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2daea8=>{this['listenTo'](this['_trackChangesService'],'connected',_0x4c922b=>{_0x4c922b['off'](),_0x2daea8();});});}async['_fetchMissingUsersForThreads'](_0x107c72){const _0xe79460=this['editor']['plugins']['get'](_0x48e39d),{connection:_0x23e9d9}=this['editor']['plugins']['get'](z),_0x4dcd48=new Set();for(const {authorId:_0x26ddce}of _0x107c72)_0xe79460['getUser'](_0x26ddce)||_0x4dcd48['add'](_0x26ddce);if(0x0===_0x4dcd48['size'])return;const _0x2c0dfc=await _0xbe5ea0['getMany'](_0x23e9d9,Array['from'](_0x4dcd48));for(const _0x35ff08 of _0x2c0dfc)_0xe79460['getUser'](_0x35ff08['id'])||_0xe79460['addUser'](_0x35ff08);}}function lt(_0xf1e46c){if(dt(_0xf1e46c))return new Promise(()=>{});throw _0xf1e46c;}function dt(_0x2ae0ce){return _0x2ae0ce['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2ae0ce['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x1d5197{static get['requires'](){return[_0x56dec7,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x42b9ad=this['editor']['plugins']['get'](z),_0x1a7b71=this['editor']['plugins']['get'](_0x187167),_0x31ec44=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x42b9ad,'change:state',(_0x1ff293,_0x2fd742,_0x3d9c74)=>{_0x1a7b71['isThreadsLoadingPaused']='connected'!==_0x3d9c74;});}),this['listenTo'](_0x42b9ad,'change:state',(_0x56a623,_0xcfb1d2,_0x69252f)=>{this['editor']['plugins']['get'](_0x41e2b)['switchReadOnly']('connected'!==_0x69252f);}),_0x31ec44['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x1d5197{static get['requires'](){return[ut,ht,_0x5ca7c1];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x1d5197{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x5ddde9)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x640475,Y,_0x48e39d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x516aa2){super(_0x516aa2);const _0x36c0fb=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x36c0fb);}async['init'](){const _0x4d3022=this['editor']['plugins']['get'](tt),_0x573d08=_0x4d3022['serverHistory'],_0x27767c=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x573d08,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4d3022['sessionId']});const _0x4a6c2d=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x46501e,_0x4a991f=await _0x5a7399['isBundleUploaded'](_0x27767c['connection'],_0x4a6c2d);this['editor']['plugins']['get'](_0x640475)['adapter']={'getRevision':async({revisionId:_0x9742bc})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x9742bc)),'updateRevisions':async _0x37fd01=>{await this['_waitForServiceReady']();const _0x3dfc7c=this['_revisionTracker']['currentRevision'];if(_0x4a991f&&0x1===_0x37fd01['length']&&_0x37fd01[0x0]['id']===_0x3dfc7c['id'])return _0x37fd01;for(const _0x9a2919 of _0x37fd01)_0x9a2919['id']===_0x3dfc7c['id']&&(_0x9a2919['isEmptyCurrent']=_0x9a2919['fromVersion']===_0x9a2919['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x37fd01,this['_lastRequestId'])['then'](_0x42a081=>(this['_lastRequestId']=_0x42a081,_0x37fd01))['catch'](_0x3ebe5e=>{if(pt(_0x3ebe5e)||'400'===_0x3ebe5e['code']&&void 0x0!==_0x3ebe5e['data']['wrongRequestId']){for(const _0x42a978 of _0x37fd01){!this['_revisionTracker']['repository']['getRevision'](_0x42a978['id'])||this['_revisionTracker']['_bufferUpdate'](_0x42a978['id'],_0x42a978,!0x1);}if(pt(_0x3ebe5e))throw _0x3ebe5e;return _0x37fd01;}throw _0x3ebe5e;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x20a969,{revisionsData:_0xf58d85,requestId:_0x33ce08})=>{Math['max'](..._0xf58d85['map'](_0xf9d04e=>_0xf9d04e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xf58d85,_0x33ce08);}):this['_handleRevisionsUpdate'](_0xf58d85,_0x33ce08);});const {revisions:_0x443fe9,requestId:_0x3cbe4c}=await this['_revisionHistoryService']['connect'](_0x27767c['connection']);_0x27767c['addToReconnectionStack'](this),this['_lastRequestId']=_0x3cbe4c,await this['_fetchMissingUsers'](_0x443fe9);for(const _0x33d451 of _0x443fe9)this['_revisionTracker']['addRevisionData'](_0x33d451);this['listenTo'](_0x4d3022,'change:_isConnected',(_0x54d50f,_0x471565,_0x164840)=>{_0x164840&&(this['_oldOffset']=_0x4d3022['_offset'],_0x54d50f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x27767c,'state',_0x59e00a=>_0x59e00a===_0x169e89['CONNECTED']);}async['reconnect'](){const _0x461535=this['editor']['plugins']['get'](z),_0x4a2b30=this['editor']['plugins']['get'](tt),_0x886694=async()=>{const _0x4bfc80=this['_revisionTracker']['currentRevision'],_0x440b25=_0x4bfc80['id'],_0x5a9f91=_0x440b25!==_0x4a2b30['sessionId'];if(_0x5a9f91){const _0x3530df=_0x4a2b30['_offset']-this['_oldOffset'],_0x3b0e8b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4bfc80['toVersion']+_0x3530df!==_0x3b0e8b){const _0x4bab6b=_0x4bfc80['fromVersion']+_0x3530df,_0x4379b7=this['editor']['plugins']['get'](_0x48e39d),_0x79c857=this['_revisionTracker']['buildRevisionData']({'revision':_0x4bfc80,'from':_0x4bab6b,'to':_0x3b0e8b});_0x79c857['id']=_0x4bfc80['id'];const _0x32a9bb=_0x79c857['authorsIds']['map'](_0x2d3573=>_0x4379b7['getUser'](_0x2d3573));_0x4bfc80['_update']({..._0x79c857,'authors':_0x32a9bb},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4bfc80['id'],_0x79c857,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3b0e8b,(_0x4bfc80['toVersion']===_0x4bfc80['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x440b25)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x440b25),this['_revisionTracker']['_createCurrentRevision'](_0x3b0e8b));}const {revisions:_0x1adec9,requestId:_0x423dc7}=await this['_revisionHistoryService']['reconnect'](_0x461535['connection'],this['_lastRequestId']);_0x5a9f91&&_0x1adec9['length']>0x0?_0x4a2b30['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1adec9),this['_handleRevisionsUpdate'](_0x1adec9,_0x423dc7),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4a2b30['_isConnected']?_0x886694():new Promise((_0x169afb,_0x987710)=>{_0x4a2b30['once']('change:_isConnected',()=>{_0x886694()['then'](_0x169afb)['catch'](_0x987710);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5c2b9d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5ceda4=>{_0x5ceda4['off'](),_0x5c2b9d();});});}['_getLatestVersionFromServerOperations'](){const _0x26028d=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x38ea08 of _0x26028d)if('marker'!==_0x38ea08['type']||_0x38ea08['affectsData'])return _0x38ea08['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b618d=this['editor']['plugins']['get'](tt);return new Promise(_0x4e5fe2=>{_0x1b618d['_isPendingUpdate']?_0x1b618d['once']('change:_isPendingUpdate',()=>{_0x4e5fe2(this['_getLatestVersionFromServerOperations']());}):_0x4e5fe2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xd511b6,_0x3e866c){const _0x3ab700=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3e866c;for(const _0x3ef048 of _0xd511b6){const _0x3bfce0=_0x3ab700['getRevision'](_0x3ef048['id']);if(_0x3bfce0){if((_0x3ef048['fromVersion']||_0x3ef048['toVersion'])&&(_0x3ef048['diffData']=null),_0x3bfce0===this['_revisionTracker']['currentRevision']){const _0x128c54=Math['max'](_0x3bfce0['toVersion'],_0x3ef048['toVersion']),_0x73cac9=Math['max'](_0x3bfce0['fromVersion'],_0x3ef048['fromVersion']);let _0x189f3d;_0x3bfce0['toVersion']===_0x3ef048['toVersion']&&_0x3bfce0['fromVersion']===_0x3ef048['fromVersion']?(_0x189f3d=!0x0,this['_preventResendingRevisionData'](_0x3ef048)):_0x3ef048['toVersion']===_0x128c54&&_0x3ef048['fromVersion']===_0x73cac9?_0x189f3d=!0x1:(_0x3bfce0['toVersion']===_0x128c54&&_0x3bfce0['fromVersion']===_0x73cac9||this['_fixRevision']({'revision':_0x3bfce0,'from':_0x73cac9,'to':_0x128c54}),_0x189f3d=!0x0),_0x189f3d&&(delete _0x3ef048['fromVersion'],delete _0x3ef048['toVersion'],delete _0x3ef048['diffData'],delete _0x3ef048['createdAt'],delete _0x3ef048['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3ef048),this['_preventResendingRevisionData'](_0x3ef048);}else this['_revisionTracker']['addRevisionData'](_0x3ef048);}const _0x569501=_0x3ab700['getRevisions']();_0x569501['reverse']();for(let _0x4823ba=0x0;_0x4823ba<_0x569501['length']-0x1;_0x4823ba++){const _0x523234=_0x569501[_0x4823ba],_0x2f94b8=_0x569501[_0x4823ba+0x1];if(_0x523234['fromVersion']<_0x2f94b8['toVersion']){const _0x216a6a=_0x2f94b8['toVersion'],_0x5ce45c=Math['max'](_0x216a6a,_0x523234['toVersion']);this['_fixRevision']({'revision':_0x523234,'from':_0x216a6a,'to':_0x5ce45c});}}}['_fixRevision']({revision:_0x3e3a0a,from:_0x4a3356,to:_0x402156}={}){const _0x1e372b=this['editor']['plugins']['get'](_0x48e39d),_0x3e29b3=this['_revisionTracker']['buildRevisionData']({'revision':_0x3e3a0a,'from':_0x4a3356,'to':_0x402156});_0x3e29b3['authors']=_0x3e29b3['authorsIds']['map'](_0x4d1901=>_0x1e372b['getUser'](_0x4d1901)),_0x3e3a0a['_update'](_0x3e29b3);}['_preventResendingRevisionData'](_0x173044){const _0x4a596b={};_0x4a596b['id']=_0x173044['id'];for(const _0xf13c7e of Object['keys'](_0x173044))'id'!==_0xf13c7e&&(_0x4a596b[_0xf13c7e]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4a596b['id'],_0x4a596b,!0x0);}async['_fetchMissingUsers'](_0xa28c14){const _0x3e075c=this['editor']['plugins']['get'](_0x48e39d),{connection:_0x4ae1b5}=this['editor']['plugins']['get'](z),_0x2b490e=new Set();for(const _0x548047 of _0xa28c14){for(const _0x594003 of _0x548047['authorsIds'])_0x58ae17(_0x594003);_0x548047['creatorId']&&_0x58ae17(_0x548047['creatorId']);}if(0x0===_0x2b490e['size'])return;const _0x281027=await _0xbe5ea0['getMany'](_0x4ae1b5,Array['from'](_0x2b490e));for(const _0x26213f of _0x281027)_0x3e075c['getUser'](_0x26213f['id'])||_0x3e075c['addUser'](_0x26213f);function _0x58ae17(_0x173794){_0x3e075c['getUser'](_0x173794)||_0x2b490e['add'](_0x173794);}}}function pt(_0x5c93ff){return _0x5c93ff['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5c93ff['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c93ff['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x1d5197{static get['requires'](){return[_0x640475,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x4465b8{['_collapseAt'];constructor(_0x1bc7da,_0x23c5d8=0x6){super(_0x1bc7da);const _0x5d6b0c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x23c5d8,this['bind']('isHidden')['to'](this,'usersCount',_0xe0b3c6=>_0xe0b3c6<_0x23c5d8),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5d6b0c['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x5d6b0c['to']('usersCount',_0x3d096b=>'+'+(_0x3d096b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x4465b8{['items'];['keystrokes'];constructor(_0x3314a8){super(_0x3314a8);const _0x2f8664=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4efd8d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2f8664['if']('hasPopup'),'aria-expanded':_0x2f8664['to']('isExpanded',_0x3c5527=>this['hasPopup']&&String(_0x3c5527)),'aria-label':_0x2f8664['to']('hasPopup',_0x34262c=>X(_0x3314a8,_0x34262c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2f8664['to']('hasPopup',_0x44c473=>!!_0x44c473&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2f8664['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2f8664['to'](_0x35339e=>{const _0x6279e7=_0x35339e,_0x10ddb7=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1107a8=document['querySelector']('.ck-balloon-panel_with-arrow');_0x10ddb7?.['contains'](_0x6279e7['relatedTarget'])||_0x1107a8?.['contains'](_0x6279e7['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x232b8f,_0xd26640,_0x5bd970)=>{this['element']&&(_0x5bd970?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x4465b8{['counterView'];['inlineListView'];constructor(_0x5ed174,_0x4cf4a6=0x6){super(_0x5ed174);const _0x58acf7=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x4cf4a6),this['inlineListView']=new vt(_0x5ed174),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x310503 of this['inlineListView']['items'])_0x310503['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x58acf7['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x4465b8{['listWrapperView'];constructor(_0xa19980,_0x49e06e){super(_0xa19980);const _0x48b46e=this['bindTemplate'];this['listWrapperView']=new bt(_0xa19980,_0x49e06e),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0xa19980,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x48b46e['to'](_0x36b955=>{const _0x24aa1f=_0x36b955,_0x5520be=document['querySelector']('.ck-presence-list__list'),_0x582be5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5520be?.['contains'](_0x24aa1f['relatedTarget'])||_0x582be5?.['contains'](_0x24aa1f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x493848{constructor(_0x456191,_0x113ca1){super(_0x456191);const _0x5619d3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x113ca1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5619d3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5619d3['to']('role'),'aria-label':_0x5619d3['to']('ariaLabel'),'aria-labelledby':_0x5619d3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x29912a['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1b9cd8=this['element'];_0x1b9cd8&&(this['_isScrollable']=Math['max'](_0x1b9cd8['scrollHeight'],_0x1b9cd8['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x1aed03{['userView'];constructor(_0x4fdd5a,_0x84c695,_0x44e128){super(_0x4fdd5a);const _0x2ebbb4=this['bindTemplate'];this['userView']=new _0x4530a1(_0x4fdd5a,_0x84c695);const _0x3152d3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x84c695['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x84c695['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x84c695['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x84c695['color']['getColorVariable'](),'--ck-user-color-alpha':_0x84c695['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x44e128&&(_0x3152d3['tag']='button',_0x3152d3['on']={'click':_0x2ebbb4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3152d3);}['focus'](){this['element']['focus']();}}class It extends _0x4465b8{['userView'];['markerView'];constructor(_0x4ef511,_0x5c94de,_0xfc546a){super(_0x4ef511);const _0x337697=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4530a1(_0x4ef511,_0x5c94de),this['markerView']=new St(_0x4ef511,_0x5c94de);const _0x259167=new _0x1be434(_0x4ef511);_0x259167['template']['tag']='span',_0x259167['text']=_0x5c94de['name'];const _0x2598de={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x337697['to']('isFocusable',_0xc20348=>!!_0xc20348&&0x0),'aria-labelledby':_0x259167['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x337697['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x337697['to']('hasTooltip',_0x4d5796=>!_0x4d5796),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x259167]};_0xfc546a&&(_0x2598de['tag']='button',_0x2598de['on']={'click':_0x337697['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2598de);}}class St extends _0x4465b8{constructor(_0x2ab3e3,_0x1e922f){super(_0x2ab3e3),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1e922f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1e922f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1e922f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x39cb58{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x72abf0){super(_0x72abf0),this['context']['config']['define']('presenceList',Tt);const _0x45e346=_0x72abf0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x45e346)throw new _0x849088('presencelist-collapseat-invalid-format',this);if(_0x45e346<0x1)throw new _0x849088('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x432b74(),this['balloonPanelView']=new _0x49fda1(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xf0467a of this['_allConnectedUsers'])this['_handleUserAdd'](_0xf0467a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4e8753,_0x9fb91a)=>{this['_handleUserAdd'](_0x9fb91a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2a935d,_0x2f585f)=>{this['_handleUserRemove'](_0x2f585f);});}['_createView'](){const _0x13c48b=this['context'],_0x11196c=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x29843a=this['balloonPanelView'];if(!_0x2b54d6(_0x13c48b['config']['get']('presenceList.container')))throw new _0x849088('presencelist-missing-container',this);return _0x11196c['counterView']['bind']('usersCount')['to'](this),_0x11196c['bind']('isCollapsed')['to'](this,'usersCount',_0x569e6c=>{const {collapseAt:_0x438a17}=_0x13c48b['config']['get']('presenceList'),_0x406b4d=_0x569e6c>=_0x438a17;if(_0x406b4d&&!_0x11196c['inlineListView']['items']['find'](_0x516d1a=>_0x516d1a instanceof wt)){const _0x160133=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x160133&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x11196c['inlineListView']['items']['add'](_0x11196c['counterView']);}return _0x406b4d||this['hideDropdown'](),_0x406b4d;}),_0x11196c['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x307313=>{const _0x178312=_0x13c48b['config']['get']('presenceList'),_0x4f0a08=new It(_0x13c48b['locale'],_0x307313,!!_0x178312['onClick']);return _0x4f0a08['bind']('hasTooltip')['to'](_0x11196c,'isCollapsed',_0x3ee0c0=>!_0x3ee0c0),_0x4f0a08['bind']('isFocusable')['to'](_0x11196c,'isCollapsed',_0x469b15=>!_0x469b15),_0x178312['onClick']&&this['listenTo'](_0x4f0a08,'execute',()=>{this['view']['isCollapsed']||_0x178312['onClick'](_0x307313,_0x4f0a08['element']);}),_0x4f0a08;}),this['listenTo'](_0x11196c['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x11196c['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x11196c['inlineListView']['keystrokes']['set']('Enter',(_0x77c032,_0x453060)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x453060());}),_0x11196c['render'](),_0x29843a['render'](),_0x5ef9f9({'emitter':_0x11196c,'activator':()=>_0x29843a['isVisible'],'contextElements':[_0x29843a['element'],_0x11196c['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x13c48b['config']['get']('presenceList.container')['appendChild'](_0x11196c['element']),this['_bodyCollection']=new _0x208c83(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x11196c;}['_handleUserAdd'](_0x3c66c6){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3c66c6['isMe'])return;const _0x4db044=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4db044-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2b022=_0x3c66c6['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3c66c6,_0x2b022);}['_handleUserRemove'](_0x2ff49c){this['usersCount']--;const {collapseAt:_0x24d364}=this['context']['config']['get']('presenceList'),_0x210d50=this['usersCount']>=_0x24d364;if(this['currentDisplayedUsers']['get'](_0x2ff49c['id']))this['currentDisplayedUsers']['remove'](_0x2ff49c['id']);else{if(_0x210d50&&this['currentDisplayedUsers']['length']+0x1===_0x24d364-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x210d50?0x1:0x0)<this['usersCount']){for(const _0x45d4cf of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x45d4cf['id'])&&(this['currentDisplayedUsers']['add'](_0x45d4cf,Math['min'](this['currentDisplayedUsers']['length']-(_0x210d50?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x210d50?0x1:0x0)===_0x24d364-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x459df4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x459df4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x7d3234}=this['presenceDropdownView'];_0x7d3234['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3c1f05=>{if(!_0x459df4['displayMe']&&_0x3c1f05['isMe'])return null;const _0x33a60a=new kt(this['context']['locale'],_0x3c1f05,!!_0x459df4['onClick']);return _0x459df4['onClick']&&this['listenTo'](_0x33a60a,'execute',()=>{_0x459df4['onClick'](_0x3c1f05,_0x33a60a['element']);}),_0x33a60a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x7d3234['focus'](),_0x7d3234['checkIfScrollable']();const _0x367df0=(_0x5c7294,_0x300afe)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x300afe();};_0x7d3234['keystrokes']['set']('Esc',_0x367df0),_0x7d3234['keystrokes']['set']('Shift+Tab',_0x367df0),_0x7d3234['keystrokes']['set']('Tab',(_0x114e39,_0x142b19)=>{!function(_0x319207){const _0x515c0a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x269df9=>_0x269df9+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x656ebd=[...document['body']['querySelectorAll'](_0x515c0a)]['filter'](_0x418fa9=>_0x418fa9===document['activeElement']||_0x418fa9['offsetWidth']+_0x418fa9['offsetHeight']>0x0)['sort']((_0x237fa5,_0x31f2ef)=>(_0x237fa5['tabIndex']||0x0)-(_0x31f2ef['tabIndex']||0x0)),_0x39e3ff=_0x656ebd['indexOf'](_0x319207),_0x4e7510=_0x656ebd[(_0x39e3ff+0x1)%_0x656ebd['length']];_0x4e7510&&_0x4e7510['focus']();}(this['view']['element']),this['hideDropdown'](),_0x142b19();}),_0x7d3234['focusTracker']['add'](this['view']['element']),_0x7d3234['focusTracker']['on']('change:isFocused',(_0x4b112f,_0x429eca,_0x30f9a8)=>{_0x30f9a8||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x39cb58{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
@@ -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':_0x84922a=>0x1!=_0x84922a}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x1e79ad=>0x1!=_0x1e79ad}};