@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.5 → 48.3.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Context as _0x300413,ContextPlugin as _0x3c12a8,PendingActions as _0x15032a,Plugin as _0x334777}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x206e44,Collection as _0xe676b9,DomEmitterMixin as _0x3def01,KeystrokeHandler as _0x4acf94,global as _0x50bb92,uid as _0x36a117,version as _0x50f32d}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x439950,BodyCollection as _0x4acfe4,LabelView as _0x42795,ListItemView as _0x21f6e8,ListView as _0x18c9ed,Notification as _0x58bc3a,View as _0x3fb656,clickOutsideHandler as _0x216276}from'@ckeditor/ckeditor5-ui';import{History as _0x51009c,InsertOperation as _0x35f3ab,MarkerOperation as _0x411b37,ModelLiveRange as _0x15607a,NoOperation as _0x18f097,OperationFactory as _0x1436e4,RootAttributeOperation as _0x13c8c6,transformOperationSets as _0x494b49}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x313778}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0xad3446,CommentsService as _0x4fa428,EditorService as _0x1850e4,RevisionHistoryService as _0x5ce271,TrackChangesService as _0x10b7b0,User as _0x33a205,WEB_SOCKET_GATEWAY_STATES as _0x585a07,WebSocketGateway as _0x129555}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x44a44e,Users as _0x121396}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x4ed3e2}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x2a293f,TrackChangesEditing as _0x418122}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x4e5806,CommentsEditing as _0x59e8f7,CommentsRepository as _0x52d7db}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x1757ab}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x398bc6}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x3c12a8{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x129555)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x313778,_0x58bc3a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x599ec9){super(_0x599ec9),this['set']('state',_0x585a07['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3def01())();}['init'](){const _0x2a9fe4=this['context'],_0x24be5f=_0x2a9fe4['plugins']['get'](_0x313778),_0x7ef446=_0x2a9fe4['plugins']['get'](_0x58bc3a);if(!_0x24be5f['token'])throw new _0x206e44('websocketgateway-missing-token',this);if(!_0x24be5f['webSocketUrl'])throw new _0x206e44('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),WebSocketGateway['WebSocketGateway']['connect'](_0x24be5f['token'],_0x24be5f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x251588=>{if(this['connection']=_0x251588,this['bind']('state')['to'](_0x251588,'state',this,'_isBrowserOffline',(_0x34eaf0,_0x198afb)=>('connected'!==_0x34eaf0&&(this['_shouldPluginsReconnect']=!0x0),_0x198afb||_0x34eaf0!==_0x585a07['CONNECTED']?_0x585a07['DISCONNECTED']:this['state']==_0x585a07['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x585a07['CONNECTING']):_0x585a07['CONNECTED'])),this['connection']['on']('error',(_0x289bdd,_0xb4d11b)=>{if('limitExceeded'!==_0xb4d11b['code'])throw console['error'](_0xb4d11b),new _0x206e44('cloudservices-init',null,{'originalError':_0xb4d11b});_0x7ef446['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'});}),!_0x251588['me'])return new Promise(_0x5a0c84=>_0x251588['on']('change:me',_0x5a0c84));})['catch'](_0x36498f=>{throw console['error'](_0x36498f),new _0x206e44('cloudservices-init',null,{'originalError':_0x36498f});});}['addToReconnectionStack'](_0xad0820){if('function'!=typeof _0xad0820['reconnect'])throw new _0x206e44('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xad0820))throw new _0x206e44('websocketgateway-plugin-already-registered',this,{'name':_0xad0820['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xad0820);}['removeFromReconnectionStack'](_0x436dcb){this['_reconnectionStack']['delete'](_0x436dcb);}['isInReconnectionStack'](_0x1a7a2e){return this['_reconnectionStack']['has'](_0x1a7a2e);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1b9bb4=>_0x1b9bb4['reconnect']())))['then'](()=>this['state']=_0x585a07['CONNECTED'])['catch'](_0x2bd6f0=>{throw console['error'](_0x2bd6f0),new _0x206e44('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x585a07['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x3c12a8{['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,_0x121396];}constructor(_0x1b51b3){super(_0x1b51b3),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xe676b9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x121396);}['init'](){const _0x27cad4=this['context']['plugins']['get'](z);this['listenTo'](_0x27cad4,'change:state',(_0x595f40,_0x5d8527,_0x2b5060)=>{if('connected'!==_0x2b5060)this['channelSessions']['forEach'](_0x4c04e2=>_0x4c04e2['clear']()),this['channelConnectedUsers']['forEach'](_0x10691b=>_0x10691b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x39297f,_0x2299a9]of this['_registeredSessions'])for(const _0x53396c of _0x2299a9)this['_handleSessionAdd'](_0x39297f,_0x53396c);}}),this['_createUser'](_0x27cad4['connection']['me'],!0x0);}['register'](_0x208532,_0x43b0cc){if(this['_registeredSessions']['has'](_0x208532))throw new _0x206e44('sessions-register-already-registered',null,{'channelId':_0x208532});this['_registeredSessions']['set'](_0x208532,_0x43b0cc),this['channelSessions']['set'](_0x208532,new _0xe676b9()),this['channelConnectedUsers']['set'](_0x208532,new _0xe676b9()),this['listenTo'](_0x43b0cc,'add',(_0x39981d,_0x5077d7)=>this['_handleSessionAdd'](_0x208532,_0x5077d7)),this['listenTo'](_0x43b0cc,'remove',(_0x407831,_0x226444)=>this['_handleSessionRemove'](_0x208532,_0x226444));for(const _0x38e5ec of _0x43b0cc)this['_handleSessionAdd'](_0x208532,_0x38e5ec);}['unregister'](_0x53057a){if(!this['_registeredSessions']['has'](_0x53057a))throw new _0x206e44('sessions-unregister-not-exist',null,{'channelId':_0x53057a});const _0x55d089=this['_registeredSessions']['get'](_0x53057a);this['stopListening'](_0x55d089);for(const _0x53c1b0 of _0x55d089)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x53057a,_0x53c1b0);this['_registeredSessions']['delete'](_0x53057a),this['channelSessions']['delete'](_0x53057a),this['channelConnectedUsers']['delete'](_0x53057a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0xf9c3cc){for(const _0x42c419 of this['channelSessions']['values']())for(const _0x51017f of _0x42c419)if(_0x51017f['id']===_0xf9c3cc)return _0x51017f['user'];}['getUserSessions'](_0x231d71,_0x1378bc){const _0x1b4872=_0x1378bc?[this['channelSessions']['get'](_0x1378bc)]:this['channelSessions']['values'](),_0x39ff0d=new Set();for(const _0x23540b of _0x1b4872)for(const _0xe69123 of _0x23540b)_0xe69123['user']['id']===_0x231d71['id']&&_0x39ff0d['add'](_0xe69123['id']);return _0x39ff0d;}['getUserRole'](_0x3f402){for(const _0xc730e0 of this['channelSessions']['values']())for(const _0x395376 of _0xc730e0)if(_0x395376['user']===_0x3f402)return _0x395376['role'];}['_handleSessionAdd'](_0x52dc2d,_0xa7763a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xd3831=_0xa7763a['user'],_0x25f4c6=this['_users']['getUser'](_0xd3831['id'])||this['_createUser'](_0xd3831),_0x5dcac5=Object['assign']({},_0xa7763a,{'user':_0x25f4c6});if(this['channelSessions']['get'](_0x52dc2d)['add'](_0x5dcac5),!_0xd3831['hiddenInPresenceList']){const _0x27c786=this['channelConnectedUsers']['get'](_0x52dc2d);_0x27c786['has'](_0x25f4c6['id'])||_0x27c786['add'](_0x25f4c6),this['allConnectedUsers']['has'](_0x25f4c6['id'])||_0xd3831['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x25f4c6,_0x25f4c6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x52dc2d,{'channelId':_0x52dc2d,'session':_0x5dcac5});}['_handleSessionRemove'](_0x1ff18c,_0x188fb6){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3cd6d8=this['channelConnectedUsers']['get'](_0x1ff18c),_0x2afc74=_0x188fb6['user'];_0x2afc74['id']&&(this['channelSessions']['get'](_0x1ff18c)['remove'](_0x188fb6['id']),_0x3cd6d8['has'](_0x2afc74['id'])&&!this['getUserSessions'](_0x2afc74,_0x1ff18c)['size']&&_0x3cd6d8['remove'](_0x2afc74['id']),this['allConnectedUsers']['get'](_0x2afc74['id'])&&!this['getUserSessions'](_0x2afc74)['size']&&this['allConnectedUsers']['remove'](_0x2afc74['id']));}['_createUser'](_0x200fca,_0x4f2373){const _0x4cde2c=this['_users']['addUser'](_0x200fca);return _0x4f2373&&this['_users']['defineMe'](_0x200fca['id']),_0x4cde2c['orderNumber']=this['_uniqueUsersCount']++,_0x4cde2c;}},K=class extends _0x334777{['_domEmitter']=new(_0x3def01())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xc32211=this['editor'],_0x261755=_0xc32211['plugins']['get'](Y);_0xc32211['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1b0510,{writer:_0x45c26c})=>function(_0x2d3075,_0x12136d,_0x535e90,_0x4bdc80){const _0x5c64a8=_0x2d3075['markerName']['split'](':')[0x2],_0x225557=_0x535e90['getUserBySessionId'](_0x5c64a8);if(!_0x225557||_0x5c64a8===_0x535e90['mySessionId'])return;if(!_0x4bdc80['model']['schema']['checkChild'](_0x2d3075['markerRange']['start'],'$text'))return;const _0x305164={'class':'ck-user__marker\x20'+_0x225557['color']['getMarkerClass'](),'style':Q(_0x225557),'data-name':_0x225557['name'],'data-session-id':_0x5c64a8},_0x2613a2=_0x4bdc80['model']['markers']['get'](_0x2d3075['markerName'])['getStart'](),_0x113179=_0x2613a2['nodeAfter'],_0x4ca9aa=_0x4bdc80['model']['schema'];if(_0x113179&&_0x4ca9aa['isObject'](_0x113179)&&_0x4ca9aa['isInline'](_0x113179)&&!_0x4bdc80['model']['markers']['get']('user:range:'+_0x5c64a8)['getRange']()['isCollapsed'])return;const _0x2cb70d=_0x2613a2['parent'];return _0x4bdc80['model']['schema']['isLimit'](_0x2cb70d)&&!_0x4bdc80['model']['hasContent'](_0x2cb70d)&&(_0x305164['contenteditable']=!0x1),function(_0x27228a,_0x32f5a6,_0x50c053){const _0xc8ce2e=_0x27228a['createUIElement']('span',_0x32f5a6);return _0x27228a['setCustomProperty']('userPositionMarker',!0x0,_0xc8ce2e),_0xc8ce2e['render']=function(_0x52e172){const _0x4c9060=this['toDomElement'](_0x52e172),_0x3a1939=document['createElement']('span');return _0x3a1939['classList']['add']('ck-user__marker-tooltip'),_0x3a1939['setAttribute']('contenteditable','false'),_0x3a1939['setAttribute']('spellcheck','false'),_0x3a1939['textContent']=_0x50c053['name'],_0x4c9060['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3a1939['outerHTML']+'⁠',_0x4c9060['addEventListener']('mouseenter',()=>{_0x4c9060['classList']['add']('ck-user__marker_hovered');}),_0x4c9060['addEventListener']('mouseleave',()=>{_0x4c9060['classList']['remove']('ck-user__marker_hovered');}),_0x4c9060;},_0xc8ce2e['isSimilar']=function(_0x260090){return!(!this['getCustomProperty']('userPositionMarker')||!_0x260090['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x260090['getAttribute']('data-session-id'));},_0xc8ce2e;}(_0x12136d,_0x305164,_0x225557);}(_0x1b0510,_0x45c26c,_0x261755,_0xc32211)}),_0xc32211['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x190569=>function(_0x3fe495,_0x1f0615){const _0x203ec2=_0x3fe495['markerName']['split'](':')[0x2];if(_0x203ec2===_0x1f0615['mySessionId'])return null;const _0x5641e9=_0x1f0615['getUserBySessionId'](_0x203ec2);return _0x5641e9?{'id':_0x203ec2,'classes':['ck-user__selection',_0x5641e9['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5641e9),'data-session-id':_0x203ec2},'priority':0x7d0+_0x5641e9['orderNumber']}:{'id':_0x203ec2,'classes':[]};}(_0x190569,_0x261755)}),function(_0x12c019){const _0x245736=_0x12c019['model'],_0x96ee2e=new Map(),_0x3e7f2e=_0x12c019['plugins']['get'](Y);_0x245736['markers']['on']('update:user:range',(_0x44fba5,_0x3cb097,_0x46fc2a,_0x1d9fed)=>{if(!_0x1d9fed&&_0x96ee2e['get'](_0x3cb097['name']))return _0x96ee2e['get'](_0x3cb097['name'])['detach'](),void _0x96ee2e['delete'](_0x3cb097['name']);const _0x14fe6a=_0x3cb097['name']['split'](':')[0x2];if(_0x14fe6a===_0x3e7f2e['mySessionId'])return;const _0x4a01a9='user:position:'+_0x14fe6a;_0x245736['markers']['has'](_0x4a01a9)&&_0x12c019['editing']['reconvertMarker'](_0x4a01a9),_0x3cb097['on']('change:range',(_0x4b5559,_0x30a564,_0x3c15bd)=>{if('$graveyard'!=_0x30a564['root']['rootName']&&'$graveyard'==_0x3cb097['getRange']()['root']['rootName']&&!_0x96ee2e['has'](_0x3cb097['name'])){const _0x2b359a=_0x245736['schema']['getNearestSelectionRange'](_0x3c15bd['deletionPosition']);if(_0x2b359a){const _0x5c8af3=_0x15607a['fromRange'](_0x2b359a);_0x96ee2e['set'](_0x3cb097['name'],_0x5c8af3),_0x5c8af3['on']('change:range',(_0x243036,_0x43e96b,_0x4187e3)=>{if('$graveyard'==_0x5c8af3['root']['rootName']){const _0x50eb9b=_0x245736['schema']['getNearestSelectionRange'](_0x4187e3['deletionPosition']);_0x50eb9b?(_0x5c8af3['start']=_0x50eb9b['start'],_0x5c8af3['end']=_0x50eb9b['end']):(_0x96ee2e['delete'](_0x3cb097['name']),_0x5c8af3['detach']());}});}}});}),_0x245736['document']['on']('change',()=>{_0x96ee2e['size']>0x0&&_0x245736['enqueueChange']({'isUndoable':!0x1},_0x4bb98a=>{for(const [_0x59923f,_0x13c246]of _0x96ee2e)'$graveyard'==_0x245736['markers']['get'](_0x59923f)['getRange']()['root']['rootName']&&(J(_0x59923f['split'](':')[0x2],_0x13c246['toRange'](),_0x245736,_0x4bb98a),_0x13c246['detach']());_0x96ee2e['clear']();});});}(_0xc32211),this['_domEmitter']['listenTo'](_0x50bb92['document'],'keydown',(_0x290af6,{key:_0x3d7c59})=>{'Escape'===_0x3d7c59&&function(_0x4758b7){_0x4758b7['editing']['view']['change'](_0x534131=>{for(const _0x12fc9d of _0x4758b7['model']['markers']){if(!_0x12fc9d['name']['startsWith']('user:position'))continue;const _0x5ad455=_0x4758b7['editing']['mapper']['markerNameToElements'](_0x12fc9d['name']);if(_0x5ad455){for(const _0x4120a2 of _0x5ad455)_0x534131['removeClass']('ck-user__marker_hovered',_0x4120a2);}}});}(_0xc32211);},{'useCapture':!0x0});}['afterInit'](){const _0x39fa58=this['editor'],_0x4dcc4f=_0x39fa58['commands']['get']('undo');_0x4dcc4f&&_0x39fa58['model']['on']('applyOperation',(_0x4acb23,_0x242bd0)=>{const _0x51c132=_0x242bd0[0x0];if(!_0x51c132['isDocumentOperation'])return;if('marker'!=_0x51c132['type']||!_0x51c132['name']['startsWith']('user:'))return;const _0xa7b2ac=_0x51c132['batch'];_0x4dcc4f['_createdBatches']['has'](_0xa7b2ac)&&(_0x51c132['newRange']=_0x51c132['oldRange']?_0x39fa58['model']['createRange'](_0x51c132['oldRange']['start'],_0x51c132['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3ab5fe=this['editor'],_0x474bb9=_0x3ab5fe['model']['document'],_0x5650bc=_0x3ab5fe['plugins']['get'](Y);_0x3ab5fe['model']['enqueueChange']({'isUndoable':!0x1},_0x493304=>{const _0xa40456='user:range:'+_0x5650bc['mySessionId'],_0x239794='user:position:'+_0x5650bc['mySessionId'],_0x5b66dd=_0x3ab5fe['model']['markers']['has'](_0xa40456);_0x3ab5fe['editing']['view']['hasDomSelection']?J(_0x5650bc['mySessionId'],_0x474bb9['selection']['getFirstRange'](),_0x3ab5fe['model'],_0x493304):_0x5b66dd&&(_0x493304['removeMarker'](_0xa40456),_0x493304['removeMarker'](_0x239794));});}};function J(_0x3617ac,_0x17eaf4,_0x238dc8,_0x264681){const _0x209e05='user:range:'+_0x3617ac,_0x20c462='user:position:'+_0x3617ac,_0xca7aaa=_0x17eaf4['getContainedElement']();let _0x23105b=_0x17eaf4['start'];if(_0xca7aaa&&_0xca7aaa['is']('element','tableCell')){const _0x104893=function(_0x44cc11,_0x100049){for(const _0x4d13b3 of _0x44cc11['getPositions']())if(_0x100049['schema']['checkChild'](_0x4d13b3,'$text'))return _0x4d13b3;}(_0x17eaf4,_0x238dc8);_0x104893&&(_0x23105b=_0x104893,_0x17eaf4=_0x264681['createRange'](_0x23105b));}const _0xe170f7=_0x264681['createRange'](_0x23105b);_0x238dc8['markers']['has'](_0x209e05)?(_0x264681['updateMarker'](_0x209e05,{'range':_0x17eaf4}),_0x264681['updateMarker'](_0x20c462,{'range':_0xe170f7})):(_0x264681['addMarker'](_0x209e05,{'range':_0x17eaf4,'usingOperation':!0x0}),_0x264681['addMarker'](_0x20c462,{'range':_0xe170f7,'usingOperation':!0x0}));}function Q(_0x55fed6){return'--ck-user-color:'+_0x55fed6['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x55fed6['color']['getColorAlphaVariable']()+';';}function X(_0x4b99f5,_0x4a7995,_0x3d7e3b){const _0x3d7d82=_0x4b99f5['t'],t=_0x4b99f5['t'];switch(_0x4a7995){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 _0x3d7d82({'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'},_0x3d7e3b);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x334777{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0xad3446)());['_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,_0x15032a,_0x121396,_0x58bc3a];}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 _0x2f4d45=this['serverHistory']['getOperations']();for(let _0x1c036f=_0x2f4d45['length']-0x1;_0x1c036f>=0x0;_0x1c036f--){const _0x4d6f74=_0x2f4d45[_0x1c036f];if(!this['_disconnectionOperations']['has'](_0x4d6f74))return _0x4d6f74['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x47487e){if(super(_0x47487e),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x51009c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x206e44('collaboration-missing-channelid',this);const _0x1af61f=_0x47487e['config']['get']('cloudServices.bundleVersion')||_0x50f32d;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x1af61f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4ed3e2(),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 _0x2f9085=this['editor'],_0x34edfa=_0x2f9085['plugins']['get'](_0x121396),_0x2328b3=_0x2f9085['plugins']['get'](z);this['listenTo'](_0x34edfa,'getOperationAuthor',(_0x433457,_0x7ffba8)=>{const _0xbfe28c=_0x7ffba8[0x0];_0xbfe28c['_authorId']&&(_0x433457['return']=_0x34edfa['getUser'](_0xbfe28c['_authorId']),_0x433457['stop']()),null===_0xbfe28c['_authorId']&&(_0x433457['return']=null,_0x433457['stop']());},{'priority':'high'}),this['listenTo'](_0x2f9085['model']['document']['selection'],'change:range',(_0x3a88db,_0x1227e3)=>{_0x1227e3['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2f9085['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2f9085['model']['on']('applyOperation',(_0x58a5b5,_0x673624)=>{const _0x4c6604=_0x673624[0x0];_0x4c6604['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4c6604),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2328b3,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x347f04,_0x45082f,_0x3b076e)=>'connected'===_0x347f04&&!_0x45082f&&!_0x3b076e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2f9085['disableReadOnlyMode']('rtc-offline'):_0x2f9085['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2f9085['disableReadOnlyMode']('rtc-offline'):_0x2f9085['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3edead=this['editor']['plugins']['get'](Y),_0x3c76e0=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x3edead['unregister'](this['_channelId']);const _0x263733=await this['_service']['reconnect'](_0x3c76e0['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x263733)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x47bec5=await this['_service']['getConnectedSessions']();_0x3edead['register'](this['_channelId'],_0x47bec5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1705d9){if(function(_0x11fac3){return'404'===_0x11fac3['code'];}(_0x1705d9)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2eb009){return'409'===_0x2eb009['code'];}(_0x1705d9)){const _0x162419=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'](_0x162419);}else{if(!(_0x1705d9 instanceof et))throw _0x1705d9;this['_handleReconnectionError']();}}}}['destroy'](){const _0x2005ca=this['editor']['plugins']['get'](z),_0x3aad56=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3aad56['channelSessions']['has'](this['_channelId'])&&_0x3aad56['unregister'](this['_channelId']),_0x2005ca['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2bac0c){if(this['sessionId']!==_0x2bac0c['sessionId']&&this['_lastSyncedOperationId']!==_0x2bac0c['lastOperationId'])throw new et();return this['sessionId']=_0x2bac0c['sessionId'],this['_handleServerResponse']([],{..._0x2bac0c,'wereChangesApplied':!0x1,'data':_0x2bac0c['data']},'reconnect');}async['_connectService'](_0x5a94ed,_0x1b393e=!0x1){const {connection:_0x2f52f7}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x2f52f7,this['_channelId'])['then'](_0xff9aef=>this['_initSessionsHandling'](_0xff9aef))['catch'](_0x26264b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x26264b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4c0ce6,_0x2341b7)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2341b7);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x2ccf91=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a94ed);this['_isPendingUpdate']=!0x0;const _0x367a48=await this['_service']['connect'](_0x2f52f7,this['_compressOperations'](_0x5a94ed),_0x2ccf91);if(this['sessionId']=_0x367a48['sessionId'],_0x1b393e){if(!_0x367a48['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x367a48['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5a94ed,_0x367a48,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x367a48,_0x5a94ed);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4d56f0=this['editor']['plugins']['get'](Y),_0x259c65=this['editor']['plugins']['get'](K),_0xe5e681=_0x4d56f0['channelSessions']['get'](this['_channelId']);_0xe5e681&&_0xe5e681['length']>0x1?_0x259c65['createUserMarkerOperations']():this['listenTo'](_0x4d56f0,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4d56f0['channelSessions']['get'](this['_channelId'])['length']&&_0x259c65['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xf28253,_0x366d9a,_0x53aec2,_0x8c6f5a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x366d9a){const _0x4d3de4=this['_decompressOperations'](_0x53aec2,_0x8c6f5a);await this['_fetchMissingUsers'](_0x4d3de4),this['_handleExternalOperations'](_0x4d3de4,_0x366d9a,_0x53aec2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2db474}=this['editor'];let _0x466815;try{_0x466815=await this['_service']['getDocumentDetails']();}catch{const _0x2fa22c=X(_0x2db474,'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'](_0x2fa22c);}const _0x303fea=_0x466815['currentDocumentSession']||_0x466815['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x303fea['lastOperationId']){const _0x5657ac=X(_0x2db474,'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'](_0x5657ac);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x40d7eb=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x40d7eb['connection']||'connected'!==_0x40d7eb['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x355d00=this['editor']['plugins']['get'](Y);_0x355d00['channelSessions']['has'](this['_channelId'])&&_0x355d00['unregister'](this['_channelId']),_0x40d7eb['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x29dd67){const _0x2ec673=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2ec673,'sessionAdd:'+this['_channelId'],(_0x1aadf8,{session:_0x4b998b})=>{if(_0x4b998b['id']===_0x2ec673['mySessionId']){_0x1aadf8['off']();const _0x451568=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1ee4f3=_0x4b998b['permissions'];_0x451568&&_0x451568['isEnabled']&&(_0x1ee4f3=_0x1ee4f3['filter'](_0x87e127=>'document:write'!==_0x87e127)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1ee4f3,this['_channelId']);}}),_0x2ec673['register'](this['_channelId'],_0x29dd67);}['_initThrowingOnDataSet'](){const _0x3d13c1=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5a41f2)=>{if(!_0x5a41f2[_0x5a41f2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x206e44('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3d13c1['apply'](this['editor']['data'],_0x5a41f2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x386013,[_0x381572])=>{if(this['_document']['version'])throw new _0x206e44('realtimecollaborationclient-init-document-already-initialized',this);_0x386013['stop'](),this['_setPendingAction']();const _0x53cfb7=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x3efe9a])=>!_0x3efe9a['lazyLoad'])['map'](([_0x1a02fd,_0x2e109b])=>[_0x1a02fd,_0x2e109b['modelAttributes']||{}])),_0x16e252=this['_getOperationsFromInitData'](_0x381572,_0x53cfb7);0x0==_0x16e252['length']&&_0x16e252['push'](new _0x18f097(0x0)),_0x386013['return']=this['_connectService'](_0x16e252)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1a2e20=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1a2e20))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x334e71,[_0x20237b,_0x81c56e])=>{_0x334e71['stop']();const _0x3633ab=this['editor']['model']['document']['getRoot'](_0x20237b);if(!this['_knownRootNames']['has'](_0x20237b)){const _0x359c4e=_0x81c56e&&_0x81c56e['data']?_0x81c56e['data']:'',_0x21637e=_0x81c56e&&_0x81c56e['attributes']?_0x81c56e['attributes']:{};await this['_loadRoot'](_0x20237b,_0x359c4e,_0x21637e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3633ab['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3633ab);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x57c05a){const _0x4ca995=this['editor']['plugins']['get'](_0x121396),{connection:_0x54edb1}=this['editor']['plugins']['get'](z),_0x1113f6=new Set();for(const _0x28fd8a of _0x57c05a){const _0x3afe11=_0x28fd8a['_authorId'];_0x3afe11&&!_0x4ca995['getUser'](_0x3afe11)&&_0x1113f6['add'](_0x3afe11);}if(0x0===_0x1113f6['size'])return;const _0x3815a6=await _0x33a205['getMany'](_0x54edb1,Array['from'](_0x1113f6));for(const _0x356e18 of _0x3815a6)_0x4ca995['getUser'](_0x356e18['id'])||_0x4ca995['addUser'](_0x356e18);}['_getOperationsFromInitData'](_0x266120,_0x3475f7={}){const _0x14eb9f=this['editor']['model'],_0xb68ba4=[];let _0x4c73f4=0x0;const _0x457521='string'==typeof _0x266120?{'main':_0x266120}:_0x266120;for(const _0x43a813 of Object['keys'](_0x457521)){if(!this['_document']['roots']['has'](_0x43a813))throw new _0x206e44('realtimecollaborationclient-init-non-existent-root',this);const _0x42d22c=this['_document']['getRoot'](_0x43a813),_0xebbf5e=this['editor']['data']['parse'](_0x457521[_0x43a813],_0x42d22c),_0x6f314c=new _0x35f3ab(_0x14eb9f['createPositionAt'](_0x42d22c,0x0),_0xebbf5e,_0x4c73f4++);_0xb68ba4['push'](_0x6f314c);for(const [_0x591196,_0x5edc0d]of _0xebbf5e['markers']){const _0x460b4d=new _0x411b37(_0x591196,null,_0x14eb9f['createRange'](_0x14eb9f['createPositionFromPath'](_0x42d22c,_0x5edc0d['start']['path']['slice']()),_0x14eb9f['createPositionFromPath'](_0x42d22c,_0x5edc0d['end']['path']['slice']())),_0x14eb9f['markers'],!0x0,_0x4c73f4++);_0xb68ba4['push'](_0x460b4d);}}if(_0x3475f7)for(const [_0x30992d,_0x1772e7]of Object['entries'](_0x3475f7)){const _0x4ec43f=_0x14eb9f['document']['getRoot'](_0x30992d);if(!_0x4ec43f)throw new _0x206e44('multi-root-editor-root-attributes-no-root',null);for(const [_0x435b5d,_0x45ecf6]of Object['entries'](_0x1772e7))if(null!==_0x45ecf6){const _0x474ba2=new _0x13c8c6(_0x4ec43f,_0x435b5d,null,_0x45ecf6,_0x4c73f4++);_0xb68ba4['push'](_0x474ba2);}}return _0xb68ba4;}async['_loadRoot'](_0x27918a,_0x216f15,_0xb9d377){this['_getOperationsFromInitData']({[_0x27918a]:_0x216f15},{[_0x27918a]:_0xb9d377})['forEach']((_0x11ebb6,_0x3edbea)=>{_0x11ebb6['baseVersion']=this['_document']['version']+_0x3edbea,_0x11ebb6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x11ebb6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1ad0f9,_0x698ebe){let _0x2928f6;this['_offset']=_0x1ad0f9['offset'];const _0x541738=_0x1ad0f9['wereChangesApplied']&&!_0x1ad0f9['initData'],_0x24cdea=_0x541738?0x0:_0x1ad0f9['data']['baseVersion'];if(_0x698ebe['forEach'](_0x5e4203=>{_0x5e4203['_isInit']=!0x0,_0x5e4203['createdAt']=_0x1ad0f9['sessionCreatedAt'],_0x5e4203['_authorId']=null;}),_0x541738)_0x2928f6=_0x698ebe,this['_applyOperationsSet'](_0x2928f6,_0x541738);else{if(_0x1ad0f9['initData']){const _0x35cf38=this['_getOperationsFromInitData'](_0x1ad0f9['initData']);this['_document']['history']['version']=-_0x35cf38['length'],_0x35cf38['forEach'](_0x342c56=>{_0x342c56['baseVersion']-=_0x35cf38['length'],_0x342c56['createdAt']=_0x1ad0f9['sessionCreatedAt'],_0x342c56['_isInit']=!0x0,_0x342c56['_authorId']=null;}),this['_applyOperationsSet'](_0x35cf38,!0x0),this['serverHistory']['version']=-_0x35cf38['length']+this['_offset'],this['_updateServerHistory'](_0x35cf38);}this['_document']['history']['version']=_0x24cdea,_0x2928f6=this['_decompressOperations'](_0x1ad0f9['data'],_0x1ad0f9['metadata']),await this['_fetchMissingUsers'](_0x2928f6),this['_applyOperationsSet'](_0x2928f6,_0x541738);}_0x1ad0f9['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2928f6,_0x1ad0f9['lastOperationId']),this['_lastSyncedOperationId']=_0x1ad0f9['lastOperationId']),this['serverHistory']['version']=_0x24cdea+this['_offset'],this['_updateServerHistory'](_0x2928f6),_0x698ebe['filter'](_0x528e34=>{const _0x25c287=this['_getAffectedRoot'](_0x528e34);return _0x25c287&&!this['_knownRootNames']['has'](_0x25c287);})['forEach']((_0x183f08,_0x174f8f)=>{_0x183f08['baseVersion']=this['_document']['version']+_0x174f8f,this['_saveOperationInBuffer'](_0x183f08);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2f29db,_0x14778d){const _0x298155=_0x14778d&&_0x14778d['message'];if(_0x298155&&_0x298155['startsWith']('realtimecollaborationclient'))throw _0x14778d;const _0x18295e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x18295e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x206e44(_0x2f29db,this['editor'],_0x298155?{'originalError':_0x298155}:void 0x0);}['_saveOperationInBuffer'](_0x46ee76){this['_knownOperations']['has'](_0x46ee76)||(this['_knownOperations']['add'](_0x46ee76),this['_bufferedOperations']['push'](_0x46ee76),this['_pendingAction']||'marker'==_0x46ee76['type']&&!_0x46ee76['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x774f17=!0x1){!_0x774f17&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xa165dd=>{_0xa165dd&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xb88174=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xbecf42){return _0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xb88174)||this['_crash'](_0xb88174['message'],_0xb88174);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3945df=>{this['on']('change:_isPendingUpdate',()=>{_0x3945df();});});}async['_sendBufferedOperations'](){const _0x57cbe0=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x57cbe0['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5971fa=[...this['_bufferedOperations']];for(const _0x40b26f of _0x5971fa)_0x40b26f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x40b26f);const _0x23be84=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5971fa),_0x331bad=Z++,_0x31cf88=this['_compressOperations'](_0x5971fa),_0x148c32=await this['_service']['sendOperations'](_0x31cf88,_0x31cf88['baseVersion'],_0x23be84);try{return await this['_handleServerResponse'](_0x5971fa,_0x148c32,_0x331bad);}catch(_0xbf1856){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xbf1856);}}async['_handleServerResponse'](_0x3ed820,_0x2b394d,_0x131d3c){if('error'in _0x2b394d)throw _0x2b394d['error'];let _0x3606bd=!0x1;if(_0x2b394d['wereChangesApplied']){_0x2b394d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2b394d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9af649=>!_0x3ed820['includes'](_0x9af649));for(const _0x51b6ce of _0x3ed820)_0x51b6ce['createdAt']='lastOperationAcceptedAt'in _0x2b394d&&_0x2b394d['lastOperationAcceptedAt']||void 0x0;st(_0x3ed820,_0x2b394d['version']-_0x3ed820['length']),this['_updateServerHistory'](_0x3ed820);const _0x4582ac=_0x3ed820['filter'](_0x49bc82=>{if(!_0x49bc82['_isInit'])return!0x1;const _0x238cbe=this['_getAffectedRoot'](_0x49bc82);return _0x238cbe&&!this['_knownRootNames']['has'](_0x238cbe);});st(_0x4582ac,this['_document']['version']),this['_applyOperationsSet'](_0x4582ac),_0x3606bd=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x10230a=this['_decompressOperations'](_0x2b394d['data'],_0x2b394d['metadata'])['filter'](_0x4df80f=>_0x4df80f['baseVersion']>=this['_lastServerVersion']);_0x10230a['forEach'](_0x59d769=>this['_addKnownRoot'](_0x59d769)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3af00b=>!_0x3af00b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3af00b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x10230a),_0x3606bd=this['_handleExternalOperations'](_0x10230a,_0x2b394d['version'],_0x2b394d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3606bd?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x482c1e,_0x30da50,_0x1d0717){try{const _0x4a0dff={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xfa0e12,operationsB:_0x541950,originalOperations:_0x32fda5}=_0x494b49(_0x482c1e,this['_bufferedOperations'],_0x4a0dff);st(_0xfa0e12,this['_document']['version']),st(_0x541950,_0x30da50);for(const _0x11ea67 of _0xfa0e12){const _0x84fdb9=_0x32fda5['get'](_0x11ea67);_0x84fdb9?(_0x11ea67['_authorId']=_0x84fdb9['_authorId'],'noop'!==_0x11ea67['type']&&(_0x11ea67['_aiSource']=_0x84fdb9['_aiSource'])):_0x11ea67['_authorId']=null;}for(const _0x551132 of _0x541950)'noop'!==_0x551132['type']&&(_0x551132['_aiSource']=_0x32fda5['get'](_0x551132)?.['_aiSource']);_0x1d0717&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x482c1e,_0x1d0717),this['_lastSyncedOperationId']=_0x1d0717),this['_bufferedOperations']=[..._0x541950],this['_applyOperationsSet'](_0xfa0e12),this['_updateServerHistory'](_0x482c1e);}catch(_0x9d1dba){return console['error'](_0x9d1dba),!0x1;}return!0x0;}['_applyOperationsSet'](_0x12211e,_0xbc13ad=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x28e723=>{for(const _0x15d43a of _0x12211e)this['_knownOperations']['add'](_0x15d43a),this['_addKnownRoot'](_0x15d43a),_0x28e723['batch']['addOperation'](_0x15d43a),this['editor']['model']['applyOperation'](_0x15d43a);});}['_addKnownRoot'](_0x1e59f3){const _0x3eae6a=this['_getAffectedRoot'](_0x1e59f3);_0x3eae6a&&this['_knownRootNames']['add'](_0x3eae6a);}['_getAffectedRoot'](_0xce2aea){let _0x58e9cd,_0x1eb6d3;switch(_0xce2aea['type']){case'insert':_0x58e9cd=_0xce2aea['position']['root'];break;case'marker':if(_0x1eb6d3=_0xce2aea['newRange'],!_0x1eb6d3)return null;_0x58e9cd=_0x1eb6d3['root'];break;case'addRootAttribute':_0x58e9cd=_0xce2aea['root'];break;case'addRoot':_0x58e9cd=_0xce2aea['affectedSelectable'];break;case'move':_0x58e9cd=_0xce2aea['targetPosition']['root'];break;default:return null;}return _0x58e9cd['rootName'];}['_updateServerHistory'](_0x313933){_0x313933['forEach'](_0x3788ae=>{const _0x21f27c=_0x3788ae['clone']();_0x21f27c['_authorId']=_0x3788ae['_authorId'],_0x21f27c['_isInit']=!!_0x3788ae['_isInit'],_0x21f27c['_aiSource']=_0x3788ae['_aiSource'],_0x21f27c['createdAt']=_0x3788ae['createdAt'],_0x21f27c['baseVersion']+=this['_offset'],_0x3788ae['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x21f27c),this['serverHistory']['addOperation'](_0x21f27c);});}['_handleReconnectionError'](_0x56fc82){const _0x3b30a2=this['editor']['plugins']['get']('Notification'),_0x559ded=this['editor']['locale'];_0x56fc82||(_0x56fc82=X(_0x559ded,'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.')),_0x3b30a2['showWarning'](_0x56fc82,{'title':X(_0x559ded,'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'](_0x15032a)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x15032a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x556630){const _0x4b1389=_0x556630['map'](_0x362e08=>_0x362e08['toJSON']());return this['_compressor']['compress'](_0x4b1389);}['_decompressOperations'](_0x47554f,_0x1fd9bd){return this['_compressor']['decompress'](_0x47554f)['map']((_0x59f327,_0x31775d)=>{const _0x259554='init'==_0x1fd9bd[_0x31775d]['type'];if('InsertOperation'==_0x59f327['__className']){const _0x35213b=_0x59f327['position']['root'];!this['_document']['getRoot'](_0x35213b)&&(this['_document']['createRoot']('$unknown',_0x35213b)['_isAttached']=!0x1);}else{if('RootOperation'==_0x59f327['__className']){const _0x56def7=this['_document']['getRoot'](_0x59f327['rootName']);_0x56def7&&'$unknown'==_0x56def7['name']&&_0x59f327['elementName']!=_0x56def7['name']&&(_0x56def7['name']=_0x59f327['elementName']);}}const _0x3d7276=_0x1436e4['fromJSON'](_0x59f327,this['_document']);return _0x3d7276['wasUndone']=_0x59f327['wasUndone'],_0x3d7276['_isInit']=_0x259554,_0x3d7276['_authorId']=_0x259554?null:_0x1fd9bd[_0x31775d]['userId'],_0x3d7276['_isDisconnection']='cs:removeUser'===_0x1fd9bd[_0x31775d]['type'],_0x3d7276['_aiSource']=_0x59f327['_aiSource']||void 0x0,_0x3d7276['createdAt']=_0x1fd9bd[_0x31775d]['createdAt'],_0x3d7276;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x184e85=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x184e85&&_0x184e85['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x3bd207,_0x5cd198){for(const _0x435930 of _0x3bd207)_0x435930['baseVersion']=_0x5cd198++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x45f7be){this['_ignoredOperations']=_0x45f7be,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x223167){let _0x4d2299=_0x223167['length'];for(;_0x4d2299--;){const _0x3f9924=_0x223167[_0x4d2299];if(!this['_ignoredOperations']['has'](_0x3f9924)){if(!this['_operationToId']['has'](_0x3f9924)){const _0x3d5c56=_0x36a117()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3f9924,_0x3d5c56);}return this['_operationToId']['get'](_0x3f9924);}}}['setIdForTheLastOperation'](_0x296768,_0x141da4){if(!_0x141da4)return;let _0x17462a=_0x296768['length'];for(;_0x17462a--;){const _0x19a541=_0x296768[_0x17462a];this['_ignoredOperations']['has'](_0x19a541)||this['_operationToId']['set'](_0x19a541,_0x141da4);}}},nt=class extends _0x334777{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x3c12a8{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x4fa428)());['_services'];static get['requires'](){return[z,_0x52d7db,Y,_0x121396];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x50670d){super(_0x50670d),this['_services']=new Map();}async['init'](){const _0x298a24=this['context'],_0xf45260=_0x298a24['plugins']['get'](_0x52d7db);if(_0x298a24['plugins']['get'](z)['addToReconnectionStack'](this),_0xf45260['adapter']={'addCommentThread':async({channelId:_0x6e0e43,threadId:_0x11ba2c,comments:_0x26b896,resolvedAt:_0x24fe77,resolvedBy:_0x34c7e2,context:_0x2febcd,attributes:_0x554fd4})=>{const _0x3b7eb3=await this['_getService'](_0x6e0e43)['addCommentThread']({'commentThreadId':_0x11ba2c,'comments':_0x26b896['map'](_0xa054f8=>function(_0x2efc2d,_0x3c2cfd,_0x4454f5){return{'commentThreadId':_0x4454f5,'commentId':_0x2efc2d['commentId'],'userId':_0x2efc2d['authorId'],'content':_0x2efc2d['content'],'documentId':_0x3c2cfd,'createdAt':_0x2efc2d['createdAt'],'attributes':_0x2efc2d['attributes']||{}};}(_0xa054f8,_0x6e0e43,_0x11ba2c)),'resolvedAt':_0x24fe77,'resolvedBy':_0x34c7e2,'context':_0x2febcd,'attributes':_0x554fd4})['catch'](ct);return{'threadId':_0x3b7eb3['commentThreadId'],'comments':_0x3b7eb3['comments']};},'getCommentThread':async({channelId:_0x3bde7f,threadId:_0x3783b3})=>{const _0x29cb39=await this['_getService'](_0x3bde7f)['getCommentThread'](_0x3783b3)['catch'](rt)['catch'](ct);return _0x29cb39?_0x29cb39['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x29cb39]),{'threadId':_0x29cb39['commentThreadId'],'comments':_0x29cb39['comments']['map'](at),'context':_0x29cb39['context'],'resolvedAt':_0x29cb39['resolvedAt'],'resolvedBy':_0x29cb39['resolvedBy'],'attributes':_0x29cb39['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x260568,threadId:_0xda0b4,context:_0x21cacc,unlinkedAt:_0x878dcf,attributes:_0x3ddb79})=>this['_getService'](_0x260568)['updateCommentThread']({'commentThreadId':_0xda0b4,'context':_0x21cacc,'attributes':_0x3ddb79,'unlinkedAt':_0x878dcf})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x4dcf3c,threadId:_0x5cac64})=>{const _0x5c06ed=await this['_getService'](_0x4dcf3c)['resolveCommentThread'](_0x5cac64)['catch'](rt)['catch'](ct);return{'threadId':_0x5c06ed['commentThreadId'],'resolvedAt':_0x5c06ed['resolvedAt'],'resolvedBy':_0x5c06ed['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4de819,threadId:_0x1527e1})=>this['_getService'](_0x4de819)['reopenCommentThread'](_0x1527e1)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5ed1d5,threadId:_0x155464})=>this['_getService'](_0x5ed1d5)['removeCommentThread'](_0x155464)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4430cf,threadId:_0xdb0753,commentId:_0x37de76,content:_0x2eecc4,attributes:_0x5185fd})=>this['_getService'](_0x4430cf)['addComment'](_0xdb0753,_0x37de76,_0x2eecc4,_0x5185fd)['catch'](ct),'updateComment':({channelId:_0x4f77e4,threadId:_0x4999c2,commentId:_0x5ce797,content:_0x5cab57,attributes:_0x35706a})=>this['_getService'](_0x4f77e4)['updateComment'](_0x4999c2,_0x5ce797,_0x5cab57,_0x35706a)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x457d2c,threadId:_0x57715b,commentId:_0x5aa6ae})=>this['_getService'](_0x457d2c)['removeComment'](_0x57715b,_0x5aa6ae)['catch'](rt)['catch'](ct)},_0x298a24 instanceof _0x300413){const _0x4aa4f9=_0x298a24['config']['get']('collaboration.channelId'),_0x4eda3a=_0x298a24['plugins']['get'](Y);await this['_setUpService'](_0x4aa4f9);const _0x29c592=await this['_services']['get'](_0x4aa4f9)['getConnectedSessions']();this['listenTo'](_0x4eda3a,'sessionAdd:'+_0x4aa4f9,(_0xbdfa55,{session:_0x3171ec})=>{_0x3171ec['id']===_0x4eda3a['mySessionId']&&(_0xbdfa55['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3171ec['permissions'],_0x4aa4f9));}),_0x4eda3a['register'](_0x4aa4f9,_0x29c592);}}async['_setUpService'](_0x158c0c){if(this['_services']['has'](_0x158c0c))throw new _0x206e44('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x158c0c});const _0x2f35b6=this['context']['plugins']['get'](_0x52d7db),_0x22bc5f=new CloudServicesCommentsAdapter['CommentsService'](_0x158c0c);this['_services']['set'](_0x158c0c,_0x22bc5f),this['listenTo'](_0x22bc5f,'commentThreadAdded',(_0x4fdeb5,_0xb96c25)=>{const {commentThreadId:_0x2ca890,documentId:_0x26bfec,context:_0x588cc8,attributes:_0x54e211,resolvedAt:_0x30427c,resolvedBy:_0x4d7316,comments:_0x379026}=_0xb96c25;_0x2f35b6['getCommentThread'](_0x2ca890)||_0x2f35b6['addCommentThread']({'threadId':_0x2ca890,'channelId':_0x26bfec,'comments':_0x379026?_0x379026['map'](at):[],'context':_0x588cc8,'attributes':_0x54e211,'resolvedAt':_0x30427c,'resolvedBy':_0x4d7316,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadUpdated',(_0x38d67c,{commentThreadId:_0x2a810f,documentId:_0x4346b0,context:_0x50cfe3,unlinkedAt:_0x1a7fc0,attributes:_0x145da2})=>{_0x2f35b6['getCommentThread'](_0x2a810f)&&_0x2f35b6['updateCommentThread']({'threadId':_0x2a810f,'channelId':_0x4346b0,'context':_0x50cfe3,'unlinkedAt':_0x1a7fc0,'attributes':_0x145da2,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadResolved',(_0x52fbcb,{commentThreadId:_0x5a4391,resolvedBy:_0x3bffbb,resolvedAt:_0x3f1d66})=>{const _0x3583c9=_0x2f35b6['getCommentThread'](_0x5a4391);_0x3583c9&&_0x3583c9['resolve']({'resolvedBy':_0x3bffbb,'resolvedAt':_0x3f1d66,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadReopened',(_0x3c065e,{commentThreadId:_0x5e8529})=>{const _0x19c870=_0x2f35b6['getCommentThread'](_0x5e8529);_0x19c870&&_0x19c870['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadRemoved',(_0x2051ac,{commentThreadId:_0x3d078c})=>{const _0x4b45e3=_0x2f35b6['getCommentThread'](_0x3d078c);_0x4b45e3&&_0x4b45e3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentAdded',(_0x2e1b4d,_0x4da9be)=>{const _0xdcae76=_0x4da9be['commentThreadId'],_0x34884d=_0x2f35b6['getCommentThread'](_0xdcae76);_0x34884d&&_0x34884d['addComment']({...at(_0x4da9be),'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentUpdated',(_0x466456,{commentThreadId:_0x26f8a0,commentId:_0x5db7ad,content:_0x5f2561,attributes:_0xde6604})=>{const _0x326564=_0x2f35b6['getCommentThread'](_0x26f8a0);if(_0x326564){const _0x22ae0b=_0x326564['getComment'](_0x5db7ad);_0x22ae0b&&_0x22ae0b['update']({'content':_0x5f2561,'attributes':_0xde6604,'isFromAdapter':!0x0});}}),this['listenTo'](_0x22bc5f,'commentRemoved',(_0x846c30,{commentThreadId:_0x5d9e5e,commentId:_0x1e256f})=>{const _0x49a167=_0x2f35b6['getCommentThread'](_0x5d9e5e);if(_0x49a167){const _0x2efb92=_0x49a167['getComment'](_0x1e256f);_0x2efb92&&_0x2efb92['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x22bc5f,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x158c0c),this['stopListening'](_0x22bc5f));}),await this['_connectService'](_0x158c0c);}['destroy'](){if(this['context']instanceof _0x300413){const _0x289b04=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x289b04)&&this['_terminateService'](_0x289b04);}}['_terminateService'](_0x551833){if(!this['_services']['has'](_0x551833))throw new _0x206e44('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x551833});this['_getService'](_0x551833)['disconnect'](),this['_services']['delete'](_0x551833);}async['reconnect'](){for(const _0x22b4cd of this['_services']['keys']())await this['_connectService'](_0x22b4cd);if(this['context']instanceof _0x300413){const _0x57e123=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x57e123)){const _0x2d7433=this['context']['plugins']['get'](Y);_0x2d7433['unregister'](_0x57e123);const _0x4bdb43=await this['_services']['get'](_0x57e123)['getConnectedSessions']();_0x2d7433['register'](_0x57e123,_0x4bdb43);}}}async['_connectService'](_0x1ddfb1){const {connection:_0x5037d0}=this['context']['plugins']['get'](z),_0x442c22=this['context']['plugins']['get'](_0x52d7db),_0x550016=await this['_services']['get'](_0x1ddfb1)['connect'](_0x5037d0);await this['_fetchMissingUsersForThreads'](_0x550016);const _0x33dbbc=new Set(Array['from'](_0x442c22['getCommentThreads']({'channelId':_0x1ddfb1}),_0x8d02d3=>_0x8d02d3['id']));for(const _0x3c5450 of _0x550016)_0x3c5450['deletedAt']||_0x33dbbc['delete'](_0x3c5450['commentThreadId']);for(const _0x2ee2ff of _0x33dbbc)_0x442c22['getCommentThread'](_0x2ee2ff)['remove']({'isFromAdapter':!0x0});for(const _0x3cea51 of _0x550016){let _0x63df39=_0x442c22['getCommentThread'](_0x3cea51['commentThreadId']);const {commentThreadId:_0x4cdca7,context:_0x34128f,attributes:_0x44b224,resolvedBy:_0x3976c0,resolvedAt:_0x140cf7,unlinkedAt:_0x5b4671,deletedAt:_0x4bad95}=_0x3cea51;if(_0x4bad95)continue;_0x63df39||(_0x63df39=_0x442c22['addCommentThread']({'channelId':_0x1ddfb1,'threadId':_0x4cdca7,'context':_0x34128f,'attributes':_0x44b224||{},'resolvedBy':_0x3976c0,'resolvedAt':_0x140cf7,'unlinkedAt':_0x5b4671,'isFromAdapter':!0x0}));const _0x39b5e5=new Set(Array['from'](_0x63df39['comments'],_0x4ad2d5=>_0x4ad2d5['id']));for(const _0x11d435 of _0x3cea51['comments'])_0x39b5e5['delete'](_0x11d435['commentId']);for(const _0x10f794 of _0x39b5e5)_0x63df39['getComment'](_0x10f794)['remove']({'isFromAdapter':!0x0});for(const _0x1551bb of _0x3cea51['comments']){const _0x7204f1=_0x63df39['getComment'](_0x1551bb['commentId']);_0x7204f1?_0x7204f1['content']!==_0x1551bb['content']&&_0x7204f1['update']({'content':_0x1551bb['content'],'isFromAdapter':!0x0}):_0x63df39['addComment'](Object['assign'](at(_0x1551bb),{'isFromAdapter':!0x0}));}}}['_getService'](_0x44d129){if(!this['_services']['has'](_0x44d129))throw new _0x206e44('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x44d129});return this['_services']['get'](_0x44d129);}async['_fetchMissingUsersForThreads'](_0x178597){const _0x4fe00b=this['context']['plugins']['get'](_0x121396),{connection:_0x489787}=this['context']['plugins']['get'](z),_0x3b102c=new Set();for(const {resolvedBy:_0x5ba150,comments:_0x21f5dc}of _0x178597){_0x5ba150&&!_0x4fe00b['getUser'](_0x5ba150)&&_0x3b102c['add'](_0x5ba150);for(const {userId:_0x46e7d3}of _0x21f5dc)_0x4fe00b['getUser'](_0x46e7d3)||_0x3b102c['add'](_0x46e7d3);}if(0x0===_0x3b102c['size'])return;const _0x2fc94e=await _0x33a205['getMany'](_0x489787,Array['from'](_0x3b102c));for(const _0x39f077 of _0x2fc94e)_0x4fe00b['getUser'](_0x39f077['id'])||_0x4fe00b['addUser'](_0x39f077);}};async function rt(_0x44f321){if('404'!==_0x44f321['code'])throw _0x44f321;}function ct(_0x520906){if((_0x56ebee=_0x520906)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x56ebee['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56ebee['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x56ebee;throw _0x520906;}function at(_0x190ac1){return{'threadId':_0x190ac1['commentThreadId'],'commentId':_0x190ac1['commentId'],'content':_0x190ac1['content'],'createdAt':_0x190ac1['createdAt'],'authorId':_0x190ac1['userId'],'attributes':_0x190ac1['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x334777{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x10b7b0)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x418122,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5383f5){super(_0x5383f5);const _0x5829e7=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x5829e7);}['init'](){const _0x17d277=this['editor']['plugins']['get'](z),_0x5b76da=this['editor']['plugins']['get'](_0x418122);return _0x5b76da['adapter']={'getSuggestion':async _0x4d0ddb=>{await this['_waitForServiceReady']();const _0x3bdd6d=await this['_trackChangesService']['get'](_0x4d0ddb)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3bdd6d]),_0x3bdd6d;},'addSuggestion':async({id:_0x40d9fd,type:_0x2d7101,data:_0x38b1b8,originalSuggestionId:_0x21845f,attributes:_0x2415a5})=>{await this['_waitForServiceReady']();const _0xc493c={'id':_0x40d9fd,'type':_0x2d7101,'data':_0x38b1b8,'originalSuggestionId':_0x21845f,'attributes':_0x2415a5},_0x16d764=await this['_trackChangesService']['add'](_0x40d9fd,_0x2d7101,_0x38b1b8,_0x21845f,_0x2415a5)['catch'](_0x395242=>{if(dt(_0x395242))return new Promise(_0x14db80=>{this['_bufferedRequests']['set'](_0x40d9fd,{'resolve':_0x14db80,'suggestionData':_0xc493c});});throw _0x395242;});return this['_bufferedRequests']['delete'](_0x40d9fd),_0x16d764;},'updateSuggestion':async(_0x4a2721,_0x368368)=>{if(await this['_waitForServiceReady'](),'open'!==_0x368368['state'])return this['_trackChangesService']['update'](_0x4a2721,_0x368368)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4db54d,_0x20826e)=>{_0x5b76da['hasSuggestion'](_0x20826e['id'])&&(_0x5b76da['getSuggestion'](_0x20826e['id'])['attributes']=_0x20826e['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x17d277['connection']?.['state']&&(_0x17d277['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x17d277['connection'])['then'](_0x504a3b=>(_0x17d277['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x504a3b)['then'](()=>{for(const _0x16025b of _0x504a3b){_0x5b76da['addSuggestionData'](_0x16025b)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1b25b6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3da64a}=this['editor']['plugins']['get'](z),_0x1e8bda=await this['_trackChangesService']['connect'](_0x3da64a);await this['_fetchMissingUsersForThreads'](_0x1e8bda);for(const {suggestionData:_0x2e66f1,resolve:_0x549ed4}of this['_bufferedRequests']['values']()){let _0x442228=_0x1e8bda['find'](_0x4819dc=>_0x4819dc['id']===_0x2e66f1['id']);_0x442228||(_0x442228=await this['_trackChangesService']['add'](_0x2e66f1['id'],_0x2e66f1['type'],_0x2e66f1['data'],_0x2e66f1['originalSuggestionId'])),_0x549ed4(_0x442228);}for(const _0x1fb91c of _0x1e8bda)_0x1b25b6['hasSuggestion'](_0x1fb91c['id'])||_0x1b25b6['addSuggestionData'](_0x1fb91c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5c749a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3f0a89=>{_0x3f0a89['off'](),_0x5c749a();});});}async['_fetchMissingUsersForThreads'](_0x369ba5){const _0x5876c1=this['editor']['plugins']['get'](_0x121396),{connection:_0x1d4262}=this['editor']['plugins']['get'](z),_0x15e5cc=new Set();for(const {authorId:_0x342d88}of _0x369ba5)_0x5876c1['getUser'](_0x342d88)||_0x15e5cc['add'](_0x342d88);if(0x0===_0x15e5cc['size'])return;const _0x517ad7=await _0x33a205['getMany'](_0x1d4262,Array['from'](_0x15e5cc));for(const _0x163388 of _0x517ad7)_0x5876c1['getUser'](_0x163388['id'])||_0x5876c1['addUser'](_0x163388);}};function lt(_0x2dd0e8){if(dt(_0x2dd0e8))return new Promise(()=>{});throw _0x2dd0e8;}function dt(_0x3689a0){return _0x3689a0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3689a0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x334777{static get['requires'](){return[_0x4e5806,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1fe4b9=this['editor']['plugins']['get'](z),_0x3545c4=this['editor']['plugins']['get'](_0x59e8f7),_0x13d44e=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1fe4b9,'change:state',(_0x11cba7,_0x282582,_0xedf7c)=>{_0x3545c4['isThreadsLoadingPaused']='connected'!==_0xedf7c;});}),this['listenTo'](_0x1fe4b9,'change:state',(_0x49e60a,_0x2fef01,_0x3bdb01)=>{this['editor']['plugins']['get'](_0x52d7db)['switchReadOnly']('connected'!==_0x3bdb01);}),_0x13d44e['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x86ad74=this['editor']['plugins']['get'](ot),_0x3ec218=this['editor']['config']['get']('collaboration.channelId');_0x86ad74['_services']['has'](_0x3ec218)&&_0x86ad74['_terminateService'](_0x3ec218),super['destroy']();}},ft=class extends _0x334777{static get['requires'](){return[ut,ht,_0x2a293f];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x334777{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x5ce271)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x1757ab,Y,_0x121396];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x48b0cf){super(_0x48b0cf);const _0x2c2880=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2c2880);}async['init'](){const _0xebbc43=this['editor']['plugins']['get'](tt),_0x445e62=_0xebbc43['serverHistory'],_0x4c65fd=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x445e62,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xebbc43['sessionId']});const _0x336257=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x50f32d,_0x274891=await _0x1850e4['isBundleUploaded'](_0x4c65fd['connection'],_0x336257);this['editor']['plugins']['get'](_0x1757ab)['adapter']={'getRevision':async({revisionId:_0x296ce8})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x296ce8)),'updateRevisions':async _0x4a2fbe=>{await this['_waitForServiceReady']();const _0x1d3251=this['_revisionTracker']['currentRevision'];if(_0x274891&&0x1===_0x4a2fbe['length']&&_0x4a2fbe[0x0]['id']===_0x1d3251['id'])return _0x4a2fbe;for(const _0x4443c6 of _0x4a2fbe)_0x4443c6['id']===_0x1d3251['id']&&(_0x4443c6['isEmptyCurrent']=_0x4443c6['fromVersion']===_0x4443c6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4a2fbe,this['_lastRequestId'])['then'](_0x2eb5dd=>(this['_lastRequestId']=_0x2eb5dd,_0x4a2fbe))['catch'](_0x500f11=>{if(pt(_0x500f11)||'400'===_0x500f11['code']&&void 0x0!==_0x500f11['data']['wrongRequestId']){for(const _0x254db3 of _0x4a2fbe)this['_revisionTracker']['repository']['getRevision'](_0x254db3['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x254db3['id'],_0x254db3,!0x1);if(pt(_0x500f11)&&'destroyed'!==this['editor']['state'])throw _0x500f11;return _0x4a2fbe;}throw _0x500f11;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3dee02,{revisionsData:_0x3b9ec8,requestId:_0x3948f7})=>{Math['max'](..._0x3b9ec8['map'](_0x62693e=>_0x62693e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b9ec8,_0x3948f7);}):this['_handleRevisionsUpdate'](_0x3b9ec8,_0x3948f7);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x4c65fd['connection']?.['state']&&(_0x4c65fd['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x3d157a,requestId:_0x1eb3aa}=await this['_revisionHistoryService']['connect'](_0x4c65fd['connection']);_0x4c65fd['addToReconnectionStack'](this),this['_lastRequestId']=_0x1eb3aa,await this['_fetchMissingUsers'](_0x3d157a);for(const _0x47bd3a of _0x3d157a)this['_revisionTracker']['addRevisionData'](_0x47bd3a);this['listenTo'](_0xebbc43,'change:_isConnected',(_0xe6c8c7,_0xf8790c,_0x44665f)=>{_0x44665f&&(this['_oldOffset']=_0xebbc43['_offset'],_0xe6c8c7['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x135204=this['editor']['plugins']['get'](z),_0x58f724=this['editor']['plugins']['get'](tt),_0x218d29=async()=>{const _0x365fac=this['_revisionTracker']['currentRevision'],_0x318087=_0x365fac['id'],_0x54b2cc=_0x318087!==_0x58f724['sessionId'];if(_0x54b2cc){const _0x23e8f3=_0x58f724['_offset']-this['_oldOffset'],_0x775992=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x365fac['toVersion']+_0x23e8f3!==_0x775992){const _0x4d3f58=_0x365fac['fromVersion']+_0x23e8f3,_0x34a39b=this['editor']['plugins']['get'](_0x121396),_0x2142c8=this['_revisionTracker']['buildRevisionData']({'revision':_0x365fac,'from':_0x4d3f58,'to':_0x775992});_0x2142c8['id']=_0x365fac['id'];const _0x5dcd59=_0x2142c8['authorsIds']['map'](_0x3dfffd=>_0x34a39b['getUser'](_0x3dfffd));_0x365fac['_update']({..._0x2142c8,'authors':_0x5dcd59},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x365fac['id'],_0x2142c8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x775992,_0x365fac['toVersion']!==_0x365fac['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x318087)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x318087),this['_revisionTracker']['_createCurrentRevision'](_0x775992);}const {revisions:_0x43efdd,requestId:_0x68cc4e}=await this['_revisionHistoryService']['reconnect'](_0x135204['connection'],this['_lastRequestId']);_0x54b2cc&&_0x43efdd['length']>0x0?_0x58f724['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x43efdd),this['_handleRevisionsUpdate'](_0x43efdd,_0x68cc4e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x58f724['_isConnected']?_0x218d29():new Promise((_0x50cb99,_0x550239)=>{_0x58f724['once']('change:_isConnected',()=>{_0x218d29()['then'](_0x50cb99)['catch'](_0x550239);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xbee858=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x507437=>{_0x507437['off'](),_0xbee858();});});}['_getLatestVersionFromServerOperations'](){const _0x243942=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2c9f66 of _0x243942)if('marker'!==_0x2c9f66['type']||_0x2c9f66['affectsData'])return _0x2c9f66['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1731bc=this['editor']['plugins']['get'](tt);return new Promise(_0x38197f=>{_0x1731bc['_isPendingUpdate']?_0x1731bc['once']('change:_isPendingUpdate',()=>{_0x38197f(this['_getLatestVersionFromServerOperations']());}):_0x38197f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5469c1,_0x45de86){const _0x1d8412=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x45de86;for(const _0x6af432 of _0x5469c1){const _0x2d3fe2=_0x1d8412['getRevision'](_0x6af432['id']);if(_0x2d3fe2){if((_0x6af432['fromVersion']||_0x6af432['toVersion'])&&(_0x6af432['diffData']=null),_0x2d3fe2===this['_revisionTracker']['currentRevision']){const _0x33392f=Math['max'](_0x2d3fe2['toVersion'],_0x6af432['toVersion']),_0x164733=Math['max'](_0x2d3fe2['fromVersion'],_0x6af432['fromVersion']);let _0x218058;_0x2d3fe2['toVersion']===_0x6af432['toVersion']&&_0x2d3fe2['fromVersion']===_0x6af432['fromVersion']?(_0x218058=!0x0,this['_preventResendingRevisionData'](_0x6af432)):_0x6af432['toVersion']===_0x33392f&&_0x6af432['fromVersion']===_0x164733?_0x218058=!0x1:(_0x2d3fe2['toVersion']===_0x33392f&&_0x2d3fe2['fromVersion']===_0x164733||this['_fixRevision']({'revision':_0x2d3fe2,'from':_0x164733,'to':_0x33392f}),_0x218058=!0x0),_0x218058&&(delete _0x6af432['fromVersion'],delete _0x6af432['toVersion'],delete _0x6af432['diffData'],delete _0x6af432['createdAt'],delete _0x6af432['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x6af432),this['_preventResendingRevisionData'](_0x6af432);}else this['_revisionTracker']['addRevisionData'](_0x6af432);}const _0x1cf8cc=_0x1d8412['getRevisions']();_0x1cf8cc['reverse']();for(let _0x55169a=0x0;_0x55169a<_0x1cf8cc['length']-0x1;_0x55169a++){const _0x1fb9fd=_0x1cf8cc[_0x55169a],_0x2861fe=_0x1cf8cc[_0x55169a+0x1];if(_0x1fb9fd['fromVersion']<_0x2861fe['toVersion']){const _0x2abb44=_0x2861fe['toVersion'],_0x1754cd=Math['max'](_0x2abb44,_0x1fb9fd['toVersion']);this['_fixRevision']({'revision':_0x1fb9fd,'from':_0x2abb44,'to':_0x1754cd});}}}['_fixRevision']({revision:_0x531d79,from:_0x16d973,to:_0x5a0334}={}){const _0x4b98b2=this['editor']['plugins']['get'](_0x121396),_0x476a3e=this['_revisionTracker']['buildRevisionData']({'revision':_0x531d79,'from':_0x16d973,'to':_0x5a0334});_0x476a3e['authors']=_0x476a3e['authorsIds']['map'](_0x1d5c43=>_0x4b98b2['getUser'](_0x1d5c43)),_0x531d79['_update'](_0x476a3e);}['_preventResendingRevisionData'](_0x3ef12b){const _0x434071={};_0x434071['id']=_0x3ef12b['id'];for(const _0x212b47 of Object['keys'](_0x3ef12b))'id'!==_0x212b47&&(_0x434071[_0x212b47]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x434071['id'],_0x434071,!0x0);}async['_fetchMissingUsers'](_0x1746b1){const _0x2564cb=this['editor']['plugins']['get'](_0x121396),{connection:_0x1867f3}=this['editor']['plugins']['get'](z),_0x210a18=new Set();for(const _0x133893 of _0x1746b1){for(const _0xb1585f of _0x133893['authorsIds'])_0x54ba2a(_0xb1585f);_0x133893['creatorId']&&_0x54ba2a(_0x133893['creatorId']);}if(0x0===_0x210a18['size'])return;const _0x4f9525=await _0x33a205['getMany'](_0x1867f3,Array['from'](_0x210a18));for(const _0xe4af1d of _0x4f9525)_0x2564cb['getUser'](_0xe4af1d['id'])||_0x2564cb['addUser'](_0xe4af1d);function _0x54ba2a(_0x5b0f77){_0x2564cb['getUser'](_0x5b0f77)||_0x210a18['add'](_0x5b0f77);}}};function pt(_0x518e9b){return _0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x334777{static get['requires'](){return[_0x1757ab,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x3fb656{['_collapseAt'];constructor(_0x5258a3,_0x858bd1=0x6){super(_0x5258a3);const _0x768901=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x858bd1,this['bind']('isHidden')['to'](this,'usersCount',_0x1358a7=>_0x1358a7<_0x858bd1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x768901['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':_0x768901['to']('usersCount',_0x4f1d6b=>'+'+(_0x4f1d6b-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x3fb656{['items'];['keystrokes'];constructor(_0x51ca43){super(_0x51ca43);const _0x2fef33=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4acf94(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2fef33['if']('hasPopup'),'aria-expanded':_0x2fef33['to']('isExpanded',_0x207a53=>this['hasPopup']&&String(_0x207a53)),'aria-label':_0x2fef33['to']('hasPopup',_0x332638=>X(_0x51ca43,_0x332638?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2fef33['to']('hasPopup',_0x1e2ed3=>!!_0x1e2ed3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2fef33['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2fef33['to'](_0x29edcb=>{const _0x3562de=_0x29edcb,_0x1211e2=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3dde3e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1211e2?.['contains'](_0x3562de['relatedTarget'])||_0x3dde3e?.['contains'](_0x3562de['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x593b73,_0x16abad,_0x2f4af4)=>{this['element']&&(_0x2f4af4?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']);}},_t=class extends _0x3fb656{['counterView'];['inlineListView'];constructor(_0x4b68b7,_0x542875=0x6){super(_0x4b68b7);const _0x2987d2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x542875),this['inlineListView']=new vt(_0x4b68b7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2ab295 of this['inlineListView']['items'])_0x2ab295['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',_0x2987d2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x3fb656{['listWrapperView'];constructor(_0x434d26,_0xd58d17){super(_0x434d26);const _0x1b13b8=this['bindTemplate'];this['listWrapperView']=new bt(_0x434d26,_0xd58d17),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x434d26,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1b13b8['to'](_0x304825=>{const _0x132b33=_0x304825,_0x1087d3=document['querySelector']('.ck-presence-list__list'),_0x38f335=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1087d3?.['contains'](_0x132b33['relatedTarget'])||_0x38f335?.['contains'](_0x132b33['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x18c9ed{constructor(_0x10599f,_0x3a3f03){super(_0x10599f);const _0x362847=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3a3f03?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x362847['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x362847['to']('role'),'aria-label':_0x362847['to']('ariaLabel'),'aria-labelledby':_0x362847['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x50bb92['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5241e4=this['element'];_0x5241e4&&(this['_isScrollable']=Math['max'](_0x5241e4['scrollHeight'],_0x5241e4['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x21f6e8{['userView'];constructor(_0x3f9286,_0x4a9b43,_0x12e279){super(_0x3f9286);const _0x4dd6f8=this['bindTemplate'];this['userView']=new _0x44a44e(_0x3f9286,_0x4a9b43);const _0x32b9e6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4a9b43['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4a9b43['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4a9b43['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4a9b43['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4a9b43['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x12e279&&(_0x32b9e6['tag']='button',_0x32b9e6['on']={'click':_0x4dd6f8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x32b9e6);}['focus'](){this['element']['focus']();}},It=class extends _0x3fb656{['userView'];['markerView'];constructor(_0x1c1b42,_0x3d0959,_0x267955){super(_0x1c1b42);const _0x5193b5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x44a44e(_0x1c1b42,_0x3d0959),this['markerView']=new St(_0x1c1b42,_0x3d0959);const _0x891794=new _0x42795(_0x1c1b42);_0x891794['template']['tag']='span',_0x891794['text']=_0x3d0959['name'];const _0x53bc0f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5193b5['to']('isFocusable',_0x3b66e6=>!!_0x3b66e6&&0x0),'aria-labelledby':_0x891794['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5193b5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5193b5['to']('hasTooltip',_0x1d5a75=>!_0x1d5a75),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x891794]};_0x267955&&(_0x53bc0f['tag']='button',_0x53bc0f['on']={'click':_0x5193b5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x53bc0f);}},St=class extends _0x3fb656{constructor(_0x4dde20,_0xc30834){super(_0x4dde20),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xc30834['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xc30834['color']['getColorVariable'](),'--ck-user-color-alpha':_0xc30834['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x3c12a8{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x19e67a){super(_0x19e67a),this['context']['config']['define']('presenceList',Tt);const _0x23f617=_0x19e67a['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x23f617)throw new _0x206e44('presencelist-collapseat-invalid-format',this);if(_0x23f617<0x1)throw new _0x206e44('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xe676b9(),this['balloonPanelView']=new _0x439950(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xd6b652 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xd6b652);this['listenTo'](this['_allConnectedUsers'],'add',(_0x50e2ce,_0x539132)=>{this['_handleUserAdd'](_0x539132);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xccf9aa,_0xdf5918)=>{this['_handleUserRemove'](_0xdf5918);});}['_createView'](){const _0x5b9c91=this['context'],_0x2a2e47=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x34a878=this['balloonPanelView'];if(!_0x398bc6(_0x5b9c91['config']['get']('presenceList.container')))throw new _0x206e44('presencelist-missing-container',this);return _0x2a2e47['counterView']['bind']('usersCount')['to'](this),_0x2a2e47['bind']('isCollapsed')['to'](this,'usersCount',_0x2411d5=>{const {collapseAt:_0x5851cd}=_0x5b9c91['config']['get']('presenceList'),_0x5542a2=_0x2411d5>=_0x5851cd;if(_0x5542a2&&!_0x2a2e47['inlineListView']['items']['find'](_0x3c5115=>_0x3c5115 instanceof wt)){const _0x26b555=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x26b555&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2a2e47['inlineListView']['items']['add'](_0x2a2e47['counterView']);}return _0x5542a2||this['hideDropdown'](),_0x5542a2;}),_0x2a2e47['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2d3ce3=>{const _0x48d578=_0x5b9c91['config']['get']('presenceList'),_0x3989f2=new It(_0x5b9c91['locale'],_0x2d3ce3,!!_0x48d578['onClick']);return _0x3989f2['bind']('hasTooltip')['to'](_0x2a2e47,'isCollapsed',_0x28dd33=>!_0x28dd33),_0x3989f2['bind']('isFocusable')['to'](_0x2a2e47,'isCollapsed',_0x219e8d=>!_0x219e8d),_0x48d578['onClick']&&this['listenTo'](_0x3989f2,'execute',()=>{this['view']['isCollapsed']||_0x48d578['onClick'](_0x2d3ce3,_0x3989f2['element']);}),_0x3989f2;}),this['listenTo'](_0x2a2e47['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2a2e47['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2a2e47['inlineListView']['keystrokes']['set']('Enter',(_0x28fc89,_0x5ae559)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5ae559());}),_0x2a2e47['render'](),_0x34a878['render'](),_0x216276({'emitter':_0x2a2e47,'activator':()=>_0x34a878['isVisible'],'contextElements':[_0x34a878['element'],_0x2a2e47['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5b9c91['config']['get']('presenceList.container')['appendChild'](_0x2a2e47['element']),this['_bodyCollection']=new _0x4acfe4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2a2e47;}['_handleUserAdd'](_0xf21576){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xf21576['isMe'])return;const _0x98ac8a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x98ac8a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x234bb9=_0xf21576['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xf21576,_0x234bb9);}['_handleUserRemove'](_0x5cd98a){this['usersCount']--;const {collapseAt:_0x2eb393}=this['context']['config']['get']('presenceList'),_0x39a574=this['usersCount']>=_0x2eb393;if(this['currentDisplayedUsers']['get'](_0x5cd98a['id']))this['currentDisplayedUsers']['remove'](_0x5cd98a['id']);else{if(_0x39a574&&this['currentDisplayedUsers']['length']+0x1===_0x2eb393-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x39a574?0x1:0x0)<this['usersCount']){for(const _0xeba01b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xeba01b['id'])&&(this['currentDisplayedUsers']['add'](_0xeba01b,Math['min'](this['currentDisplayedUsers']['length']-(_0x39a574?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x39a574?0x1:0x0)===_0x2eb393-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x177d42=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x177d42['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x175a18}=this['presenceDropdownView'];_0x175a18['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xca564f=>{if(!_0x177d42['displayMe']&&_0xca564f['isMe'])return null;const _0x1182fd=new kt(this['context']['locale'],_0xca564f,!!_0x177d42['onClick']);return _0x177d42['onClick']&&this['listenTo'](_0x1182fd,'execute',()=>{_0x177d42['onClick'](_0xca564f,_0x1182fd['element']);}),_0x1182fd;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x175a18['focus'](),_0x175a18['checkIfScrollable']();const _0xd00c38=(_0x32f997,_0x306392)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x306392();};_0x175a18['keystrokes']['set']('Esc',_0xd00c38),_0x175a18['keystrokes']['set']('Shift+Tab',_0xd00c38),_0x175a18['keystrokes']['set']('Tab',(_0x2792b2,_0x501859)=>{!function(_0x3bc319){const _0x551f5a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x22ce33=>_0x22ce33+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x45da96=[...document['body']['querySelectorAll'](_0x551f5a)]['filter'](_0x5ee8d3=>_0x5ee8d3===document['activeElement']||_0x5ee8d3['offsetWidth']+_0x5ee8d3['offsetHeight']>0x0)['sort']((_0x40bcb6,_0x14ff9d)=>(_0x40bcb6['tabIndex']||0x0)-(_0x14ff9d['tabIndex']||0x0)),_0x489e03=_0x45da96[(_0x45da96['indexOf'](_0x3bc319)+0x1)%_0x45da96['length']];_0x489e03&&_0x489e03['focus']();}(this['view']['element']),this['hideDropdown'](),_0x501859();}),_0x175a18['focusTracker']['add'](this['view']['element']),_0x175a18['focusTracker']['on']('change:isFocused',(_0x3c568f,_0x4ebe21,_0x3c2a7e)=>{_0x3c2a7e||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);}},At=class extends _0x3c12a8{static get['requires'](){return[Y,Ct];}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,At as PresenceList,Ct 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{Context as _0x403fa9,ContextPlugin as _0x748e16,PendingActions as _0x459316,Plugin as _0xba3866}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x3f1dcf,Collection as _0x271755,DomEmitterMixin as _0x57ba7a,KeystrokeHandler as _0x5a77f1,global as _0x3c55b7,uid as _0x5920c8,version as _0x13d0cc}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x14124b,BodyCollection as _0x47ad2b,LabelView as _0x1a8e59,ListItemView as _0x1b5251,ListView as _0x5dc78c,Notification as _0x211bfd,View as _0x48e552,clickOutsideHandler as _0x2c9d92}from'@ckeditor/ckeditor5-ui';import{History as _0x53181b,InsertOperation as _0x583136,MarkerOperation as _0x47ba36,ModelLiveRange as _0x4f59fe,NoOperation as _0xdf2d5c,OperationFactory as _0x56b57a,RootAttributeOperation as _0x1f58d5,transformOperationSets as _0x20990c}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0xb6ab9f}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x221ac5,CommentsService as _0x29a0a9,EditorService as _0x451a45,RevisionHistoryService as _0x145221,TrackChangesService as _0x52f9bc,User as _0x4a06bf,WEB_SOCKET_GATEWAY_STATES as _0x2ba2b3,WebSocketGateway as _0x2dfe16}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x10a99c,Users as _0x14b59c}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x2a74e1}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x32388c,TrackChangesEditing as _0x2053c1}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x2de072,CommentsEditing as _0x34f96c,CommentsRepository as _0x509c50}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x5a9f69}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x19e585}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x748e16{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x2dfe16)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xb6ab9f,_0x211bfd];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdb0f0d){super(_0xdb0f0d),this['set']('state',_0x2ba2b3['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x57ba7a())();}['init'](){const _0x4ef527=this['context'],_0x1f000a=_0x4ef527['plugins']['get'](_0xb6ab9f),_0x3f9df8=_0x4ef527['plugins']['get'](_0x211bfd);if(!_0x1f000a['token'])throw new _0x3f1dcf('websocketgateway-missing-token',this);if(!_0x1f000a['webSocketUrl'])throw new _0x3f1dcf('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),WebSocketGateway['WebSocketGateway']['connect'](_0x1f000a['token'],_0x1f000a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x25317e=>{if(this['connection']=_0x25317e,this['bind']('state')['to'](_0x25317e,'state',this,'_isBrowserOffline',(_0x131bbb,_0x309896)=>('connected'!==_0x131bbb&&(this['_shouldPluginsReconnect']=!0x0),_0x309896||_0x131bbb!==_0x2ba2b3['CONNECTED']?_0x2ba2b3['DISCONNECTED']:this['state']==_0x2ba2b3['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2ba2b3['CONNECTING']):_0x2ba2b3['CONNECTED'])),this['connection']['on']('error',(_0x51c4d1,_0x15eae5)=>{if('limitExceeded'!==_0x15eae5['code'])throw console['error'](_0x15eae5),new _0x3f1dcf('cloudservices-init',null,{'originalError':_0x15eae5});_0x3f9df8['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'});}),!_0x25317e['me'])return new Promise(_0x202dcf=>_0x25317e['on']('change:me',_0x202dcf));})['catch'](_0xb57fce=>{throw console['error'](_0xb57fce),new _0x3f1dcf('cloudservices-init',null,{'originalError':_0xb57fce});});}['addToReconnectionStack'](_0x44ab6c){if('function'!=typeof _0x44ab6c['reconnect'])throw new _0x3f1dcf('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x44ab6c))throw new _0x3f1dcf('websocketgateway-plugin-already-registered',this,{'name':_0x44ab6c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x44ab6c);}['removeFromReconnectionStack'](_0x113526){this['_reconnectionStack']['delete'](_0x113526);}['isInReconnectionStack'](_0x3435c3){return this['_reconnectionStack']['has'](_0x3435c3);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x59b903=>_0x59b903['reconnect']())))['then'](()=>this['state']=_0x2ba2b3['CONNECTED'])['catch'](_0x56115a=>{throw console['error'](_0x56115a),new _0x3f1dcf('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2ba2b3['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x748e16{['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,_0x14b59c];}constructor(_0x566d1f){super(_0x566d1f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x271755(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x14b59c);}['init'](){const _0x49f177=this['context']['plugins']['get'](z);this['listenTo'](_0x49f177,'change:state',(_0x26b0f9,_0x140476,_0x2aedfa)=>{if('connected'!==_0x2aedfa)this['channelSessions']['forEach'](_0x2091bd=>_0x2091bd['clear']()),this['channelConnectedUsers']['forEach'](_0x5221f5=>_0x5221f5['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x11f1cb,_0x552a13]of this['_registeredSessions'])for(const _0x340ef0 of _0x552a13)this['_handleSessionAdd'](_0x11f1cb,_0x340ef0);}}),this['_createUser'](_0x49f177['connection']['me'],!0x0);}['register'](_0x447a62,_0x4bb800){if(this['_registeredSessions']['has'](_0x447a62))throw new _0x3f1dcf('sessions-register-already-registered',null,{'channelId':_0x447a62});this['_registeredSessions']['set'](_0x447a62,_0x4bb800),this['channelSessions']['set'](_0x447a62,new _0x271755()),this['channelConnectedUsers']['set'](_0x447a62,new _0x271755()),this['listenTo'](_0x4bb800,'add',(_0x5f5af3,_0x19f655)=>this['_handleSessionAdd'](_0x447a62,_0x19f655)),this['listenTo'](_0x4bb800,'remove',(_0x3c4d4f,_0x47959b)=>this['_handleSessionRemove'](_0x447a62,_0x47959b));for(const _0x165186 of _0x4bb800)this['_handleSessionAdd'](_0x447a62,_0x165186);}['unregister'](_0x59cb1d){if(!this['_registeredSessions']['has'](_0x59cb1d))throw new _0x3f1dcf('sessions-unregister-not-exist',null,{'channelId':_0x59cb1d});const _0x343997=this['_registeredSessions']['get'](_0x59cb1d);this['stopListening'](_0x343997);for(const _0x36c5af of _0x343997)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x59cb1d,_0x36c5af);this['_registeredSessions']['delete'](_0x59cb1d),this['channelSessions']['delete'](_0x59cb1d),this['channelConnectedUsers']['delete'](_0x59cb1d);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x110dfb){for(const _0x2a82dd of this['channelSessions']['values']())for(const _0x1f1828 of _0x2a82dd)if(_0x1f1828['id']===_0x110dfb)return _0x1f1828['user'];}['getUserSessions'](_0x46cad1,_0x39ab31){const _0x4292ba=_0x39ab31?[this['channelSessions']['get'](_0x39ab31)]:this['channelSessions']['values'](),_0x194fc5=new Set();for(const _0xa35611 of _0x4292ba)for(const _0xc7c3aa of _0xa35611)_0xc7c3aa['user']['id']===_0x46cad1['id']&&_0x194fc5['add'](_0xc7c3aa['id']);return _0x194fc5;}['getUserRole'](_0x830609){for(const _0x4c4b4b of this['channelSessions']['values']())for(const _0x12f23b of _0x4c4b4b)if(_0x12f23b['user']===_0x830609)return _0x12f23b['role'];}['_handleSessionAdd'](_0x3de142,_0x3464f9){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3b88b6=_0x3464f9['user'],_0x16433e=this['_users']['getUser'](_0x3b88b6['id'])||this['_createUser'](_0x3b88b6),_0x51014c=Object['assign']({},_0x3464f9,{'user':_0x16433e});if(this['channelSessions']['get'](_0x3de142)['add'](_0x51014c),!_0x3b88b6['hiddenInPresenceList']){const _0x198c85=this['channelConnectedUsers']['get'](_0x3de142);_0x198c85['has'](_0x16433e['id'])||_0x198c85['add'](_0x16433e),this['allConnectedUsers']['has'](_0x16433e['id'])||_0x3b88b6['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x16433e,_0x16433e['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3de142,{'channelId':_0x3de142,'session':_0x51014c});}['_handleSessionRemove'](_0x56ae9e,_0x13386e){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x16553e=this['channelConnectedUsers']['get'](_0x56ae9e),_0x597058=_0x13386e['user'];_0x597058['id']&&(this['channelSessions']['get'](_0x56ae9e)['remove'](_0x13386e['id']),_0x16553e['has'](_0x597058['id'])&&!this['getUserSessions'](_0x597058,_0x56ae9e)['size']&&_0x16553e['remove'](_0x597058['id']),this['allConnectedUsers']['get'](_0x597058['id'])&&!this['getUserSessions'](_0x597058)['size']&&this['allConnectedUsers']['remove'](_0x597058['id']));}['_createUser'](_0x2b0bff,_0x14d5a5){const _0xfbb730=this['_users']['addUser'](_0x2b0bff);return _0x14d5a5&&this['_users']['defineMe'](_0x2b0bff['id']),_0xfbb730['orderNumber']=this['_uniqueUsersCount']++,_0xfbb730;}},K=class extends _0xba3866{['_domEmitter']=new(_0x57ba7a())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x11176b=this['editor'],_0x21661e=_0x11176b['plugins']['get'](Y);_0x11176b['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3523f2,{writer:_0x569048})=>function(_0x4d5a61,_0x5a1c82,_0x5af390,_0x509f6f){const _0x4dde0d=_0x4d5a61['markerName']['split'](':')[0x2],_0x2313e4=_0x5af390['getUserBySessionId'](_0x4dde0d);if(!_0x2313e4||_0x4dde0d===_0x5af390['mySessionId'])return;if(!_0x509f6f['model']['schema']['checkChild'](_0x4d5a61['markerRange']['start'],'$text'))return;const _0x42520d={'class':'ck-user__marker\x20'+_0x2313e4['color']['getMarkerClass'](),'style':Q(_0x2313e4),'data-name':_0x2313e4['name'],'data-session-id':_0x4dde0d},_0x50c6df=_0x509f6f['model']['markers']['get'](_0x4d5a61['markerName'])['getStart'](),_0x13fdd5=_0x50c6df['nodeAfter'],_0x45add8=_0x509f6f['model']['schema'];if(_0x13fdd5&&_0x45add8['isObject'](_0x13fdd5)&&_0x45add8['isInline'](_0x13fdd5)&&!_0x509f6f['model']['markers']['get']('user:range:'+_0x4dde0d)['getRange']()['isCollapsed'])return;const _0x1a12bd=_0x50c6df['parent'];return _0x509f6f['model']['schema']['isLimit'](_0x1a12bd)&&!_0x509f6f['model']['hasContent'](_0x1a12bd)&&(_0x42520d['contenteditable']=!0x1),function(_0x2d51f0,_0xca55da,_0x37b357){const _0x4cca1e=_0x2d51f0['createUIElement']('span',_0xca55da);return _0x2d51f0['setCustomProperty']('userPositionMarker',!0x0,_0x4cca1e),_0x4cca1e['render']=function(_0x5cf9a5){const _0x49617a=this['toDomElement'](_0x5cf9a5),_0x13986c=document['createElement']('span');return _0x13986c['classList']['add']('ck-user__marker-tooltip'),_0x13986c['setAttribute']('contenteditable','false'),_0x13986c['setAttribute']('spellcheck','false'),_0x13986c['textContent']=_0x37b357['name'],_0x49617a['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x13986c['outerHTML']+'⁠',_0x49617a['addEventListener']('mouseenter',()=>{_0x49617a['classList']['add']('ck-user__marker_hovered');}),_0x49617a['addEventListener']('mouseleave',()=>{_0x49617a['classList']['remove']('ck-user__marker_hovered');}),_0x49617a;},_0x4cca1e['isSimilar']=function(_0x4c69a8){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4c69a8['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4c69a8['getAttribute']('data-session-id'));},_0x4cca1e;}(_0x5a1c82,_0x42520d,_0x2313e4);}(_0x3523f2,_0x569048,_0x21661e,_0x11176b)}),_0x11176b['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x72152f=>function(_0x2ed3a2,_0x5e7402){const _0x4904d1=_0x2ed3a2['markerName']['split'](':')[0x2];if(_0x4904d1===_0x5e7402['mySessionId'])return null;const _0xf37422=_0x5e7402['getUserBySessionId'](_0x4904d1);return _0xf37422?{'id':_0x4904d1,'classes':['ck-user__selection',_0xf37422['color']['getSelectionClass']()],'attributes':{'style':Q(_0xf37422),'data-session-id':_0x4904d1},'priority':0x7d0+_0xf37422['orderNumber']}:{'id':_0x4904d1,'classes':[]};}(_0x72152f,_0x21661e)}),function(_0xb05daa){const _0x4ac8e8=_0xb05daa['model'],_0x5b2114=new Map(),_0x6a15c9=_0xb05daa['plugins']['get'](Y);_0x4ac8e8['markers']['on']('update:user:range',(_0xc44db8,_0x11876d,_0x410b0f,_0x3a0559)=>{if(!_0x3a0559&&_0x5b2114['get'](_0x11876d['name']))return _0x5b2114['get'](_0x11876d['name'])['detach'](),void _0x5b2114['delete'](_0x11876d['name']);const _0x514bec=_0x11876d['name']['split'](':')[0x2];if(_0x514bec===_0x6a15c9['mySessionId'])return;const _0x20f235='user:position:'+_0x514bec;_0x4ac8e8['markers']['has'](_0x20f235)&&_0xb05daa['editing']['reconvertMarker'](_0x20f235),_0x11876d['on']('change:range',(_0x5e0a39,_0x1f5028,_0x4e0292)=>{if('$graveyard'!=_0x1f5028['root']['rootName']&&'$graveyard'==_0x11876d['getRange']()['root']['rootName']&&!_0x5b2114['has'](_0x11876d['name'])){const _0x119ba7=_0x4ac8e8['schema']['getNearestSelectionRange'](_0x4e0292['deletionPosition']);if(_0x119ba7){const _0xa2ad22=_0x4f59fe['fromRange'](_0x119ba7);_0x5b2114['set'](_0x11876d['name'],_0xa2ad22),_0xa2ad22['on']('change:range',(_0x42361d,_0x34e7c3,_0x57d859)=>{if('$graveyard'==_0xa2ad22['root']['rootName']){const _0x2fa38b=_0x4ac8e8['schema']['getNearestSelectionRange'](_0x57d859['deletionPosition']);_0x2fa38b?(_0xa2ad22['start']=_0x2fa38b['start'],_0xa2ad22['end']=_0x2fa38b['end']):(_0x5b2114['delete'](_0x11876d['name']),_0xa2ad22['detach']());}});}}});}),_0x4ac8e8['document']['on']('change',()=>{_0x5b2114['size']>0x0&&_0x4ac8e8['enqueueChange']({'isUndoable':!0x1},_0x5473bb=>{for(const [_0x5636c3,_0x5f1303]of _0x5b2114)'$graveyard'==_0x4ac8e8['markers']['get'](_0x5636c3)['getRange']()['root']['rootName']&&(J(_0x5636c3['split'](':')[0x2],_0x5f1303['toRange'](),_0x4ac8e8,_0x5473bb),_0x5f1303['detach']());_0x5b2114['clear']();});});}(_0x11176b),this['_domEmitter']['listenTo'](_0x3c55b7['document'],'keydown',(_0x9e9c43,{key:_0x397599})=>{'Escape'===_0x397599&&function(_0x28fad3){_0x28fad3['editing']['view']['change'](_0x479eac=>{for(const _0x17ebab of _0x28fad3['model']['markers']){if(!_0x17ebab['name']['startsWith']('user:position'))continue;const _0x5dcfa0=_0x28fad3['editing']['mapper']['markerNameToElements'](_0x17ebab['name']);if(_0x5dcfa0){for(const _0x10c121 of _0x5dcfa0)_0x479eac['removeClass']('ck-user__marker_hovered',_0x10c121);}}});}(_0x11176b);},{'useCapture':!0x0});}['afterInit'](){const _0x13f0a0=this['editor'],_0x4e0765=_0x13f0a0['commands']['get']('undo');_0x4e0765&&_0x13f0a0['model']['on']('applyOperation',(_0x327bf8,_0x5a0cf9)=>{const _0x4ef288=_0x5a0cf9[0x0];if(!_0x4ef288['isDocumentOperation'])return;if('marker'!=_0x4ef288['type']||!_0x4ef288['name']['startsWith']('user:'))return;const _0x527cac=_0x4ef288['batch'];_0x4e0765['_createdBatches']['has'](_0x527cac)&&(_0x4ef288['newRange']=_0x4ef288['oldRange']?_0x13f0a0['model']['createRange'](_0x4ef288['oldRange']['start'],_0x4ef288['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x19140a=this['editor'],_0x54bea4=_0x19140a['model']['document'],_0x503e02=_0x19140a['plugins']['get'](Y);_0x19140a['model']['enqueueChange']({'isUndoable':!0x1},_0xb28743=>{const _0x2e24f5='user:range:'+_0x503e02['mySessionId'],_0x1a7b5a='user:position:'+_0x503e02['mySessionId'],_0x495670=_0x19140a['model']['markers']['has'](_0x2e24f5);_0x19140a['editing']['view']['hasDomSelection']?J(_0x503e02['mySessionId'],_0x54bea4['selection']['getFirstRange'](),_0x19140a['model'],_0xb28743):_0x495670&&(_0xb28743['removeMarker'](_0x2e24f5),_0xb28743['removeMarker'](_0x1a7b5a));});}};function J(_0x405971,_0x32999a,_0x38b46e,_0x580069){const _0xccf4b5='user:range:'+_0x405971,_0x400cbc='user:position:'+_0x405971,_0x2eb70b=_0x32999a['getContainedElement']();let _0x252acc=_0x32999a['start'];if(_0x2eb70b&&_0x2eb70b['is']('element','tableCell')){const _0x38c47f=function(_0x397faa,_0x5a9f87){for(const _0x55aa70 of _0x397faa['getPositions']())if(_0x5a9f87['schema']['checkChild'](_0x55aa70,'$text'))return _0x55aa70;}(_0x32999a,_0x38b46e);_0x38c47f&&(_0x252acc=_0x38c47f,_0x32999a=_0x580069['createRange'](_0x252acc));}const _0x2820ba=_0x580069['createRange'](_0x252acc);_0x38b46e['markers']['has'](_0xccf4b5)?(_0x580069['updateMarker'](_0xccf4b5,{'range':_0x32999a}),_0x580069['updateMarker'](_0x400cbc,{'range':_0x2820ba})):(_0x580069['addMarker'](_0xccf4b5,{'range':_0x32999a,'usingOperation':!0x0}),_0x580069['addMarker'](_0x400cbc,{'range':_0x2820ba,'usingOperation':!0x0}));}function Q(_0x17dc38){return'--ck-user-color:'+_0x17dc38['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x17dc38['color']['getColorAlphaVariable']()+';';}function X(_0x35504e,_0x5bc7b8,_0x6644c1){const _0x294ab5=_0x35504e['t'],t=_0x35504e['t'];switch(_0x5bc7b8){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 _0x294ab5({'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'},_0x6644c1);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0xba3866{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x221ac5)());['_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,_0x459316,_0x14b59c,_0x211bfd];}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 _0x337092=this['serverHistory']['getOperations']();for(let _0x421624=_0x337092['length']-0x1;_0x421624>=0x0;_0x421624--){const _0x1b9df5=_0x337092[_0x421624];if(!this['_disconnectionOperations']['has'](_0x1b9df5))return _0x1b9df5['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1f6f5e){if(super(_0x1f6f5e),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x53181b(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3f1dcf('collaboration-missing-channelid',this);const _0x3e5190=_0x1f6f5e['config']['get']('cloudServices.bundleVersion')||_0x13d0cc;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3e5190,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2a74e1(),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 _0x3b8800=this['editor'],_0x171a9e=_0x3b8800['plugins']['get'](_0x14b59c),_0x48fefd=_0x3b8800['plugins']['get'](z);this['listenTo'](_0x171a9e,'getOperationAuthor',(_0x1b16e0,_0xdcdc00)=>{const _0x5e95ca=_0xdcdc00[0x0];_0x5e95ca['_authorId']&&(_0x1b16e0['return']=_0x171a9e['getUser'](_0x5e95ca['_authorId']),_0x1b16e0['stop']()),null===_0x5e95ca['_authorId']&&(_0x1b16e0['return']=null,_0x1b16e0['stop']());},{'priority':'high'}),this['listenTo'](_0x3b8800['model']['document']['selection'],'change:range',(_0x56b3b7,_0x29503e)=>{_0x29503e['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3b8800['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3b8800['model']['on']('applyOperation',(_0x232082,_0x37b2c0)=>{const _0x247bea=_0x37b2c0[0x0];_0x247bea['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x247bea),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x48fefd,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x45133f,_0xa65a3c,_0x5ed702)=>'connected'===_0x45133f&&!_0xa65a3c&&!_0x5ed702),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3b8800['disableReadOnlyMode']('rtc-offline'):_0x3b8800['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3b8800['disableReadOnlyMode']('rtc-offline'):_0x3b8800['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x25ec32=this['editor']['plugins']['get'](Y),_0x6bf8b=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x25ec32['unregister'](this['_channelId']);const _0x292a3c=await this['_service']['reconnect'](_0x6bf8b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x292a3c)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1f323e=await this['_service']['getConnectedSessions']();_0x25ec32['register'](this['_channelId'],_0x1f323e),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4b4926){if(function(_0x20e7e7){return'404'===_0x20e7e7['code'];}(_0x4b4926)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xc01c06){return'409'===_0xc01c06['code'];}(_0x4b4926)){const _0x54f244=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'](_0x54f244);}else{if(!(_0x4b4926 instanceof et))throw _0x4b4926;this['_handleReconnectionError']();}}}}['destroy'](){const _0x33850a=this['editor']['plugins']['get'](z),_0x495159=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x495159['channelSessions']['has'](this['_channelId'])&&_0x495159['unregister'](this['_channelId']),_0x33850a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x23594f){if(this['sessionId']!==_0x23594f['sessionId']&&this['_lastSyncedOperationId']!==_0x23594f['lastOperationId'])throw new et();return this['sessionId']=_0x23594f['sessionId'],this['_handleServerResponse']([],{..._0x23594f,'wereChangesApplied':!0x1,'data':_0x23594f['data']},'reconnect');}async['_connectService'](_0x35fd64,_0x2a2f9b=!0x1){const {connection:_0x2b0c52}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x2b0c52,this['_channelId'])['then'](_0x2fb09f=>this['_initSessionsHandling'](_0x2fb09f))['catch'](_0x36d4d7=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x36d4d7);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2b2992,_0x58c65b)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x58c65b);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x34accd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x35fd64);this['_isPendingUpdate']=!0x0;const _0x431fbf=await this['_service']['connect'](_0x2b0c52,this['_compressOperations'](_0x35fd64),_0x34accd);if(this['sessionId']=_0x431fbf['sessionId'],_0x2a2f9b){if(!_0x431fbf['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x431fbf['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x35fd64,_0x431fbf,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x431fbf,_0x35fd64);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2ed613=this['editor']['plugins']['get'](Y),_0x449b7f=this['editor']['plugins']['get'](K),_0x581c27=_0x2ed613['channelSessions']['get'](this['_channelId']);_0x581c27&&_0x581c27['length']>0x1?_0x449b7f['createUserMarkerOperations']():this['listenTo'](_0x2ed613,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2ed613['channelSessions']['get'](this['_channelId'])['length']&&_0x449b7f['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x12e31b,_0x1ba4cd,_0x5416b9,_0x1202d8){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1ba4cd){const _0x5c98d0=this['_decompressOperations'](_0x5416b9,_0x1202d8);await this['_fetchMissingUsers'](_0x5c98d0),this['_handleExternalOperations'](_0x5c98d0,_0x1ba4cd,_0x5416b9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x745783}=this['editor'];let _0xa46834;try{_0xa46834=await this['_service']['getDocumentDetails']();}catch{const _0x6b90ca=X(_0x745783,'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'](_0x6b90ca);}const _0x10d9eb=_0xa46834['currentDocumentSession']||_0xa46834['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x10d9eb['lastOperationId']){const _0x5e4d93=X(_0x745783,'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'](_0x5e4d93);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x3c2dc9=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x3c2dc9['connection']||'connected'!==_0x3c2dc9['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x58a819=this['editor']['plugins']['get'](Y);_0x58a819['channelSessions']['has'](this['_channelId'])&&_0x58a819['unregister'](this['_channelId']),_0x3c2dc9['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x25b5c5){const _0x2fb853=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2fb853,'sessionAdd:'+this['_channelId'],(_0x57f6af,{session:_0x303f94})=>{if(_0x303f94['id']===_0x2fb853['mySessionId']){_0x57f6af['off']();const _0x3eceb0=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x500ad9=_0x303f94['permissions'];_0x3eceb0&&_0x3eceb0['isEnabled']&&(_0x500ad9=_0x500ad9['filter'](_0x220bb7=>'document:write'!==_0x220bb7)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x500ad9,this['_channelId']);}}),_0x2fb853['register'](this['_channelId'],_0x25b5c5);}['_initThrowingOnDataSet'](){const _0x312f58=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5bd71d)=>{if(!_0x5bd71d[_0x5bd71d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3f1dcf('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x312f58['apply'](this['editor']['data'],_0x5bd71d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2d215b,[_0x5c43f2])=>{if(this['_document']['version'])throw new _0x3f1dcf('realtimecollaborationclient-init-document-already-initialized',this);_0x2d215b['stop'](),this['_setPendingAction']();const _0x131532=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x3e2665])=>!_0x3e2665['lazyLoad'])['map'](([_0x193dfc,_0x29d255])=>[_0x193dfc,_0x29d255['modelAttributes']||{}])),_0x3d9520=this['_getOperationsFromInitData'](_0x5c43f2,_0x131532);0x0==_0x3d9520['length']&&_0x3d9520['push'](new _0xdf2d5c(0x0)),_0x2d215b['return']=this['_connectService'](_0x3d9520)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2e76b9=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2e76b9))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x26b5b8,[_0x40211c,_0x35a673])=>{_0x26b5b8['stop']();const _0x13a680=this['editor']['model']['document']['getRoot'](_0x40211c);if(!this['_knownRootNames']['has'](_0x40211c)){const _0x27b643=_0x35a673&&_0x35a673['data']?_0x35a673['data']:'',_0x2cd396=_0x35a673&&_0x35a673['attributes']?_0x35a673['attributes']:{};await this['_loadRoot'](_0x40211c,_0x27b643,_0x2cd396);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x13a680['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x13a680);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x446065){const _0x17d180=this['editor']['plugins']['get'](_0x14b59c),{connection:_0x1cff43}=this['editor']['plugins']['get'](z),_0x299afd=new Set();for(const _0x40fca1 of _0x446065){const _0x1bdad3=_0x40fca1['_authorId'];_0x1bdad3&&!_0x17d180['getUser'](_0x1bdad3)&&_0x299afd['add'](_0x1bdad3);}if(0x0===_0x299afd['size'])return;const _0x10a2fc=await _0x4a06bf['getMany'](_0x1cff43,Array['from'](_0x299afd));for(const _0x5ccc64 of _0x10a2fc)_0x17d180['getUser'](_0x5ccc64['id'])||_0x17d180['addUser'](_0x5ccc64);}['_getOperationsFromInitData'](_0x28b108,_0x4867f4={}){const _0x3be3cc=this['editor']['model'],_0x3b914b=[];let _0x49dfff=0x0;const _0x2f687a='string'==typeof _0x28b108?{'main':_0x28b108}:_0x28b108;for(const _0x30351c of Object['keys'](_0x2f687a)){if(!this['_document']['roots']['has'](_0x30351c))throw new _0x3f1dcf('realtimecollaborationclient-init-non-existent-root',this);const _0x5ce60f=this['_document']['getRoot'](_0x30351c),_0x207714=this['editor']['data']['parse'](_0x2f687a[_0x30351c],_0x5ce60f),_0x248257=new _0x583136(_0x3be3cc['createPositionAt'](_0x5ce60f,0x0),_0x207714,_0x49dfff++);_0x3b914b['push'](_0x248257);for(const [_0x1a7591,_0xeaf457]of _0x207714['markers']){const _0x567d54=new _0x47ba36(_0x1a7591,null,_0x3be3cc['createRange'](_0x3be3cc['createPositionFromPath'](_0x5ce60f,_0xeaf457['start']['path']['slice']()),_0x3be3cc['createPositionFromPath'](_0x5ce60f,_0xeaf457['end']['path']['slice']())),_0x3be3cc['markers'],!0x0,_0x49dfff++);_0x3b914b['push'](_0x567d54);}}if(_0x4867f4)for(const [_0x4233ac,_0x3a7fa7]of Object['entries'](_0x4867f4)){const _0x4faa75=_0x3be3cc['document']['getRoot'](_0x4233ac);if(!_0x4faa75)throw new _0x3f1dcf('multi-root-editor-root-attributes-no-root',null);for(const [_0x320451,_0x4495d0]of Object['entries'](_0x3a7fa7))if(null!==_0x4495d0){const _0x45361c=new _0x1f58d5(_0x4faa75,_0x320451,null,_0x4495d0,_0x49dfff++);_0x3b914b['push'](_0x45361c);}}return _0x3b914b;}async['_loadRoot'](_0x2de611,_0x4c5a01,_0xf160c4){this['_getOperationsFromInitData']({[_0x2de611]:_0x4c5a01},{[_0x2de611]:_0xf160c4})['forEach']((_0x5e3739,_0x177e81)=>{_0x5e3739['baseVersion']=this['_document']['version']+_0x177e81,_0x5e3739['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5e3739);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x46630b,_0xbbb102){let _0x498d83;this['_offset']=_0x46630b['offset'];const _0x4f9d68=_0x46630b['wereChangesApplied']&&!_0x46630b['initData'],_0x2d7816=_0x4f9d68?0x0:_0x46630b['data']['baseVersion'];if(_0xbbb102['forEach'](_0x4cf7bd=>{_0x4cf7bd['_isInit']=!0x0,_0x4cf7bd['createdAt']=_0x46630b['sessionCreatedAt'],_0x4cf7bd['_authorId']=null;}),_0x4f9d68)_0x498d83=_0xbbb102,this['_applyOperationsSet'](_0x498d83,_0x4f9d68);else{if(_0x46630b['initData']){const _0x2bef6b=this['_getOperationsFromInitData'](_0x46630b['initData']);this['_document']['history']['version']=-_0x2bef6b['length'],_0x2bef6b['forEach'](_0x19b2ad=>{_0x19b2ad['baseVersion']-=_0x2bef6b['length'],_0x19b2ad['createdAt']=_0x46630b['sessionCreatedAt'],_0x19b2ad['_isInit']=!0x0,_0x19b2ad['_authorId']=null;}),this['_applyOperationsSet'](_0x2bef6b,!0x0),this['serverHistory']['version']=-_0x2bef6b['length']+this['_offset'],this['_updateServerHistory'](_0x2bef6b);}this['_document']['history']['version']=_0x2d7816,_0x498d83=this['_decompressOperations'](_0x46630b['data'],_0x46630b['metadata']),await this['_fetchMissingUsers'](_0x498d83),this['_applyOperationsSet'](_0x498d83,_0x4f9d68);}_0x46630b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x498d83,_0x46630b['lastOperationId']),this['_lastSyncedOperationId']=_0x46630b['lastOperationId']),this['serverHistory']['version']=_0x2d7816+this['_offset'],this['_updateServerHistory'](_0x498d83),_0xbbb102['filter'](_0x542cf4=>{const _0x15ee7e=this['_getAffectedRoot'](_0x542cf4);return _0x15ee7e&&!this['_knownRootNames']['has'](_0x15ee7e);})['forEach']((_0x1c797b,_0x176c5d)=>{_0x1c797b['baseVersion']=this['_document']['version']+_0x176c5d,this['_saveOperationInBuffer'](_0x1c797b);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x47571a,_0x473ac5){const _0x32ca48=_0x473ac5&&_0x473ac5['message'];if(_0x32ca48&&_0x32ca48['startsWith']('realtimecollaborationclient'))throw _0x473ac5;const _0x42cc84=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x42cc84['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3f1dcf(_0x47571a,this['editor'],_0x32ca48?{'originalError':_0x32ca48}:void 0x0);}['_saveOperationInBuffer'](_0x247e61){this['_knownOperations']['has'](_0x247e61)||(this['_knownOperations']['add'](_0x247e61),this['_bufferedOperations']['push'](_0x247e61),this['_pendingAction']||'marker'==_0x247e61['type']&&!_0x247e61['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5981e2=!0x1){!_0x5981e2&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x6a168a=>{_0x6a168a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x48c911=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x36e595){return _0x36e595['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x36e595['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x36e595['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x48c911)||this['_crash'](_0x48c911['message'],_0x48c911);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5d1f01=>{this['on']('change:_isPendingUpdate',()=>{_0x5d1f01();});});}async['_sendBufferedOperations'](){const _0x3e7c69=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x3e7c69['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x27acbf=[...this['_bufferedOperations']];for(const _0xdd5b28 of _0x27acbf)_0xdd5b28['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xdd5b28);const _0x4c6331=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x27acbf),_0x1fc59a=Z++,_0xa962bd=this['_compressOperations'](_0x27acbf),_0x2fd447=await this['_service']['sendOperations'](_0xa962bd,_0xa962bd['baseVersion'],_0x4c6331);try{return await this['_handleServerResponse'](_0x27acbf,_0x2fd447,_0x1fc59a);}catch(_0x48be73){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x48be73);}}async['_handleServerResponse'](_0x133ba2,_0x1580a8,_0x1f6ac4){if('error'in _0x1580a8)throw _0x1580a8['error'];let _0x3d60be=!0x1;if(_0x1580a8['wereChangesApplied']){_0x1580a8['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1580a8['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2b6e39=>!_0x133ba2['includes'](_0x2b6e39));for(const _0x3197a1 of _0x133ba2)_0x3197a1['createdAt']='lastOperationAcceptedAt'in _0x1580a8&&_0x1580a8['lastOperationAcceptedAt']||void 0x0;st(_0x133ba2,_0x1580a8['version']-_0x133ba2['length']),this['_updateServerHistory'](_0x133ba2);const _0x35f9dd=_0x133ba2['filter'](_0x4b3c64=>{if(!_0x4b3c64['_isInit'])return!0x1;const _0x10edd5=this['_getAffectedRoot'](_0x4b3c64);return _0x10edd5&&!this['_knownRootNames']['has'](_0x10edd5);});st(_0x35f9dd,this['_document']['version']),this['_applyOperationsSet'](_0x35f9dd),_0x3d60be=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x117c34=this['_decompressOperations'](_0x1580a8['data'],_0x1580a8['metadata'])['filter'](_0x1b8a3b=>_0x1b8a3b['baseVersion']>=this['_lastServerVersion']);_0x117c34['forEach'](_0x238673=>this['_addKnownRoot'](_0x238673)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x372412=>!_0x372412['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x372412))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x117c34),_0x3d60be=this['_handleExternalOperations'](_0x117c34,_0x1580a8['version'],_0x1580a8['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3d60be?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3adf5d,_0x1c2bdf,_0x879f62){try{const _0xd9b75a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4b6e48,operationsB:_0x11aeb1,originalOperations:_0x2c8a48}=_0x20990c(_0x3adf5d,this['_bufferedOperations'],_0xd9b75a);st(_0x4b6e48,this['_document']['version']),st(_0x11aeb1,_0x1c2bdf);for(const _0xae1e1a of _0x4b6e48){const _0x58de26=_0x2c8a48['get'](_0xae1e1a);_0x58de26?(_0xae1e1a['_authorId']=_0x58de26['_authorId'],'noop'!==_0xae1e1a['type']&&(_0xae1e1a['_aiSource']=_0x58de26['_aiSource'])):_0xae1e1a['_authorId']=null;}for(const _0x511ba6 of _0x11aeb1)'noop'!==_0x511ba6['type']&&(_0x511ba6['_aiSource']=_0x2c8a48['get'](_0x511ba6)?.['_aiSource']);_0x879f62&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3adf5d,_0x879f62),this['_lastSyncedOperationId']=_0x879f62),this['_bufferedOperations']=[..._0x11aeb1],this['_applyOperationsSet'](_0x4b6e48),this['_updateServerHistory'](_0x3adf5d);}catch(_0x5339da){return console['error'](_0x5339da),!0x1;}return!0x0;}['_applyOperationsSet'](_0xb5260b,_0x4af0e6=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x36d88f=>{for(const _0x3dbd22 of _0xb5260b)this['_knownOperations']['add'](_0x3dbd22),this['_addKnownRoot'](_0x3dbd22),_0x36d88f['batch']['addOperation'](_0x3dbd22),this['editor']['model']['applyOperation'](_0x3dbd22);});}['_addKnownRoot'](_0x6559ab){const _0x2f9cfc=this['_getAffectedRoot'](_0x6559ab);_0x2f9cfc&&this['_knownRootNames']['add'](_0x2f9cfc);}['_getAffectedRoot'](_0x295e2d){let _0x42fb2,_0x19bd63;switch(_0x295e2d['type']){case'insert':_0x42fb2=_0x295e2d['position']['root'];break;case'marker':if(_0x19bd63=_0x295e2d['newRange'],!_0x19bd63)return null;_0x42fb2=_0x19bd63['root'];break;case'addRootAttribute':_0x42fb2=_0x295e2d['root'];break;case'addRoot':_0x42fb2=_0x295e2d['affectedSelectable'];break;case'move':_0x42fb2=_0x295e2d['targetPosition']['root'];break;default:return null;}return _0x42fb2['rootName'];}['_updateServerHistory'](_0x13a4e3){_0x13a4e3['forEach'](_0x1e8f18=>{const _0x53eed0=_0x1e8f18['clone']();_0x53eed0['_authorId']=_0x1e8f18['_authorId'],_0x53eed0['_isInit']=!!_0x1e8f18['_isInit'],_0x53eed0['_aiSource']=_0x1e8f18['_aiSource'],_0x53eed0['createdAt']=_0x1e8f18['createdAt'],_0x53eed0['baseVersion']+=this['_offset'],_0x1e8f18['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x53eed0),this['serverHistory']['addOperation'](_0x53eed0);});}['_handleReconnectionError'](_0x7e57f9){const _0x2d697a=this['editor']['plugins']['get']('Notification'),_0x377aae=this['editor']['locale'];_0x7e57f9||(_0x7e57f9=X(_0x377aae,'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.')),_0x2d697a['showWarning'](_0x7e57f9,{'title':X(_0x377aae,'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'](_0x459316)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x459316)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x591f61){const _0xce2364=_0x591f61['map'](_0xc32b47=>_0xc32b47['toJSON']());return this['_compressor']['compress'](_0xce2364);}['_decompressOperations'](_0x5390b5,_0x59df75){return this['_compressor']['decompress'](_0x5390b5)['map']((_0x2524e0,_0x97e5cd)=>{const _0x1fe0f4='init'==_0x59df75[_0x97e5cd]['type'];if('InsertOperation'==_0x2524e0['__className']){const _0x1a2cb5=_0x2524e0['position']['root'];!this['_document']['getRoot'](_0x1a2cb5)&&(this['_document']['createRoot']('$unknown',_0x1a2cb5)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2524e0['__className']){const _0x5a821d=this['_document']['getRoot'](_0x2524e0['rootName']);_0x5a821d&&'$unknown'==_0x5a821d['name']&&_0x2524e0['elementName']!=_0x5a821d['name']&&(_0x5a821d['name']=_0x2524e0['elementName']);}}const _0x84f06d=_0x56b57a['fromJSON'](_0x2524e0,this['_document']);return _0x84f06d['wasUndone']=_0x2524e0['wasUndone'],_0x84f06d['_isInit']=_0x1fe0f4,_0x84f06d['_authorId']=_0x1fe0f4?null:_0x59df75[_0x97e5cd]['userId'],_0x84f06d['_isDisconnection']='cs:removeUser'===_0x59df75[_0x97e5cd]['type'],_0x84f06d['_aiSource']=_0x2524e0['_aiSource']||void 0x0,_0x84f06d['createdAt']=_0x59df75[_0x97e5cd]['createdAt'],_0x84f06d;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5f5960=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5f5960&&_0x5f5960['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x3690ab,_0x2d77f4){for(const _0x283ad2 of _0x3690ab)_0x283ad2['baseVersion']=_0x2d77f4++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x3267fa){this['_ignoredOperations']=_0x3267fa,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x599390){let _0x37da33=_0x599390['length'];for(;_0x37da33--;){const _0x1bcb32=_0x599390[_0x37da33];if(!this['_ignoredOperations']['has'](_0x1bcb32)){if(!this['_operationToId']['has'](_0x1bcb32)){const _0x2f7371=_0x5920c8()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1bcb32,_0x2f7371);}return this['_operationToId']['get'](_0x1bcb32);}}}['setIdForTheLastOperation'](_0x4e73e9,_0x175188){if(!_0x175188)return;let _0x111954=_0x4e73e9['length'];for(;_0x111954--;){const _0x2c8d5=_0x4e73e9[_0x111954];this['_ignoredOperations']['has'](_0x2c8d5)||this['_operationToId']['set'](_0x2c8d5,_0x175188);}}},nt=class extends _0xba3866{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x748e16{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x29a0a9)());['_services'];static get['requires'](){return[z,_0x509c50,Y,_0x14b59c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x325c96){super(_0x325c96),this['_services']=new Map();}async['init'](){const _0x209358=this['context'],_0xadcd70=_0x209358['plugins']['get'](_0x509c50);if(_0x209358['plugins']['get'](z)['addToReconnectionStack'](this),_0xadcd70['adapter']={'addCommentThread':async({channelId:_0x29f47e,threadId:_0x5cc06b,comments:_0x32fb9a,resolvedAt:_0x53bcf4,resolvedBy:_0x434c0f,context:_0x3964d1,attributes:_0x3fe98a})=>{const _0x3c8ba8=await this['_getService'](_0x29f47e)['addCommentThread']({'commentThreadId':_0x5cc06b,'comments':_0x32fb9a['map'](_0x489f80=>function(_0x2bc15c,_0x6e6540,_0x1666ee){return{'commentThreadId':_0x1666ee,'commentId':_0x2bc15c['commentId'],'userId':_0x2bc15c['authorId'],'content':_0x2bc15c['content'],'documentId':_0x6e6540,'createdAt':_0x2bc15c['createdAt'],'attributes':_0x2bc15c['attributes']||{}};}(_0x489f80,_0x29f47e,_0x5cc06b)),'resolvedAt':_0x53bcf4,'resolvedBy':_0x434c0f,'context':_0x3964d1,'attributes':_0x3fe98a})['catch'](ct);return{'threadId':_0x3c8ba8['commentThreadId'],'comments':_0x3c8ba8['comments']};},'getCommentThread':async({channelId:_0xdbffdc,threadId:_0x27104a})=>{const _0x37d741=await this['_getService'](_0xdbffdc)['getCommentThread'](_0x27104a)['catch'](rt)['catch'](ct);return _0x37d741?_0x37d741['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x37d741]),{'threadId':_0x37d741['commentThreadId'],'comments':_0x37d741['comments']['map'](at),'context':_0x37d741['context'],'resolvedAt':_0x37d741['resolvedAt'],'resolvedBy':_0x37d741['resolvedBy'],'attributes':_0x37d741['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x399fe9,threadId:_0x4b9a38,context:_0x5a7d3b,unlinkedAt:_0x28ad74,attributes:_0x552f33})=>this['_getService'](_0x399fe9)['updateCommentThread']({'commentThreadId':_0x4b9a38,'context':_0x5a7d3b,'attributes':_0x552f33,'unlinkedAt':_0x28ad74})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x780ccf,threadId:_0x3289c4})=>{const _0xa8e9af=await this['_getService'](_0x780ccf)['resolveCommentThread'](_0x3289c4)['catch'](rt)['catch'](ct);return{'threadId':_0xa8e9af['commentThreadId'],'resolvedAt':_0xa8e9af['resolvedAt'],'resolvedBy':_0xa8e9af['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2a2030,threadId:_0x1709dc})=>this['_getService'](_0x2a2030)['reopenCommentThread'](_0x1709dc)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5b275b,threadId:_0x4fdef8})=>this['_getService'](_0x5b275b)['removeCommentThread'](_0x4fdef8)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x58b11f,threadId:_0x38c36c,commentId:_0x5c1e83,content:_0xb8decb,attributes:_0x3e2e7c})=>this['_getService'](_0x58b11f)['addComment'](_0x38c36c,_0x5c1e83,_0xb8decb,_0x3e2e7c)['catch'](ct),'updateComment':({channelId:_0xd7e592,threadId:_0x2488d2,commentId:_0x3f0b4a,content:_0xd8a389,attributes:_0x4880ad})=>this['_getService'](_0xd7e592)['updateComment'](_0x2488d2,_0x3f0b4a,_0xd8a389,_0x4880ad)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x482820,threadId:_0x3727d4,commentId:_0xf56223})=>this['_getService'](_0x482820)['removeComment'](_0x3727d4,_0xf56223)['catch'](rt)['catch'](ct)},_0x209358 instanceof _0x403fa9){const _0x1a86ad=_0x209358['config']['get']('collaboration.channelId'),_0x59bf18=_0x209358['plugins']['get'](Y);await this['_setUpService'](_0x1a86ad);const _0x4640d9=await this['_services']['get'](_0x1a86ad)['getConnectedSessions']();this['listenTo'](_0x59bf18,'sessionAdd:'+_0x1a86ad,(_0x77d140,{session:_0x1bcbfa})=>{_0x1bcbfa['id']===_0x59bf18['mySessionId']&&(_0x77d140['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1bcbfa['permissions'],_0x1a86ad));}),_0x59bf18['register'](_0x1a86ad,_0x4640d9);}}async['_setUpService'](_0x126d9b){if(this['_services']['has'](_0x126d9b))throw new _0x3f1dcf('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x126d9b});const _0x8073aa=this['context']['plugins']['get'](_0x509c50),_0x670555=new CloudServicesCommentsAdapter['CommentsService'](_0x126d9b);this['_services']['set'](_0x126d9b,_0x670555),this['listenTo'](_0x670555,'commentThreadAdded',(_0x9a5c71,_0x220b76)=>{const {commentThreadId:_0x4cdcc0,documentId:_0xffaf88,context:_0x5c9f05,attributes:_0x1208c7,resolvedAt:_0x14b1d1,resolvedBy:_0x159208,comments:_0x8b4fc5}=_0x220b76;_0x8073aa['getCommentThread'](_0x4cdcc0)||_0x8073aa['addCommentThread']({'threadId':_0x4cdcc0,'channelId':_0xffaf88,'comments':_0x8b4fc5?_0x8b4fc5['map'](at):[],'context':_0x5c9f05,'attributes':_0x1208c7,'resolvedAt':_0x14b1d1,'resolvedBy':_0x159208,'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentThreadUpdated',(_0x2b9271,{commentThreadId:_0x4ebc8a,documentId:_0x16f0bf,context:_0x240e0b,unlinkedAt:_0x17512e,attributes:_0x450be6})=>{_0x8073aa['getCommentThread'](_0x4ebc8a)&&_0x8073aa['updateCommentThread']({'threadId':_0x4ebc8a,'channelId':_0x16f0bf,'context':_0x240e0b,'unlinkedAt':_0x17512e,'attributes':_0x450be6,'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentThreadResolved',(_0x2926db,{commentThreadId:_0x34735b,resolvedBy:_0x42edf4,resolvedAt:_0x32903e})=>{const _0x4d3556=_0x8073aa['getCommentThread'](_0x34735b);_0x4d3556&&_0x4d3556['resolve']({'resolvedBy':_0x42edf4,'resolvedAt':_0x32903e,'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentThreadReopened',(_0x512af9,{commentThreadId:_0xbf68b0})=>{const _0x56373f=_0x8073aa['getCommentThread'](_0xbf68b0);_0x56373f&&_0x56373f['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentThreadRemoved',(_0x20cf6d,{commentThreadId:_0x16bf90})=>{const _0x9ea317=_0x8073aa['getCommentThread'](_0x16bf90);_0x9ea317&&_0x9ea317['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentAdded',(_0x2e254a,_0x25d3c4)=>{const _0x4a0a74=_0x25d3c4['commentThreadId'],_0x373afc=_0x8073aa['getCommentThread'](_0x4a0a74);_0x373afc&&_0x373afc['addComment']({...at(_0x25d3c4),'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentUpdated',(_0x4e01b9,{commentThreadId:_0x22e777,commentId:_0x4ed7c3,content:_0x42018a,attributes:_0x2b73a4})=>{const _0x457d9f=_0x8073aa['getCommentThread'](_0x22e777);if(_0x457d9f){const _0x51eee6=_0x457d9f['getComment'](_0x4ed7c3);_0x51eee6&&_0x51eee6['update']({'content':_0x42018a,'attributes':_0x2b73a4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x670555,'commentRemoved',(_0x3c9b80,{commentThreadId:_0x5aafe5,commentId:_0x259bb6})=>{const _0x4d97f3=_0x8073aa['getCommentThread'](_0x5aafe5);if(_0x4d97f3){const _0x5e76d1=_0x4d97f3['getComment'](_0x259bb6);_0x5e76d1&&_0x5e76d1['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x670555,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x126d9b),this['stopListening'](_0x670555));}),await this['_connectService'](_0x126d9b);}['destroy'](){if(this['context']instanceof _0x403fa9){const _0x40ea8a=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x40ea8a)&&this['_terminateService'](_0x40ea8a);}}['_terminateService'](_0x55b4af){if(!this['_services']['has'](_0x55b4af))throw new _0x3f1dcf('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x55b4af});this['_getService'](_0x55b4af)['disconnect'](),this['_services']['delete'](_0x55b4af);}async['reconnect'](){for(const _0xb0c144 of this['_services']['keys']())await this['_connectService'](_0xb0c144);if(this['context']instanceof _0x403fa9){const _0x303bcf=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x303bcf)){const _0x2b4d00=this['context']['plugins']['get'](Y);_0x2b4d00['unregister'](_0x303bcf);const _0x14ad8f=await this['_services']['get'](_0x303bcf)['getConnectedSessions']();_0x2b4d00['register'](_0x303bcf,_0x14ad8f);}}}async['_connectService'](_0x919bc3){const {connection:_0x39ca14}=this['context']['plugins']['get'](z),_0x19c903=this['context']['plugins']['get'](_0x509c50),_0x3ef6a0=await this['_services']['get'](_0x919bc3)['connect'](_0x39ca14);await this['_fetchMissingUsersForThreads'](_0x3ef6a0);const _0x33c959=new Set(Array['from'](_0x19c903['getCommentThreads']({'channelId':_0x919bc3}),_0x52e847=>_0x52e847['id']));for(const _0x49d5d7 of _0x3ef6a0)_0x49d5d7['deletedAt']||_0x33c959['delete'](_0x49d5d7['commentThreadId']);for(const _0x1504bb of _0x33c959)_0x19c903['getCommentThread'](_0x1504bb)['remove']({'isFromAdapter':!0x0});for(const _0x217f19 of _0x3ef6a0){let _0x3c8260=_0x19c903['getCommentThread'](_0x217f19['commentThreadId']);const {commentThreadId:_0x531e7f,context:_0xdd1c3c,attributes:_0x313285,resolvedBy:_0x27de7e,resolvedAt:_0x5261f0,unlinkedAt:_0xaada5b,deletedAt:_0x2b9b8b}=_0x217f19;if(_0x2b9b8b)continue;_0x3c8260||(_0x3c8260=_0x19c903['addCommentThread']({'channelId':_0x919bc3,'threadId':_0x531e7f,'context':_0xdd1c3c,'attributes':_0x313285||{},'resolvedBy':_0x27de7e,'resolvedAt':_0x5261f0,'unlinkedAt':_0xaada5b,'isFromAdapter':!0x0}));const _0x1dd299=new Set(Array['from'](_0x3c8260['comments'],_0x185ec4=>_0x185ec4['id']));for(const _0x2b3eac of _0x217f19['comments'])_0x1dd299['delete'](_0x2b3eac['commentId']);for(const _0x1a8563 of _0x1dd299)_0x3c8260['getComment'](_0x1a8563)['remove']({'isFromAdapter':!0x0});for(const _0x49f908 of _0x217f19['comments']){const _0x5329c0=_0x3c8260['getComment'](_0x49f908['commentId']);_0x5329c0?_0x5329c0['content']!==_0x49f908['content']&&_0x5329c0['update']({'content':_0x49f908['content'],'isFromAdapter':!0x0}):_0x3c8260['addComment'](Object['assign'](at(_0x49f908),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4617f8){if(!this['_services']['has'](_0x4617f8))throw new _0x3f1dcf('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4617f8});return this['_services']['get'](_0x4617f8);}async['_fetchMissingUsersForThreads'](_0x276900){const _0x5296be=this['context']['plugins']['get'](_0x14b59c),{connection:_0x4f5b98}=this['context']['plugins']['get'](z),_0x4d12e0=new Set();for(const {resolvedBy:_0x3b7557,comments:_0x399c51}of _0x276900){_0x3b7557&&!_0x5296be['getUser'](_0x3b7557)&&_0x4d12e0['add'](_0x3b7557);for(const {userId:_0x307635}of _0x399c51)_0x5296be['getUser'](_0x307635)||_0x4d12e0['add'](_0x307635);}if(0x0===_0x4d12e0['size'])return;const _0x15e4cc=await _0x4a06bf['getMany'](_0x4f5b98,Array['from'](_0x4d12e0));for(const _0x15948c of _0x15e4cc)_0x5296be['getUser'](_0x15948c['id'])||_0x5296be['addUser'](_0x15948c);}};async function rt(_0x411f50){if('404'!==_0x411f50['code'])throw _0x411f50;}function ct(_0x580874){if((_0x2b76c2=_0x580874)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2b76c2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2b76c2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2b76c2;throw _0x580874;}function at(_0x141807){return{'threadId':_0x141807['commentThreadId'],'commentId':_0x141807['commentId'],'content':_0x141807['content'],'createdAt':_0x141807['createdAt'],'authorId':_0x141807['userId'],'attributes':_0x141807['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0xba3866{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x52f9bc)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x2053c1,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4bc7f4){super(_0x4bc7f4);const _0x952971=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x952971);}['init'](){const _0x59e87=this['editor']['plugins']['get'](z),_0x270547=this['editor']['plugins']['get'](_0x2053c1);return _0x270547['adapter']={'getSuggestion':async _0x1265a1=>{await this['_waitForServiceReady']();const _0x58f45b=await this['_trackChangesService']['get'](_0x1265a1)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x58f45b]),_0x58f45b;},'addSuggestion':async({id:_0x2c78fe,type:_0x4078e1,data:_0x1a4f1f,originalSuggestionId:_0x14c493,attributes:_0x474004})=>{await this['_waitForServiceReady']();const _0x50bac6={'id':_0x2c78fe,'type':_0x4078e1,'data':_0x1a4f1f,'originalSuggestionId':_0x14c493,'attributes':_0x474004},_0x307ce1=await this['_trackChangesService']['add'](_0x2c78fe,_0x4078e1,_0x1a4f1f,_0x14c493,_0x474004)['catch'](_0x2f5214=>{if(dt(_0x2f5214))return new Promise(_0x3f1dd7=>{this['_bufferedRequests']['set'](_0x2c78fe,{'resolve':_0x3f1dd7,'suggestionData':_0x50bac6});});throw _0x2f5214;});return this['_bufferedRequests']['delete'](_0x2c78fe),_0x307ce1;},'updateSuggestion':async(_0x42c526,_0x2922fa)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2922fa['state'])return this['_trackChangesService']['update'](_0x42c526,_0x2922fa)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x17ab5a,_0x41022b)=>{_0x270547['hasSuggestion'](_0x41022b['id'])&&(_0x270547['getSuggestion'](_0x41022b['id'])['attributes']=_0x41022b['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x59e87['connection']?.['state']&&(_0x59e87['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x59e87['connection'])['then'](_0x270351=>(_0x59e87['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x270351)['then'](()=>{for(const _0x1916da of _0x270351){_0x270547['addSuggestionData'](_0x1916da)['_saved']=!0x0;}})));}async['reconnect'](){const _0x58e2ec=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x48667c}=this['editor']['plugins']['get'](z),_0x5f4e3f=await this['_trackChangesService']['connect'](_0x48667c);await this['_fetchMissingUsersForThreads'](_0x5f4e3f);for(const {suggestionData:_0x390f23,resolve:_0x40611b}of this['_bufferedRequests']['values']()){let _0x1e199e=_0x5f4e3f['find'](_0x1cf7d3=>_0x1cf7d3['id']===_0x390f23['id']);_0x1e199e||(_0x1e199e=await this['_trackChangesService']['add'](_0x390f23['id'],_0x390f23['type'],_0x390f23['data'],_0x390f23['originalSuggestionId'])),_0x40611b(_0x1e199e);}for(const _0x5a1033 of _0x5f4e3f)_0x58e2ec['hasSuggestion'](_0x5a1033['id'])||_0x58e2ec['addSuggestionData'](_0x5a1033);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x30b853=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1e5475=>{_0x1e5475['off'](),_0x30b853();});});}async['_fetchMissingUsersForThreads'](_0x3846ae){const _0x25e627=this['editor']['plugins']['get'](_0x14b59c),{connection:_0x47faf9}=this['editor']['plugins']['get'](z),_0x1ce2e6=new Set();for(const {authorId:_0x56ed2d}of _0x3846ae)_0x25e627['getUser'](_0x56ed2d)||_0x1ce2e6['add'](_0x56ed2d);if(0x0===_0x1ce2e6['size'])return;const _0x88e019=await _0x4a06bf['getMany'](_0x47faf9,Array['from'](_0x1ce2e6));for(const _0x2ac593 of _0x88e019)_0x25e627['getUser'](_0x2ac593['id'])||_0x25e627['addUser'](_0x2ac593);}};function lt(_0x163de0){if(dt(_0x163de0))return new Promise(()=>{});throw _0x163de0;}function dt(_0x23797e){return _0x23797e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x23797e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0xba3866{static get['requires'](){return[_0x2de072,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xb39199=this['editor']['plugins']['get'](z),_0x5af1a5=this['editor']['plugins']['get'](_0x34f96c),_0x3d0df2=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xb39199,'change:state',(_0x5d0968,_0x14b5c1,_0x2631b0)=>{_0x5af1a5['isThreadsLoadingPaused']='connected'!==_0x2631b0;});}),this['listenTo'](_0xb39199,'change:state',(_0x375938,_0x38c37f,_0x3f193b)=>{this['editor']['plugins']['get'](_0x509c50)['switchReadOnly']('connected'!==_0x3f193b);}),_0x3d0df2['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0xa428c4=this['editor']['plugins']['get'](ot),_0x3aa8fb=this['editor']['config']['get']('collaboration.channelId');_0xa428c4['_services']['has'](_0x3aa8fb)&&_0xa428c4['_terminateService'](_0x3aa8fb),super['destroy']();}},ft=class extends _0xba3866{static get['requires'](){return[ut,ht,_0x32388c];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0xba3866{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x145221)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x5a9f69,Y,_0x14b59c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x196545){super(_0x196545);const _0x102b89=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x102b89);}async['init'](){const _0x988b1d=this['editor']['plugins']['get'](tt),_0x10f343=_0x988b1d['serverHistory'],_0x4542ed=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x10f343,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x988b1d['sessionId']});const _0x35943b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x13d0cc,_0x50061f=await _0x451a45['isBundleUploaded'](_0x4542ed['connection'],_0x35943b);this['editor']['plugins']['get'](_0x5a9f69)['adapter']={'getRevision':async({revisionId:_0xcd959d})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xcd959d)),'updateRevisions':async _0x1f7f67=>{await this['_waitForServiceReady']();const _0x46eff9=this['_revisionTracker']['currentRevision'];if(_0x50061f&&0x1===_0x1f7f67['length']&&_0x1f7f67[0x0]['id']===_0x46eff9['id'])return _0x1f7f67;for(const _0x1a46ae of _0x1f7f67)_0x1a46ae['id']===_0x46eff9['id']&&(_0x1a46ae['isEmptyCurrent']=_0x1a46ae['fromVersion']===_0x1a46ae['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1f7f67,this['_lastRequestId'])['then'](_0x24b6e4=>(this['_lastRequestId']=_0x24b6e4,_0x1f7f67))['catch'](_0xfe4758=>{if(pt(_0xfe4758)||'400'===_0xfe4758['code']&&void 0x0!==_0xfe4758['data']['wrongRequestId']){for(const _0x20ec98 of _0x1f7f67)this['_revisionTracker']['repository']['getRevision'](_0x20ec98['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x20ec98['id'],_0x20ec98,!0x1);if(pt(_0xfe4758)&&'destroyed'!==this['editor']['state'])throw _0xfe4758;return _0x1f7f67;}throw _0xfe4758;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x291b4c,{revisionsData:_0x3b42c6,requestId:_0x59b439})=>{Math['max'](..._0x3b42c6['map'](_0x211bfa=>_0x211bfa['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b42c6,_0x59b439);}):this['_handleRevisionsUpdate'](_0x3b42c6,_0x59b439);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x4542ed['connection']?.['state']&&(_0x4542ed['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x217fc7,requestId:_0x2d58bf}=await this['_revisionHistoryService']['connect'](_0x4542ed['connection']);_0x4542ed['addToReconnectionStack'](this),this['_lastRequestId']=_0x2d58bf,await this['_fetchMissingUsers'](_0x217fc7);for(const _0x2cb31c of _0x217fc7)this['_revisionTracker']['addRevisionData'](_0x2cb31c);this['listenTo'](_0x988b1d,'change:_isConnected',(_0x5c98e,_0x412975,_0x1b6331)=>{_0x1b6331&&(this['_oldOffset']=_0x988b1d['_offset'],_0x5c98e['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x343bdf=this['editor']['plugins']['get'](z),_0x9ea0b5=this['editor']['plugins']['get'](tt),_0x4c988a=async()=>{const _0x39c09b=this['_revisionTracker']['currentRevision'],_0x4615fd=_0x39c09b['id'],_0x36e2e3=_0x4615fd!==_0x9ea0b5['sessionId'];if(_0x36e2e3){const _0x186ba2=_0x9ea0b5['_offset']-this['_oldOffset'],_0xa4e785=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x39c09b['toVersion']+_0x186ba2!==_0xa4e785){const _0x57ff45=_0x39c09b['fromVersion']+_0x186ba2,_0x35f919=this['editor']['plugins']['get'](_0x14b59c),_0x246c1b=this['_revisionTracker']['buildRevisionData']({'revision':_0x39c09b,'from':_0x57ff45,'to':_0xa4e785});_0x246c1b['id']=_0x39c09b['id'];const _0x214190=_0x246c1b['authorsIds']['map'](_0x56ae05=>_0x35f919['getUser'](_0x56ae05));_0x39c09b['_update']({..._0x246c1b,'authors':_0x214190},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x39c09b['id'],_0x246c1b,!0x0);}this['_revisionTracker']['_startingVersion']=_0xa4e785,_0x39c09b['toVersion']!==_0x39c09b['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4615fd)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4615fd),this['_revisionTracker']['_createCurrentRevision'](_0xa4e785);}const {revisions:_0x1d2a07,requestId:_0x333f81}=await this['_revisionHistoryService']['reconnect'](_0x343bdf['connection'],this['_lastRequestId']);_0x36e2e3&&_0x1d2a07['length']>0x0?_0x9ea0b5['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1d2a07),this['_handleRevisionsUpdate'](_0x1d2a07,_0x333f81),this['_revisionTracker']['sendBufferedUpdates']());};return _0x9ea0b5['_isConnected']?_0x4c988a():new Promise((_0x599c40,_0x2fdb67)=>{_0x9ea0b5['once']('change:_isConnected',()=>{_0x4c988a()['then'](_0x599c40)['catch'](_0x2fdb67);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5b0b93=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3dd27c=>{_0x3dd27c['off'](),_0x5b0b93();});});}['_getLatestVersionFromServerOperations'](){const _0x33d68b=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x4a4067 of _0x33d68b)if('marker'!==_0x4a4067['type']||_0x4a4067['affectsData'])return _0x4a4067['baseVersion']+0x1;}['_getLatestVersion'](){const _0x512f12=this['editor']['plugins']['get'](tt);return new Promise(_0x3f5395=>{_0x512f12['_isPendingUpdate']?_0x512f12['once']('change:_isPendingUpdate',()=>{_0x3f5395(this['_getLatestVersionFromServerOperations']());}):_0x3f5395(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x343d1b,_0x3fab77){const _0x5a1d34=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3fab77;for(const _0x2c1045 of _0x343d1b){const _0x70a4e2=_0x5a1d34['getRevision'](_0x2c1045['id']);if(_0x70a4e2){if((_0x2c1045['fromVersion']||_0x2c1045['toVersion'])&&(_0x2c1045['diffData']=null),_0x70a4e2===this['_revisionTracker']['currentRevision']){const _0x3b9a21=Math['max'](_0x70a4e2['toVersion'],_0x2c1045['toVersion']),_0x146d1a=Math['max'](_0x70a4e2['fromVersion'],_0x2c1045['fromVersion']);let _0x46e85a;_0x70a4e2['toVersion']===_0x2c1045['toVersion']&&_0x70a4e2['fromVersion']===_0x2c1045['fromVersion']?(_0x46e85a=!0x0,this['_preventResendingRevisionData'](_0x2c1045)):_0x2c1045['toVersion']===_0x3b9a21&&_0x2c1045['fromVersion']===_0x146d1a?_0x46e85a=!0x1:(_0x70a4e2['toVersion']===_0x3b9a21&&_0x70a4e2['fromVersion']===_0x146d1a||this['_fixRevision']({'revision':_0x70a4e2,'from':_0x146d1a,'to':_0x3b9a21}),_0x46e85a=!0x0),_0x46e85a&&(delete _0x2c1045['fromVersion'],delete _0x2c1045['toVersion'],delete _0x2c1045['diffData'],delete _0x2c1045['createdAt'],delete _0x2c1045['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2c1045),this['_preventResendingRevisionData'](_0x2c1045);}else this['_revisionTracker']['addRevisionData'](_0x2c1045);}const _0x1ea12c=_0x5a1d34['getRevisions']();_0x1ea12c['reverse']();for(let _0x3426f7=0x0;_0x3426f7<_0x1ea12c['length']-0x1;_0x3426f7++){const _0x286c52=_0x1ea12c[_0x3426f7],_0x5ec5ce=_0x1ea12c[_0x3426f7+0x1];if(_0x286c52['fromVersion']<_0x5ec5ce['toVersion']){const _0x5a1b47=_0x5ec5ce['toVersion'],_0x52d406=Math['max'](_0x5a1b47,_0x286c52['toVersion']);this['_fixRevision']({'revision':_0x286c52,'from':_0x5a1b47,'to':_0x52d406});}}}['_fixRevision']({revision:_0x5e66cc,from:_0x347669,to:_0x302298}={}){const _0x4789db=this['editor']['plugins']['get'](_0x14b59c),_0x30131b=this['_revisionTracker']['buildRevisionData']({'revision':_0x5e66cc,'from':_0x347669,'to':_0x302298});_0x30131b['authors']=_0x30131b['authorsIds']['map'](_0x5b9422=>_0x4789db['getUser'](_0x5b9422)),_0x5e66cc['_update'](_0x30131b);}['_preventResendingRevisionData'](_0x234e29){const _0x2e3098={};_0x2e3098['id']=_0x234e29['id'];for(const _0x104abe of Object['keys'](_0x234e29))'id'!==_0x104abe&&(_0x2e3098[_0x104abe]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2e3098['id'],_0x2e3098,!0x0);}async['_fetchMissingUsers'](_0x515b84){const _0x2d2ce7=this['editor']['plugins']['get'](_0x14b59c),{connection:_0x411f61}=this['editor']['plugins']['get'](z),_0x1d37c9=new Set();for(const _0x131289 of _0x515b84){for(const _0x435b9f of _0x131289['authorsIds'])_0x16a9c7(_0x435b9f);_0x131289['creatorId']&&_0x16a9c7(_0x131289['creatorId']);}if(0x0===_0x1d37c9['size'])return;const _0x5ed725=await _0x4a06bf['getMany'](_0x411f61,Array['from'](_0x1d37c9));for(const _0x471f55 of _0x5ed725)_0x2d2ce7['getUser'](_0x471f55['id'])||_0x2d2ce7['addUser'](_0x471f55);function _0x16a9c7(_0x2206ea){_0x2d2ce7['getUser'](_0x2206ea)||_0x1d37c9['add'](_0x2206ea);}}};function pt(_0x1785da){return _0x1785da['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1785da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1785da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0xba3866{static get['requires'](){return[_0x5a9f69,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x48e552{['_collapseAt'];constructor(_0x3410b9,_0x5d35cf=0x6){super(_0x3410b9);const _0x3a90a5=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5d35cf,this['bind']('isHidden')['to'](this,'usersCount',_0x10b17a=>_0x10b17a<_0x5d35cf),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3a90a5['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':_0x3a90a5['to']('usersCount',_0x689953=>'+'+(_0x689953-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x48e552{['items'];['keystrokes'];constructor(_0x12fd0d){super(_0x12fd0d);const _0x349288=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5a77f1(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x349288['if']('hasPopup'),'aria-expanded':_0x349288['to']('isExpanded',_0x57e5a1=>this['hasPopup']&&String(_0x57e5a1)),'aria-label':_0x349288['to']('hasPopup',_0x2ab32a=>X(_0x12fd0d,_0x2ab32a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x349288['to']('hasPopup',_0x12e514=>!!_0x12e514&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x349288['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x349288['to'](_0x20331d=>{const _0x339a37=_0x20331d,_0x3dd63d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x57f34b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3dd63d?.['contains'](_0x339a37['relatedTarget'])||_0x57f34b?.['contains'](_0x339a37['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4d1c6c,_0x10eec6,_0x29355b)=>{this['element']&&(_0x29355b?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']);}},_t=class extends _0x48e552{['counterView'];['inlineListView'];constructor(_0x5943de,_0x48ddfc=0x6){super(_0x5943de);const _0x522a1a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x48ddfc),this['inlineListView']=new vt(_0x5943de),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1dcd54 of this['inlineListView']['items'])_0x1dcd54['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',_0x522a1a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x48e552{['listWrapperView'];constructor(_0x2804e9,_0xfad4b0){super(_0x2804e9);const _0x4b4029=this['bindTemplate'];this['listWrapperView']=new bt(_0x2804e9,_0xfad4b0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x2804e9,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4b4029['to'](_0x46d8cb=>{const _0x3c7a09=_0x46d8cb,_0x2eb313=document['querySelector']('.ck-presence-list__list'),_0x3f4605=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2eb313?.['contains'](_0x3c7a09['relatedTarget'])||_0x3f4605?.['contains'](_0x3c7a09['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x5dc78c{constructor(_0x3c7315,_0x165b69){super(_0x3c7315);const _0x1d6657=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x165b69?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1d6657['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1d6657['to']('role'),'aria-label':_0x1d6657['to']('ariaLabel'),'aria-labelledby':_0x1d6657['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3c55b7['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xf5b646=this['element'];_0xf5b646&&(this['_isScrollable']=Math['max'](_0xf5b646['scrollHeight'],_0xf5b646['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x1b5251{['userView'];constructor(_0x41917e,_0x5e3fd8,_0x323907){super(_0x41917e);const _0x2b14b9=this['bindTemplate'];this['userView']=new _0x10a99c(_0x41917e,_0x5e3fd8);const _0x401c12={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5e3fd8['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5e3fd8['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5e3fd8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5e3fd8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5e3fd8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x323907&&(_0x401c12['tag']='button',_0x401c12['on']={'click':_0x2b14b9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x401c12);}['focus'](){this['element']['focus']();}},It=class extends _0x48e552{['userView'];['markerView'];constructor(_0x8add37,_0x592c65,_0x9d8126){super(_0x8add37);const _0x557311=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x10a99c(_0x8add37,_0x592c65),this['markerView']=new St(_0x8add37,_0x592c65);const _0x514788=new _0x1a8e59(_0x8add37);_0x514788['template']['tag']='span',_0x514788['text']=_0x592c65['name'];const _0x3b498a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x557311['to']('isFocusable',_0x4a6ee9=>!!_0x4a6ee9&&0x0),'aria-labelledby':_0x514788['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x557311['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x557311['to']('hasTooltip',_0x5d8e98=>!_0x5d8e98),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x514788]};_0x9d8126&&(_0x3b498a['tag']='button',_0x3b498a['on']={'click':_0x557311['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3b498a);}},St=class extends _0x48e552{constructor(_0x2e005d,_0x203f22){super(_0x2e005d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x203f22['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x203f22['color']['getColorVariable'](),'--ck-user-color-alpha':_0x203f22['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x748e16{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1db676){super(_0x1db676),this['context']['config']['define']('presenceList',Tt);const _0x4c829c=_0x1db676['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4c829c)throw new _0x3f1dcf('presencelist-collapseat-invalid-format',this);if(_0x4c829c<0x1)throw new _0x3f1dcf('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x271755(),this['balloonPanelView']=new _0x14124b(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1a14e4 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1a14e4);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4a380d,_0x5b8c21)=>{this['_handleUserAdd'](_0x5b8c21);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x29c3f9,_0xfcd914)=>{this['_handleUserRemove'](_0xfcd914);});}['_createView'](){const _0x1f3b4d=this['context'],_0x5b9e34=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x180e1d=this['balloonPanelView'];if(!_0x19e585(_0x1f3b4d['config']['get']('presenceList.container')))throw new _0x3f1dcf('presencelist-missing-container',this);return _0x5b9e34['counterView']['bind']('usersCount')['to'](this),_0x5b9e34['bind']('isCollapsed')['to'](this,'usersCount',_0x15dd36=>{const {collapseAt:_0x484f56}=_0x1f3b4d['config']['get']('presenceList'),_0x204725=_0x15dd36>=_0x484f56;if(_0x204725&&!_0x5b9e34['inlineListView']['items']['find'](_0xfa0868=>_0xfa0868 instanceof wt)){const _0x35d131=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x35d131&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5b9e34['inlineListView']['items']['add'](_0x5b9e34['counterView']);}return _0x204725||this['hideDropdown'](),_0x204725;}),_0x5b9e34['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x550eac=>{const _0x2cb979=_0x1f3b4d['config']['get']('presenceList'),_0x28d68a=new It(_0x1f3b4d['locale'],_0x550eac,!!_0x2cb979['onClick']);return _0x28d68a['bind']('hasTooltip')['to'](_0x5b9e34,'isCollapsed',_0x4bd06a=>!_0x4bd06a),_0x28d68a['bind']('isFocusable')['to'](_0x5b9e34,'isCollapsed',_0x5bd38b=>!_0x5bd38b),_0x2cb979['onClick']&&this['listenTo'](_0x28d68a,'execute',()=>{this['view']['isCollapsed']||_0x2cb979['onClick'](_0x550eac,_0x28d68a['element']);}),_0x28d68a;}),this['listenTo'](_0x5b9e34['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5b9e34['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5b9e34['inlineListView']['keystrokes']['set']('Enter',(_0x84918c,_0x4950bd)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4950bd());}),_0x5b9e34['render'](),_0x180e1d['render'](),_0x2c9d92({'emitter':_0x5b9e34,'activator':()=>_0x180e1d['isVisible'],'contextElements':[_0x180e1d['element'],_0x5b9e34['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1f3b4d['config']['get']('presenceList.container')['appendChild'](_0x5b9e34['element']),this['_bodyCollection']=new _0x47ad2b(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5b9e34;}['_handleUserAdd'](_0x1e2534){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1e2534['isMe'])return;const _0x2d4234=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2d4234-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x386402=_0x1e2534['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1e2534,_0x386402);}['_handleUserRemove'](_0x596775){this['usersCount']--;const {collapseAt:_0x384f6c}=this['context']['config']['get']('presenceList'),_0x3c4ad2=this['usersCount']>=_0x384f6c;if(this['currentDisplayedUsers']['get'](_0x596775['id']))this['currentDisplayedUsers']['remove'](_0x596775['id']);else{if(_0x3c4ad2&&this['currentDisplayedUsers']['length']+0x1===_0x384f6c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3c4ad2?0x1:0x0)<this['usersCount']){for(const _0x1bd1a2 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1bd1a2['id'])&&(this['currentDisplayedUsers']['add'](_0x1bd1a2,Math['min'](this['currentDisplayedUsers']['length']-(_0x3c4ad2?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3c4ad2?0x1:0x0)===_0x384f6c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x26bd4d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x26bd4d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x290c89}=this['presenceDropdownView'];_0x290c89['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x13b94d=>{if(!_0x26bd4d['displayMe']&&_0x13b94d['isMe'])return null;const _0x48ee4b=new kt(this['context']['locale'],_0x13b94d,!!_0x26bd4d['onClick']);return _0x26bd4d['onClick']&&this['listenTo'](_0x48ee4b,'execute',()=>{_0x26bd4d['onClick'](_0x13b94d,_0x48ee4b['element']);}),_0x48ee4b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x290c89['focus'](),_0x290c89['checkIfScrollable']();const _0x1ec367=(_0x3c09ef,_0x39f51a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x39f51a();};_0x290c89['keystrokes']['set']('Esc',_0x1ec367),_0x290c89['keystrokes']['set']('Shift+Tab',_0x1ec367),_0x290c89['keystrokes']['set']('Tab',(_0x5a2ca7,_0x5bcb37)=>{!function(_0x375f37){const _0x3346d4=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2e63ad=>_0x2e63ad+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2e0010=[...document['body']['querySelectorAll'](_0x3346d4)]['filter'](_0x4d113e=>_0x4d113e===document['activeElement']||_0x4d113e['offsetWidth']+_0x4d113e['offsetHeight']>0x0)['sort']((_0x2ea8ed,_0x4591d8)=>(_0x2ea8ed['tabIndex']||0x0)-(_0x4591d8['tabIndex']||0x0)),_0x1c11e0=_0x2e0010[(_0x2e0010['indexOf'](_0x375f37)+0x1)%_0x2e0010['length']];_0x1c11e0&&_0x1c11e0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5bcb37();}),_0x290c89['focusTracker']['add'](this['view']['element']),_0x290c89['focusTracker']['on']('change:isFocused',(_0x311396,_0x199116,_0x36419c)=>{_0x36419c||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);}},At=class extends _0x748e16{static get['requires'](){return[Y,Ct];}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,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};