@ckeditor/ckeditor5-real-time-collaboration 48.1.0-alpha.0 → 48.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x53a76,Plugin as _0x5dd355,PendingActions as _0x971f0,Context as _0x590382}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4658db,CKEditorError as _0x32c009,Collection as _0x5e7903,global as _0x2bc8a6,version as _0x12935f,uid as _0x249687,KeystrokeHandler as _0x519e0d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x378566,View as _0x1ba7c4,ListView as _0x41531e,ListItemView as _0x2dced5,LabelView as _0x1a4d5e,BalloonPanelView as _0x19fd24,clickOutsideHandler as _0x209f0e,BodyCollection as _0x401395}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4aea66,History as _0xa70243,NoOperation as _0x2a0345,InsertOperation as _0x540882,MarkerOperation as _0x444ac6,RootAttributeOperation as _0x2de69a,transformOperationSets as _0x4fbbd0,OperationFactory as _0x43324d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x2bc8e8}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0xb1432c,WEB_SOCKET_GATEWAY_STATES as _0x5366a4,CollaborativeEditingService as _0x4ed9df,User as _0xd9f1f6,CommentsService as _0x1af6f7,TrackChangesService as _0xab9f82,RevisionHistoryService as _0x5ab0db,EditorService as _0x3d0f6f}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x3a80aa,UserView as _0x1c1683}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x38c9a0}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x209986,TrackChanges as _0x10a22b}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0xa1c674,Comments as _0x4465dd,CommentsEditing as _0x2429ee}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x4f781c}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x4fae5c}from'es-toolkit/compat';class z extends _0x53a76{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0xb1432c)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x2bc8e8,_0x378566];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3b7455){super(_0x3b7455),this['set']('state',_0x5366a4['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4658db())();}['init'](){const _0x15c8bc=this['context'],_0x597d7a=_0x15c8bc['plugins']['get'](_0x2bc8e8),_0x403922=_0x15c8bc['plugins']['get'](_0x378566);if(!_0x597d7a['token'])throw new _0x32c009('websocketgateway-missing-token',this);if(!_0x597d7a['webSocketUrl'])throw new _0x32c009('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x597d7a['token'],_0x597d7a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x14b88a=>{if(this['connection']=_0x14b88a,this['bind']('state')['to'](_0x14b88a,'state',this,'_isBrowserOffline',(_0x4fa614,_0x45f9fc)=>('connected'!==_0x4fa614&&(this['_shouldPluginsReconnect']=!0x0),_0x45f9fc||_0x4fa614!==_0x5366a4['CONNECTED']?_0x5366a4['DISCONNECTED']:this['state']==_0x5366a4['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5366a4['CONNECTING']):_0x5366a4['CONNECTED'])),this['connection']['on']('error',(_0x3d483a,_0x2c25c5)=>{if('limitExceeded'!==_0x2c25c5['code'])throw console['error'](_0x2c25c5),new _0x32c009('cloudservices-init',null,{'originalError':_0x2c25c5});_0x403922['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'});}),!_0x14b88a['me'])return new Promise(_0x2a6c20=>_0x14b88a['on']('change:me',_0x2a6c20));})['catch'](_0x13654f=>{throw console['error'](_0x13654f),new _0x32c009('cloudservices-init',null,{'originalError':_0x13654f});});}['addToReconnectionStack'](_0x2d2bdb){if('function'!=typeof _0x2d2bdb['reconnect'])throw new _0x32c009('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x2d2bdb))throw new _0x32c009('websocketgateway-plugin-already-registered',this,{'name':_0x2d2bdb['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x2d2bdb);}['removeFromReconnectionStack'](_0x218b41){this['_reconnectionStack']['delete'](_0x218b41);}['isInReconnectionStack'](_0x44f845){return this['_reconnectionStack']['has'](_0x44f845);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3112d8=>_0x3112d8['reconnect']())))['then'](()=>this['state']=_0x5366a4['CONNECTED'])['catch'](_0x380b08=>{throw console['error'](_0x380b08),new _0x32c009('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5366a4['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x53a76{['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,_0x3a80aa];}constructor(_0x112298){super(_0x112298),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5e7903(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3a80aa);}['init'](){const _0x56df95=this['context']['plugins']['get'](z);this['listenTo'](_0x56df95,'change:state',(_0xedaa47,_0x4c9f73,_0xfa672b)=>{if('connected'!==_0xfa672b)this['channelSessions']['forEach'](_0x9510d0=>_0x9510d0['clear']()),this['channelConnectedUsers']['forEach'](_0x2d1457=>_0x2d1457['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2d80cd,_0x18f232]of this['_registeredSessions'])for(const _0x1c5234 of _0x18f232)this['_handleSessionAdd'](_0x2d80cd,_0x1c5234);}}),this['_createUser'](_0x56df95['connection']['me'],!0x0);}['register'](_0x386329,_0x1e3e35){if(this['_registeredSessions']['has'](_0x386329))throw new _0x32c009('sessions-register-already-registered',null,{'channelId':_0x386329});this['_registeredSessions']['set'](_0x386329,_0x1e3e35),this['channelSessions']['set'](_0x386329,new _0x5e7903()),this['channelConnectedUsers']['set'](_0x386329,new _0x5e7903()),this['listenTo'](_0x1e3e35,'add',(_0x58bcd4,_0x3c728b)=>this['_handleSessionAdd'](_0x386329,_0x3c728b)),this['listenTo'](_0x1e3e35,'remove',(_0x1d75e3,_0x5b0528)=>this['_handleSessionRemove'](_0x386329,_0x5b0528));for(const _0x5978c7 of _0x1e3e35)this['_handleSessionAdd'](_0x386329,_0x5978c7);}['unregister'](_0x4fde7e){if(!this['_registeredSessions']['has'](_0x4fde7e))throw new _0x32c009('sessions-unregister-not-exist',null,{'channelId':_0x4fde7e});const _0x46ee87=this['_registeredSessions']['get'](_0x4fde7e);this['stopListening'](_0x46ee87);for(const _0x3382f9 of _0x46ee87)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x4fde7e,_0x3382f9);this['_registeredSessions']['delete'](_0x4fde7e),this['channelSessions']['delete'](_0x4fde7e),this['channelConnectedUsers']['delete'](_0x4fde7e);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x376f01){for(const _0x1e337e of this['channelSessions']['values']())for(const _0x28f919 of _0x1e337e)if(_0x28f919['id']===_0x376f01)return _0x28f919['user'];}['getUserSessions'](_0x15e8dd,_0x5c5b56){const _0xc8f4be=_0x5c5b56?[this['channelSessions']['get'](_0x5c5b56)]:this['channelSessions']['values'](),_0x59e725=new Set();for(const _0x4b1b29 of _0xc8f4be)for(const _0x1513e4 of _0x4b1b29)_0x1513e4['user']['id']===_0x15e8dd['id']&&_0x59e725['add'](_0x1513e4['id']);return _0x59e725;}['getUserRole'](_0x4bd3ae){for(const _0x3a54ff of this['channelSessions']['values']())for(const _0x205747 of _0x3a54ff)if(_0x205747['user']===_0x4bd3ae)return _0x205747['role'];}['_handleSessionAdd'](_0x4ad808,_0x249b92){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x30c645=_0x249b92['user'],_0x40d5db=this['_users']['getUser'](_0x30c645['id'])||this['_createUser'](_0x30c645),_0x1af3bb=Object['assign']({},_0x249b92,{'user':_0x40d5db});if(this['channelSessions']['get'](_0x4ad808)['add'](_0x1af3bb),!_0x30c645['hiddenInPresenceList']){const _0x4c2e4a=this['channelConnectedUsers']['get'](_0x4ad808);_0x4c2e4a['has'](_0x40d5db['id'])||_0x4c2e4a['add'](_0x40d5db),this['allConnectedUsers']['has'](_0x40d5db['id'])||_0x30c645['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x40d5db,_0x40d5db['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x4ad808,{'channelId':_0x4ad808,'session':_0x1af3bb});}['_handleSessionRemove'](_0x2ee5b1,_0x5e354d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x423758=this['channelConnectedUsers']['get'](_0x2ee5b1),_0x44e267=_0x5e354d['user'];_0x44e267['id']&&(this['channelSessions']['get'](_0x2ee5b1)['remove'](_0x5e354d['id']),_0x423758['has'](_0x44e267['id'])&&!this['getUserSessions'](_0x44e267,_0x2ee5b1)['size']&&_0x423758['remove'](_0x44e267['id']),this['allConnectedUsers']['get'](_0x44e267['id'])&&!this['getUserSessions'](_0x44e267)['size']&&this['allConnectedUsers']['remove'](_0x44e267['id']));}['_createUser'](_0x311ab4,_0x287062){const _0x552d95=this['_users']['addUser'](_0x311ab4);return _0x287062&&this['_users']['defineMe'](_0x311ab4['id']),_0x552d95['orderNumber']=this['_uniqueUsersCount']++,_0x552d95;}}class K extends _0x5dd355{['_domEmitter']=new(_0x4658db())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x25d0bb=this['editor'],_0x54e1a2=_0x25d0bb['plugins']['get'](Y);_0x25d0bb['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x47b3c4,{writer:_0x2a8f07})=>function(_0x544868,_0x12205d,_0x2c9b39,_0x1c27a9){const _0x246742=_0x544868['markerName']['split'](':')[0x2],_0x480a54=_0x2c9b39['getUserBySessionId'](_0x246742);if(!_0x480a54||_0x246742===_0x2c9b39['mySessionId'])return;if(!_0x1c27a9['model']['schema']['checkChild'](_0x544868['markerRange']['start'],'$text'))return;const _0x5e930d={'class':'ck-user__marker\x20'+_0x480a54['color']['getMarkerClass'](),'style':Q(_0x480a54),'data-name':_0x480a54['name'],'data-session-id':_0x246742},_0x948872=_0x1c27a9['model']['markers']['get'](_0x544868['markerName']),_0x9bc72e=_0x948872['getStart'](),_0x8d1f13=_0x9bc72e['nodeAfter'],_0x56a544=_0x1c27a9['model']['schema'];if(_0x8d1f13&&_0x56a544['isObject'](_0x8d1f13)&&_0x56a544['isInline'](_0x8d1f13)&&!_0x1c27a9['model']['markers']['get']('user:range:'+_0x246742)['getRange']()['isCollapsed'])return;const _0x39a716=_0x9bc72e['parent'];return _0x1c27a9['model']['schema']['isLimit'](_0x39a716)&&!_0x1c27a9['model']['hasContent'](_0x39a716)&&(_0x5e930d['contenteditable']=!0x1),function(_0x484833,_0x1b0436,_0x4e8fcf){const _0x45861a=_0x484833['createUIElement']('span',_0x1b0436);return _0x484833['setCustomProperty']('userPositionMarker',!0x0,_0x45861a),_0x45861a['render']=function(_0x5f0a37){const _0x2643b7=this['toDomElement'](_0x5f0a37),_0x1cafe4=document['createElement']('span');return _0x1cafe4['classList']['add']('ck-user__marker-tooltip'),_0x1cafe4['setAttribute']('contenteditable','false'),_0x1cafe4['setAttribute']('spellcheck','false'),_0x1cafe4['textContent']=_0x4e8fcf['name'],_0x2643b7['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1cafe4['outerHTML']+'⁠',_0x2643b7['addEventListener']('mouseenter',()=>{_0x2643b7['classList']['add']('ck-user__marker_hovered');}),_0x2643b7['addEventListener']('mouseleave',()=>{_0x2643b7['classList']['remove']('ck-user__marker_hovered');}),_0x2643b7;},_0x45861a['isSimilar']=function(_0x37b925){return!(!this['getCustomProperty']('userPositionMarker')||!_0x37b925['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x37b925['getAttribute']('data-session-id'));},_0x45861a;}(_0x12205d,_0x5e930d,_0x480a54);}(_0x47b3c4,_0x2a8f07,_0x54e1a2,_0x25d0bb)}),_0x25d0bb['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3bf16e=>function(_0x152085,_0x1fa209){const _0x41f59d=_0x152085['markerName']['split'](':')[0x2];if(_0x41f59d===_0x1fa209['mySessionId'])return null;const _0x72bf40=_0x1fa209['getUserBySessionId'](_0x41f59d);if(!_0x72bf40)return{'id':_0x41f59d,'classes':[]};return{'id':_0x41f59d,'classes':['ck-user__selection',_0x72bf40['color']['getSelectionClass']()],'attributes':{'style':Q(_0x72bf40),'data-session-id':_0x41f59d},'priority':0x7d0+_0x72bf40['orderNumber']};}(_0x3bf16e,_0x54e1a2)}),function(_0x14df8f){const _0x1927dd=_0x14df8f['model'],_0x1e18db=new Map(),_0x4cf1db=_0x14df8f['plugins']['get'](Y);_0x1927dd['markers']['on']('update:user:range',(_0x160a7b,_0x2f2cd6,_0x13a17f,_0xe81948)=>{if(!_0xe81948&&_0x1e18db['get'](_0x2f2cd6['name']))return _0x1e18db['get'](_0x2f2cd6['name'])['detach'](),void _0x1e18db['delete'](_0x2f2cd6['name']);const _0x9c54f4=_0x2f2cd6['name']['split'](':')[0x2];if(_0x9c54f4===_0x4cf1db['mySessionId'])return;const _0x27d448='user:position:'+_0x9c54f4;_0x1927dd['markers']['has'](_0x27d448)&&_0x14df8f['editing']['reconvertMarker'](_0x27d448),_0x2f2cd6['on']('change:range',(_0x42e92e,_0x53d5e4,_0x10c02f)=>{if('$graveyard'!=_0x53d5e4['root']['rootName']&&'$graveyard'==_0x2f2cd6['getRange']()['root']['rootName']&&!_0x1e18db['has'](_0x2f2cd6['name'])){const _0x4d35bf=_0x1927dd['schema']['getNearestSelectionRange'](_0x10c02f['deletionPosition']);if(_0x4d35bf){const _0x2f0cde=_0x4aea66['fromRange'](_0x4d35bf);_0x1e18db['set'](_0x2f2cd6['name'],_0x2f0cde),_0x2f0cde['on']('change:range',(_0x449213,_0x23e0a8,_0x139671)=>{if('$graveyard'==_0x2f0cde['root']['rootName']){const _0x1cb855=_0x1927dd['schema']['getNearestSelectionRange'](_0x139671['deletionPosition']);_0x1cb855?(_0x2f0cde['start']=_0x1cb855['start'],_0x2f0cde['end']=_0x1cb855['end']):(_0x1e18db['delete'](_0x2f2cd6['name']),_0x2f0cde['detach']());}});}}});}),_0x1927dd['document']['on']('change',()=>{_0x1e18db['size']>0x0&&_0x1927dd['enqueueChange']({'isUndoable':!0x1},_0x51427c=>{for(const [_0x4cbd3a,_0x19044d]of _0x1e18db)'$graveyard'==_0x1927dd['markers']['get'](_0x4cbd3a)['getRange']()['root']['rootName']&&(J(_0x4cbd3a['split'](':')[0x2],_0x19044d['toRange'](),_0x1927dd,_0x51427c),_0x19044d['detach']());_0x1e18db['clear']();});});}(_0x25d0bb),this['_domEmitter']['listenTo'](_0x2bc8a6['document'],'keydown',(_0x41497c,{key:_0x4f4a51})=>{'Escape'===_0x4f4a51&&function(_0x314d2e){_0x314d2e['editing']['view']['change'](_0x6490a3=>{for(const _0x518dd1 of _0x314d2e['model']['markers']){if(!_0x518dd1['name']['startsWith']('user:position'))continue;const _0x3b66ea=_0x314d2e['editing']['mapper']['markerNameToElements'](_0x518dd1['name']);if(_0x3b66ea){for(const _0x17f515 of _0x3b66ea)_0x6490a3['removeClass']('ck-user__marker_hovered',_0x17f515);}}});}(_0x25d0bb);},{'useCapture':!0x0});}['afterInit'](){const _0x1dd0cf=this['editor'],_0x48ad4f=_0x1dd0cf['commands']['get']('undo');_0x48ad4f&&_0x1dd0cf['model']['on']('applyOperation',(_0x49c77b,_0x44c20e)=>{const _0x27583f=_0x44c20e[0x0];if(!_0x27583f['isDocumentOperation'])return;if('marker'!=_0x27583f['type']||!_0x27583f['name']['startsWith']('user:'))return;const _0x138617=_0x27583f['batch'];_0x48ad4f['_createdBatches']['has'](_0x138617)&&(_0x27583f['newRange']=_0x27583f['oldRange']?_0x1dd0cf['model']['createRange'](_0x27583f['oldRange']['start'],_0x27583f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x597054=this['editor'],_0x56ec42=_0x597054['model']['document'],_0xe844ba=_0x597054['plugins']['get'](Y);_0x597054['model']['enqueueChange']({'isUndoable':!0x1},_0x4f30fe=>{const _0x51f983='user:range:'+_0xe844ba['mySessionId'],_0x30efa9='user:position:'+_0xe844ba['mySessionId'],_0x4d0ff1=_0x597054['model']['markers']['has'](_0x51f983);_0x597054['editing']['view']['hasDomSelection']?J(_0xe844ba['mySessionId'],_0x56ec42['selection']['getFirstRange'](),_0x597054['model'],_0x4f30fe):_0x4d0ff1&&(_0x4f30fe['removeMarker'](_0x51f983),_0x4f30fe['removeMarker'](_0x30efa9));});}}function J(_0x2fede9,_0x26a09d,_0x408e56,_0x5445e5){const _0x47c5d5='user:range:'+_0x2fede9,_0x26ea61='user:position:'+_0x2fede9,_0x4d1d98=_0x26a09d['getContainedElement']();let _0x5301c9=_0x26a09d['start'];if(_0x4d1d98&&_0x4d1d98['is']('element','tableCell')){const _0x55d4a2=function(_0x1a381a,_0x3ff4b8){for(const _0xf8f7e1 of _0x1a381a['getPositions']())if(_0x3ff4b8['schema']['checkChild'](_0xf8f7e1,'$text'))return _0xf8f7e1;}(_0x26a09d,_0x408e56);_0x55d4a2&&(_0x5301c9=_0x55d4a2,_0x26a09d=_0x5445e5['createRange'](_0x5301c9));}const _0xb0b884=_0x5445e5['createRange'](_0x5301c9);_0x408e56['markers']['has'](_0x47c5d5)?(_0x5445e5['updateMarker'](_0x47c5d5,{'range':_0x26a09d}),_0x5445e5['updateMarker'](_0x26ea61,{'range':_0xb0b884})):(_0x5445e5['addMarker'](_0x47c5d5,{'range':_0x26a09d,'usingOperation':!0x0}),_0x5445e5['addMarker'](_0x26ea61,{'range':_0xb0b884,'usingOperation':!0x0}));}function Q(_0x588079){return'--ck-user-color:'+_0x588079['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x588079['color']['getColorAlphaVariable']()+';';}function X(_0x51a5d2,_0x5950f6,_0x3dc1c7){const _0xeafdd5=_0x51a5d2['t'],t=_0x51a5d2['t'];switch(_0x5950f6){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 _0xeafdd5({'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'},_0x3dc1c7);default:return'';}}let Z=0x1;class tt extends _0x5dd355{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x4ed9df)());['_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,_0x971f0,_0x3a80aa,_0x378566];}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 _0x3abf2e=this['serverHistory']['getOperations']();for(let _0x499685=_0x3abf2e['length']-0x1;_0x499685>=0x0;_0x499685--){const _0x425727=_0x3abf2e[_0x499685];if(!this['_disconnectionOperations']['has'](_0x425727))return _0x425727['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x37c107){if(super(_0x37c107),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xa70243(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x32c009('collaboration-missing-channelid',this);const _0x58f62a=_0x37c107['config']['get']('cloudServices.bundleVersion')||_0x12935f;this['_service']=new tt['CollaborativeEditingService'](_0x58f62a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x38c9a0(),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 _0x4fe0f0=this['editor'],_0x13b380=_0x4fe0f0['plugins']['get'](_0x3a80aa),_0x5637df=_0x4fe0f0['plugins']['get'](z);this['listenTo'](_0x13b380,'getOperationAuthor',(_0x2695c4,_0x16cf40)=>{const _0x5f1388=_0x16cf40[0x0];_0x5f1388['_authorId']&&(_0x2695c4['return']=_0x13b380['getUser'](_0x5f1388['_authorId']),_0x2695c4['stop']()),null===_0x5f1388['_authorId']&&(_0x2695c4['return']=null,_0x2695c4['stop']());},{'priority':'high'}),this['listenTo'](_0x4fe0f0['model']['document']['selection'],'change:range',(_0x5a7592,_0xe37029)=>{_0xe37029['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4fe0f0['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4fe0f0['model']['on']('applyOperation',(_0x401d0f,_0x4718ee)=>{const _0x202ec8=_0x4718ee[0x0];_0x202ec8['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x202ec8),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5637df,'state',this,'_hasSynchronizationProblem',(_0x1e8343,_0xa6b3b4)=>'connected'===_0x1e8343&&!_0xa6b3b4),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4fe0f0['disableReadOnlyMode']('rtc-offline'):_0x4fe0f0['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4fe0f0['disableReadOnlyMode']('rtc-offline'):_0x4fe0f0['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x30ab9e=this['editor']['plugins']['get'](Y),_0x3e8815=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x30ab9e['unregister'](this['_channelId']);const _0x3ab16a=await this['_service']['reconnect'](_0x3e8815['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3ab16a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x256e33=await this['_service']['getConnectedSessions']();_0x30ab9e['register'](this['_channelId'],_0x256e33),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4d03a7){if(function(_0x3dc9d6){return'404'===_0x3dc9d6['code'];}(_0x4d03a7)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x11a320){return'409'===_0x11a320['code'];}(_0x4d03a7)){const _0x3b76af=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'](_0x3b76af);}else{if(!(_0x4d03a7 instanceof et))throw _0x4d03a7;this['_handleReconnectionError']();}}}}['destroy'](){const _0x40cb01=this['editor']['plugins']['get'](z),_0x4d231e=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4d231e['channelSessions']['has'](this['_channelId'])&&_0x4d231e['unregister'](this['_channelId']),_0x40cb01['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x33a545){if(this['sessionId']!==_0x33a545['sessionId']&&this['_lastSyncedOperationId']!==_0x33a545['lastOperationId'])throw new et();return this['sessionId']=_0x33a545['sessionId'],this['_handleServerResponse']([],{..._0x33a545,'wereChangesApplied':!0x1,'data':_0x33a545['data']},'reconnect');}async['_connectService'](_0xd8bd87,_0x1189bd=!0x1){const {connection:_0xf66f8c}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0xf66f8c,this['_channelId'])['then'](_0x36f868=>this['_initSessionsHandling'](_0x36f868))['catch'](_0x23bd8f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x23bd8f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x3cedbe,_0x4a6abd)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4a6abd);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x538d94=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xd8bd87);this['_isPendingUpdate']=!0x0;const _0x49d113=await this['_service']['connect'](_0xf66f8c,this['_compressOperations'](_0xd8bd87),_0x538d94);if(this['sessionId']=_0x49d113['sessionId'],_0x1189bd){if(!_0x49d113['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x49d113['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xd8bd87,_0x49d113,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x49d113,_0xd8bd87);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x53c9d6=this['editor']['plugins']['get'](Y),_0x36ddb4=this['editor']['plugins']['get'](K),_0x428c81=_0x53c9d6['channelSessions']['get'](this['_channelId']);_0x428c81&&_0x428c81['length']>0x1?_0x36ddb4['createUserMarkerOperations']():this['listenTo'](_0x53c9d6,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x53c9d6['channelSessions']['get'](this['_channelId'])['length']&&_0x36ddb4['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x9badb7,_0x18f5ad,_0x20c8ce,_0x11897f){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x18f5ad){const _0x4ccac0=this['_decompressOperations'](_0x20c8ce,_0x11897f);await this['_fetchMissingUsers'](_0x4ccac0),this['_handleExternalOperations'](_0x4ccac0,_0x18f5ad,_0x20c8ce['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x26266a}=this['editor'];let _0x2f23d4;try{_0x2f23d4=await this['_service']['getDocumentDetails']();}catch{const _0x1e6049=X(_0x26266a,'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'](_0x1e6049);}const _0x4afa8a=_0x2f23d4['currentDocumentSession']||_0x2f23d4['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4afa8a['lastOperationId']){const _0x211220=X(_0x26266a,'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'](_0x211220);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4b7f71){const _0x9aab1f=this['editor']['plugins']['get'](Y);this['listenTo'](_0x9aab1f,'sessionAdd:'+this['_channelId'],(_0x55569c,{session:_0x2db4fb})=>{if(_0x2db4fb['id']===_0x9aab1f['mySessionId']){_0x55569c['off']();const _0x306f0d=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x61c91b=_0x2db4fb['permissions'];_0x306f0d&&_0x306f0d['isEnabled']&&(_0x61c91b=_0x61c91b['filter'](_0x4d6c5b=>'document:write'!==_0x4d6c5b)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x61c91b,this['_channelId']);}}),_0x9aab1f['register'](this['_channelId'],_0x4b7f71);}['_initThrowingOnDataSet'](){const _0x1c93fe=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x36fab7)=>{if(!_0x36fab7[_0x36fab7['length']-0x1]['suppressErrorInCollaboration'])throw new _0x32c009('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1c93fe['apply'](this['editor']['data'],_0x36fab7);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x384948,[_0x209aa5])=>{if(this['_document']['version'])throw new _0x32c009('realtimecollaborationclient-init-document-already-initialized',this);_0x384948['stop'](),this['_setPendingAction']();const _0x47e3cb=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x656c83])=>!_0x656c83['lazyLoad'])['map'](([_0x52a7e2,_0x5eafe4])=>[_0x52a7e2,_0x5eafe4['modelAttributes']||{}])),_0x118a36=this['_getOperationsFromInitData'](_0x209aa5,_0x47e3cb);0x0==_0x118a36['length']&&_0x118a36['push'](new _0x2a0345(0x0)),_0x384948['return']=this['_connectService'](_0x118a36)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x423e32=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x423e32))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x36b65f,[_0x17adcc,_0x3c6155])=>{_0x36b65f['stop']();const _0x376a6c=this['editor']['model']['document']['getRoot'](_0x17adcc);if(!this['_knownRootNames']['has'](_0x17adcc)){const _0x3eb886=_0x3c6155&&_0x3c6155['data']?_0x3c6155['data']:'',_0x504d2b=_0x3c6155&&_0x3c6155['attributes']?_0x3c6155['attributes']:{};await this['_loadRoot'](_0x17adcc,_0x3eb886,_0x504d2b);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x376a6c['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x376a6c);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x4299f7){const _0x31ba08=this['editor']['plugins']['get'](_0x3a80aa),{connection:_0x4ac204}=this['editor']['plugins']['get'](z),_0x1dff32=new Set();for(const _0x5ce34e of _0x4299f7){const _0x1c48f1=_0x5ce34e['_authorId'];_0x1c48f1&&!_0x31ba08['getUser'](_0x1c48f1)&&_0x1dff32['add'](_0x1c48f1);}if(0x0===_0x1dff32['size'])return;const _0x242e9a=await _0xd9f1f6['getMany'](_0x4ac204,Array['from'](_0x1dff32));for(const _0x297475 of _0x242e9a)_0x31ba08['getUser'](_0x297475['id'])||_0x31ba08['addUser'](_0x297475);}['_getOperationsFromInitData'](_0x31f65c,_0x2f2130={}){const _0x386f96=this['editor']['model'],_0xa2281b=[];let _0x16ffac=0x0;const _0x3cf053='string'==typeof _0x31f65c?{'main':_0x31f65c}:_0x31f65c;for(const _0x4473fa of Object['keys'](_0x3cf053)){if(!this['_document']['roots']['has'](_0x4473fa))throw new _0x32c009('realtimecollaborationclient-init-non-existent-root',this);const _0x29ef13=this['editor']['data']['parse'](_0x3cf053[_0x4473fa]),_0x396517=this['_document']['getRoot'](_0x4473fa),_0x112ee9=new _0x540882(_0x386f96['createPositionAt'](_0x396517,0x0),_0x29ef13,_0x16ffac++);_0xa2281b['push'](_0x112ee9);for(const [_0x8fcf68,_0x43a8d6]of _0x29ef13['markers']){const _0x41ff0f=_0x386f96['createRange'](_0x386f96['createPositionFromPath'](_0x396517,_0x43a8d6['start']['path']['slice']()),_0x386f96['createPositionFromPath'](_0x396517,_0x43a8d6['end']['path']['slice']())),_0x24e00b=new _0x444ac6(_0x8fcf68,null,_0x41ff0f,_0x386f96['markers'],!0x0,_0x16ffac++);_0xa2281b['push'](_0x24e00b);}}if(_0x2f2130)for(const [_0x3d979d,_0x2e1944]of Object['entries'](_0x2f2130)){const _0x3c9cdf=_0x386f96['document']['getRoot'](_0x3d979d);if(!_0x3c9cdf)throw new _0x32c009('multi-root-editor-root-attributes-no-root',null);for(const [_0x17e889,_0x55a97f]of Object['entries'](_0x2e1944))if(null!==_0x55a97f){const _0x372427=new _0x2de69a(_0x3c9cdf,_0x17e889,null,_0x55a97f,_0x16ffac++);_0xa2281b['push'](_0x372427);}}return _0xa2281b;}async['_loadRoot'](_0x5b0617,_0x34519b,_0x398ac0){this['_getOperationsFromInitData']({[_0x5b0617]:_0x34519b},{[_0x5b0617]:_0x398ac0})['forEach']((_0x1b2d53,_0x2f876a)=>{_0x1b2d53['baseVersion']=this['_document']['version']+_0x2f876a,_0x1b2d53['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1b2d53);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x267018,_0x39236e){let _0x54a7dd;this['_offset']=_0x267018['offset'];const _0x2a0432=_0x267018['wereChangesApplied']&&!_0x267018['initData'],_0x2124ee=_0x2a0432?0x0:_0x267018['data']['baseVersion'];if(_0x39236e['forEach'](_0xc7a957=>{_0xc7a957['_isInit']=!0x0,_0xc7a957['createdAt']=_0x267018['sessionCreatedAt'],_0xc7a957['_authorId']=null;}),_0x2a0432)_0x54a7dd=_0x39236e,this['_applyOperationsSet'](_0x54a7dd,_0x2a0432);else{if(_0x267018['initData']){const _0x44ff25=this['_getOperationsFromInitData'](_0x267018['initData']);this['_document']['history']['version']=-_0x44ff25['length'],_0x44ff25['forEach'](_0x1ff180=>{_0x1ff180['baseVersion']-=_0x44ff25['length'],_0x1ff180['createdAt']=_0x267018['sessionCreatedAt'],_0x1ff180['_isInit']=!0x0,_0x1ff180['_authorId']=null;}),this['_applyOperationsSet'](_0x44ff25,!0x0),this['serverHistory']['version']=-_0x44ff25['length']+this['_offset'],this['_updateServerHistory'](_0x44ff25);}this['_document']['history']['version']=_0x2124ee,_0x54a7dd=this['_decompressOperations'](_0x267018['data'],_0x267018['metadata']),await this['_fetchMissingUsers'](_0x54a7dd),this['_applyOperationsSet'](_0x54a7dd,_0x2a0432);}_0x267018['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x54a7dd,_0x267018['lastOperationId']),this['_lastSyncedOperationId']=_0x267018['lastOperationId']),this['serverHistory']['version']=_0x2124ee+this['_offset'],this['_updateServerHistory'](_0x54a7dd),_0x39236e['filter'](_0x32a288=>{const _0x3fb5b4=this['_getAffectedRoot'](_0x32a288);return _0x3fb5b4&&!this['_knownRootNames']['has'](_0x3fb5b4);})['forEach']((_0x4b2b83,_0x24c670)=>{_0x4b2b83['baseVersion']=this['_document']['version']+_0x24c670,this['_saveOperationInBuffer'](_0x4b2b83);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5a8b9f,_0x46e004){const _0x182a1d=_0x46e004&&_0x46e004['message'];if(_0x182a1d&&_0x182a1d['startsWith']('realtimecollaborationclient'))throw _0x46e004;const _0x1628af=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1628af['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x32c009(_0x5a8b9f,this['editor'],_0x182a1d?{'originalError':_0x182a1d}:void 0x0);}['_saveOperationInBuffer'](_0x5e9d8e){this['_knownOperations']['has'](_0x5e9d8e)||(this['_knownOperations']['add'](_0x5e9d8e),this['_bufferedOperations']['push'](_0x5e9d8e),this['_pendingAction']||'marker'==_0x5e9d8e['type']&&!_0x5e9d8e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3efc1a=!0x1){!_0x3efc1a&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x37f802=>{_0x37f802&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x7af4ff=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x28ff90){return _0x28ff90['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x28ff90['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x28ff90['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x7af4ff)||this['_crash'](_0x7af4ff['message'],_0x7af4ff);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x367155=>{this['on']('change:_isPendingUpdate',()=>{_0x367155();});});}async['_sendBufferedOperations'](){const _0x183f16=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x183f16['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x20a89e=[...this['_bufferedOperations']];for(const _0x3b283c of _0x20a89e)_0x3b283c['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3b283c);const _0x53ea9c=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x20a89e),_0x1e8b41=Z++,_0x4bba72=this['_compressOperations'](_0x20a89e),_0x4ebb11=await this['_service']['sendOperations'](_0x4bba72,_0x4bba72['baseVersion'],_0x53ea9c);try{return await this['_handleServerResponse'](_0x20a89e,_0x4ebb11,_0x1e8b41);}catch(_0x2c509b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2c509b);}}async['_handleServerResponse'](_0xa64ab9,_0x16912d,_0x3f4aa1){if('error'in _0x16912d)throw _0x16912d['error'];let _0x18a318=!0x1;if(_0x16912d['wereChangesApplied']){_0x16912d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x16912d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x126eca=>!_0xa64ab9['includes'](_0x126eca));for(const _0x343ab4 of _0xa64ab9)_0x343ab4['createdAt']='lastOperationAcceptedAt'in _0x16912d&&_0x16912d['lastOperationAcceptedAt']||void 0x0;st(_0xa64ab9,_0x16912d['version']-_0xa64ab9['length']),this['_updateServerHistory'](_0xa64ab9);const _0x45111d=_0xa64ab9['filter'](_0x1a2e24=>{if(!_0x1a2e24['_isInit'])return!0x1;const _0x21ad60=this['_getAffectedRoot'](_0x1a2e24);return _0x21ad60&&!this['_knownRootNames']['has'](_0x21ad60);});st(_0x45111d,this['_document']['version']),this['_applyOperationsSet'](_0x45111d),_0x18a318=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x11bad3=this['_decompressOperations'](_0x16912d['data'],_0x16912d['metadata'])['filter'](_0x3251a6=>_0x3251a6['baseVersion']>=this['_lastServerVersion']);_0x11bad3['forEach'](_0x347575=>this['_addKnownRoot'](_0x347575)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x6c0543=>!_0x6c0543['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x6c0543))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x11bad3),_0x18a318=this['_handleExternalOperations'](_0x11bad3,_0x16912d['version'],_0x16912d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x18a318?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x323398,_0x54436f,_0x44f80b){try{const _0x166bc9={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x496da3,operationsB:_0x4db414,originalOperations:_0x2f7e97}=_0x4fbbd0(_0x323398,this['_bufferedOperations'],_0x166bc9);st(_0x496da3,this['_document']['version']),st(_0x4db414,_0x54436f);for(const _0x10ef11 of _0x496da3){const _0xad2b06=_0x2f7e97['get'](_0x10ef11);_0x10ef11['_authorId']=_0xad2b06?_0xad2b06['_authorId']:null;}_0x44f80b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x323398,_0x44f80b),this['_lastSyncedOperationId']=_0x44f80b),this['_bufferedOperations']=[..._0x4db414],this['_applyOperationsSet'](_0x496da3),this['_updateServerHistory'](_0x323398);}catch(_0x1c61c9){return console['error'](_0x1c61c9),!0x1;}return!0x0;}['_applyOperationsSet'](_0x4c5640,_0x271e5f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2731fe=>{for(const _0x126b4d of _0x4c5640)this['_knownOperations']['add'](_0x126b4d),this['_addKnownRoot'](_0x126b4d),_0x2731fe['batch']['addOperation'](_0x126b4d),this['editor']['model']['applyOperation'](_0x126b4d);});}['_addKnownRoot'](_0x4826c9){const _0x462dc2=this['_getAffectedRoot'](_0x4826c9);_0x462dc2&&this['_knownRootNames']['add'](_0x462dc2);}['_getAffectedRoot'](_0x4ad13d){let _0x4c9f23,_0x1e244a;switch(_0x4ad13d['type']){case'insert':_0x4c9f23=_0x4ad13d['position']['root'];break;case'marker':if(_0x1e244a=_0x4ad13d['newRange'],!_0x1e244a)return null;_0x4c9f23=_0x1e244a['root'];break;case'addRootAttribute':_0x4c9f23=_0x4ad13d['root'];break;case'addRoot':_0x4c9f23=_0x4ad13d['affectedSelectable'];break;case'move':_0x4c9f23=_0x4ad13d['targetPosition']['root'];break;default:return null;}return _0x4c9f23['rootName'];}['_updateServerHistory'](_0x52a317){_0x52a317['forEach'](_0x4aceb2=>{const _0x2ad0b2=_0x4aceb2['clone']();_0x2ad0b2['_authorId']=_0x4aceb2['_authorId'],_0x2ad0b2['_isInit']=!!_0x4aceb2['_isInit'],_0x2ad0b2['createdAt']=_0x4aceb2['createdAt'],_0x2ad0b2['baseVersion']+=this['_offset'],_0x4aceb2['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x2ad0b2),this['serverHistory']['addOperation'](_0x2ad0b2);});}['_handleReconnectionError'](_0x3ff3a6){const _0x36d3c8=this['editor']['plugins']['get']('Notification'),_0x244400=this['editor']['locale'];_0x3ff3a6||(_0x3ff3a6=X(_0x244400,'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.')),_0x36d3c8['showWarning'](_0x3ff3a6,{'title':X(_0x244400,'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'](_0x971f0)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x971f0)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3aa3ad){const _0x3d0de3=_0x3aa3ad['map'](_0x47ffdc=>_0x47ffdc['toJSON']());return this['_compressor']['compress'](_0x3d0de3);}['_decompressOperations'](_0x6ac45f,_0x147512){return this['_compressor']['decompress'](_0x6ac45f)['map']((_0x3e5719,_0x5ede52)=>{const _0x476b83='init'==_0x147512[_0x5ede52]['type'];if('InsertOperation'==_0x3e5719['__className']){const _0x2d1511=_0x3e5719['position']['root'];!this['_document']['getRoot'](_0x2d1511)&&(this['_document']['createRoot']('$root',_0x2d1511)['_isAttached']=!0x1);}const _0x5f504c=_0x43324d['fromJSON'](_0x3e5719,this['_document']);return _0x5f504c['wasUndone']=_0x3e5719['wasUndone'],_0x5f504c['_isInit']=_0x476b83,_0x5f504c['_authorId']=_0x476b83?null:_0x147512[_0x5ede52]['userId'],_0x5f504c['_isDisconnection']='cs:removeUser'===_0x147512[_0x5ede52]['type'],_0x5f504c['createdAt']=_0x147512[_0x5ede52]['createdAt'],_0x5f504c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2db2e8=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2db2e8&&_0x2db2e8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x13c12d,_0x212eaa){for(const _0x577680 of _0x13c12d)_0x577680['baseVersion']=_0x212eaa++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x397be3){this['_ignoredOperations']=_0x397be3,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x28e092){let _0x1de6d0=_0x28e092['length'];for(;_0x1de6d0--;){const _0x795ce5=_0x28e092[_0x1de6d0];if(!this['_ignoredOperations']['has'](_0x795ce5)){if(!this['_operationToId']['has'](_0x795ce5)){const _0x489ae3=_0x249687()['slice'](0x1,0x12);this['_operationToId']['set'](_0x795ce5,_0x489ae3);}return this['_operationToId']['get'](_0x795ce5);}}}['setIdForTheLastOperation'](_0x833185,_0x2cee8b){if(!_0x2cee8b)return;let _0x33a22b=_0x833185['length'];for(;_0x33a22b--;){const _0x18b861=_0x833185[_0x33a22b];this['_ignoredOperations']['has'](_0x18b861)||this['_operationToId']['set'](_0x18b861,_0x2cee8b);}}}class nt extends _0x5dd355{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x53a76{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x1af6f7)());['_services'];static get['requires'](){return[z,_0xa1c674,Y,_0x3a80aa];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x360c5b){super(_0x360c5b),this['_services']=new Map();}async['init'](){const _0x1860d4=this['context'],_0x1cbb01=_0x1860d4['plugins']['get'](_0xa1c674);if(_0x1860d4['plugins']['get'](z)['addToReconnectionStack'](this),_0x1cbb01['adapter']={'addCommentThread':async({channelId:_0x512859,threadId:_0x4e3f91,comments:_0x4cd1fd,resolvedAt:_0x33eb25,resolvedBy:_0x4149bd,context:_0x2ad12d,attributes:_0x5ebd15})=>{const _0x4e3412=await this['_getService'](_0x512859)['addCommentThread']({'commentThreadId':_0x4e3f91,'comments':_0x4cd1fd['map'](_0x45443a=>function(_0x4dd625,_0x5106b3,_0x131afd){return{'commentThreadId':_0x131afd,'commentId':_0x4dd625['commentId'],'userId':_0x4dd625['authorId'],'content':_0x4dd625['content'],'documentId':_0x5106b3,'createdAt':_0x4dd625['createdAt'],'attributes':_0x4dd625['attributes']||{}};}(_0x45443a,_0x512859,_0x4e3f91)),'resolvedAt':_0x33eb25,'resolvedBy':_0x4149bd,'context':_0x2ad12d,'attributes':_0x5ebd15})['catch'](ct);return{'threadId':_0x4e3412['commentThreadId'],'comments':_0x4e3412['comments']};},'getCommentThread':async({channelId:_0xcaaaa9,threadId:_0x1b30d2})=>{const _0x4454d7=await this['_getService'](_0xcaaaa9)['getCommentThread'](_0x1b30d2)['catch'](rt)['catch'](ct);return _0x4454d7?_0x4454d7['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4454d7]),{'threadId':_0x4454d7['commentThreadId'],'comments':_0x4454d7['comments']['map'](at),'context':_0x4454d7['context'],'resolvedAt':_0x4454d7['resolvedAt'],'resolvedBy':_0x4454d7['resolvedBy'],'attributes':_0x4454d7['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3893f1,threadId:_0x1a042f,context:_0x3815ae,unlinkedAt:_0x5e12b4,attributes:_0x4e188a})=>this['_getService'](_0x3893f1)['updateCommentThread']({'commentThreadId':_0x1a042f,'context':_0x3815ae,'attributes':_0x4e188a,'unlinkedAt':_0x5e12b4})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x5046fc,threadId:_0x34d087})=>{const _0x5dfb00=await this['_getService'](_0x5046fc)['resolveCommentThread'](_0x34d087)['catch'](rt)['catch'](ct);return{'threadId':_0x5dfb00['commentThreadId'],'resolvedAt':_0x5dfb00['resolvedAt'],'resolvedBy':_0x5dfb00['resolvedBy']};},'reopenCommentThread':async({channelId:_0x343a0a,threadId:_0x360b48})=>this['_getService'](_0x343a0a)['reopenCommentThread'](_0x360b48)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x23f756,threadId:_0x133115})=>this['_getService'](_0x23f756)['removeCommentThread'](_0x133115)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x112221,threadId:_0xffab70,commentId:_0x4f523a,content:_0x1d2ec8,attributes:_0x4433e9})=>this['_getService'](_0x112221)['addComment'](_0xffab70,_0x4f523a,_0x1d2ec8,_0x4433e9)['catch'](ct),'updateComment':({channelId:_0x4c25b5,threadId:_0x4242e4,commentId:_0x18d75a,content:_0xd9c364,attributes:_0x92e7f2})=>this['_getService'](_0x4c25b5)['updateComment'](_0x4242e4,_0x18d75a,_0xd9c364,_0x92e7f2)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x5418b5,threadId:_0x1551ad,commentId:_0x1d4327})=>this['_getService'](_0x5418b5)['removeComment'](_0x1551ad,_0x1d4327)['catch'](rt)['catch'](ct)},_0x1860d4 instanceof _0x590382){const _0x2ecb75=_0x1860d4['config']['get']('collaboration.channelId'),_0x228aac=_0x1860d4['plugins']['get'](Y);await this['_setUpService'](_0x2ecb75);const _0x1078ee=await this['_services']['get'](_0x2ecb75)['getConnectedSessions']();this['listenTo'](_0x228aac,'sessionAdd:'+_0x2ecb75,(_0x376ba2,{session:_0x15db05})=>{_0x15db05['id']===_0x228aac['mySessionId']&&(_0x376ba2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x15db05['permissions'],_0x2ecb75));}),_0x228aac['register'](_0x2ecb75,_0x1078ee);}}async['_setUpService'](_0x4c6d74){if(this['_services']['has'](_0x4c6d74))throw new _0x32c009('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4c6d74});const _0x1d7768=this['context']['plugins']['get'](_0xa1c674),_0x5e1ad1=new ot['CommentsService'](_0x4c6d74);this['_services']['set'](_0x4c6d74,_0x5e1ad1),this['listenTo'](_0x5e1ad1,'commentThreadAdded',(_0x1ed506,_0x49df93)=>{const {commentThreadId:_0x2ebdb4,documentId:_0x292cc7,context:_0x597788,attributes:_0x483533,resolvedAt:_0x4469cf,resolvedBy:_0x5f183b,comments:_0x28503c}=_0x49df93;_0x1d7768['getCommentThread'](_0x2ebdb4)||_0x1d7768['addCommentThread']({'threadId':_0x2ebdb4,'channelId':_0x292cc7,'comments':_0x28503c?_0x28503c['map'](at):[],'context':_0x597788,'attributes':_0x483533,'resolvedAt':_0x4469cf,'resolvedBy':_0x5f183b,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e1ad1,'commentThreadUpdated',(_0x5d316c,{commentThreadId:_0x21bc69,documentId:_0x56ffa0,context:_0xd8cc2,unlinkedAt:_0x19252e,attributes:_0xdf3624})=>{_0x1d7768['getCommentThread'](_0x21bc69)&&_0x1d7768['updateCommentThread']({'threadId':_0x21bc69,'channelId':_0x56ffa0,'context':_0xd8cc2,'unlinkedAt':_0x19252e,'attributes':_0xdf3624,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e1ad1,'commentThreadResolved',(_0x578019,{commentThreadId:_0x57965c,resolvedBy:_0x477081,resolvedAt:_0x214178})=>{const _0x2ff147=_0x1d7768['getCommentThread'](_0x57965c);_0x2ff147&&_0x2ff147['resolve']({'resolvedBy':_0x477081,'resolvedAt':_0x214178,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e1ad1,'commentThreadReopened',(_0x3791c0,{commentThreadId:_0x3f7ada})=>{const _0x57a728=_0x1d7768['getCommentThread'](_0x3f7ada);_0x57a728&&_0x57a728['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e1ad1,'commentThreadRemoved',(_0x1b0c7f,{commentThreadId:_0x510e48})=>{const _0x104611=_0x1d7768['getCommentThread'](_0x510e48);_0x104611&&_0x104611['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e1ad1,'commentAdded',(_0x41f01c,_0x5bf212)=>{const _0x3dba80=_0x5bf212['commentThreadId'],_0x39ae54=_0x1d7768['getCommentThread'](_0x3dba80);_0x39ae54&&_0x39ae54['addComment']({...at(_0x5bf212),'isFromAdapter':!0x0});}),this['listenTo'](_0x5e1ad1,'commentUpdated',(_0xe97c0e,{commentThreadId:_0x387550,commentId:_0xad3e8f,content:_0x2bbc72,attributes:_0x5015b9})=>{const _0x165813=_0x1d7768['getCommentThread'](_0x387550);if(_0x165813){const _0x11d847=_0x165813['getComment'](_0xad3e8f);_0x11d847&&_0x11d847['update']({'content':_0x2bbc72,'attributes':_0x5015b9,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5e1ad1,'commentRemoved',(_0x343787,{commentThreadId:_0x27153c,commentId:_0x480934})=>{const _0x416320=_0x1d7768['getCommentThread'](_0x27153c);if(_0x416320){const _0x55d57f=_0x416320['getComment'](_0x480934);_0x55d57f&&_0x55d57f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4c6d74);}['destroy'](){if(this['context']instanceof _0x590382){const _0x26b0f4=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x26b0f4);}}['_terminateService'](_0x20a5fa){if(!this['_services']['has'](_0x20a5fa))throw new _0x32c009('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x20a5fa});this['_getService'](_0x20a5fa)['disconnect'](),this['_services']['delete'](_0x20a5fa);}async['reconnect'](){for(const _0x51e38d of this['_services']['keys']())await this['_connectService'](_0x51e38d);if(this['context']instanceof _0x590382){const _0x1edf8e=this['context']['config']['get']('collaboration.channelId'),_0x40b373=this['context']['plugins']['get'](Y);_0x40b373['unregister'](_0x1edf8e);const _0x378240=await this['_services']['get'](_0x1edf8e)['getConnectedSessions']();_0x40b373['register'](_0x1edf8e,_0x378240);}}async['_connectService'](_0x1aa465){const {connection:_0x1d8324}=this['context']['plugins']['get'](z),_0x3ef63a=this['context']['plugins']['get'](_0xa1c674),_0x317821=this['_services']['get'](_0x1aa465),_0x2d2372=await _0x317821['connect'](_0x1d8324);await this['_fetchMissingUsersForThreads'](_0x2d2372);const _0x166701=new Set(Array['from'](_0x3ef63a['getCommentThreads']({'channelId':_0x1aa465}),_0x3467d9=>_0x3467d9['id']));for(const _0x57ac87 of _0x2d2372)_0x57ac87['deletedAt']||_0x166701['delete'](_0x57ac87['commentThreadId']);for(const _0x54aba6 of _0x166701)_0x3ef63a['getCommentThread'](_0x54aba6)['remove']({'isFromAdapter':!0x0});for(const _0x14d217 of _0x2d2372){let _0x57e89a=_0x3ef63a['getCommentThread'](_0x14d217['commentThreadId']);const {commentThreadId:_0x47e8d2,context:_0xdc9305,attributes:_0x15319e,resolvedBy:_0x100d5f,resolvedAt:_0x398359,unlinkedAt:_0x4962f7,deletedAt:_0x52b834}=_0x14d217;if(_0x52b834)continue;_0x57e89a||(_0x57e89a=_0x3ef63a['addCommentThread']({'channelId':_0x1aa465,'threadId':_0x47e8d2,'context':_0xdc9305,'attributes':_0x15319e||{},'resolvedBy':_0x100d5f,'resolvedAt':_0x398359,'unlinkedAt':_0x4962f7,'isFromAdapter':!0x0}));const _0x98eca7=new Set(Array['from'](_0x57e89a['comments'],_0x2fc23b=>_0x2fc23b['id']));for(const _0xdd8dc2 of _0x14d217['comments'])_0x98eca7['delete'](_0xdd8dc2['commentId']);for(const _0x3428de of _0x98eca7)_0x57e89a['getComment'](_0x3428de)['remove']({'isFromAdapter':!0x0});for(const _0x5f0a1c of _0x14d217['comments']){const _0x43c6b7=_0x57e89a['getComment'](_0x5f0a1c['commentId']);_0x43c6b7?_0x43c6b7['content']!==_0x5f0a1c['content']&&_0x43c6b7['update']({'content':_0x5f0a1c['content'],'isFromAdapter':!0x0}):_0x57e89a['addComment'](Object['assign'](at(_0x5f0a1c),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5db962){if(!this['_services']['has'](_0x5db962))throw new _0x32c009('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5db962});return this['_services']['get'](_0x5db962);}async['_fetchMissingUsersForThreads'](_0x3e856a){const _0x14467c=this['context']['plugins']['get'](_0x3a80aa),{connection:_0x585ba6}=this['context']['plugins']['get'](z),_0x5333dd=new Set();for(const {resolvedBy:_0x333f08,comments:_0x3df525}of _0x3e856a){_0x333f08&&!_0x14467c['getUser'](_0x333f08)&&_0x5333dd['add'](_0x333f08);for(const {userId:_0x3bfe2a}of _0x3df525)_0x14467c['getUser'](_0x3bfe2a)||_0x5333dd['add'](_0x3bfe2a);}if(0x0===_0x5333dd['size'])return;const _0x441369=await _0xd9f1f6['getMany'](_0x585ba6,Array['from'](_0x5333dd));for(const _0x27e84f of _0x441369)_0x14467c['getUser'](_0x27e84f['id'])||_0x14467c['addUser'](_0x27e84f);}}async function rt(_0x458b69){if('404'!==_0x458b69['code'])throw _0x458b69;}function ct(_0x255726){if((_0x2e1f40=_0x255726)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2e1f40['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2e1f40['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2e1f40;throw _0x255726;}function at(_0x2e49a0){return{'threadId':_0x2e49a0['commentThreadId'],'commentId':_0x2e49a0['commentId'],'content':_0x2e49a0['content'],'createdAt':_0x2e49a0['createdAt'],'authorId':_0x2e49a0['userId'],'attributes':_0x2e49a0['attributes']||{}};}class ht extends _0x5dd355{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0xab9f82)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x209986,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2d9f8f){super(_0x2d9f8f);const _0x299982=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x299982);}['init'](){const _0x3f791b=this['editor']['plugins']['get'](z),_0x3d2db4=this['editor']['plugins']['get'](_0x209986);return _0x3d2db4['adapter']={'getSuggestion':async _0x58404b=>{await this['_waitForServiceReady']();const _0x4afbdd=await this['_trackChangesService']['get'](_0x58404b)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x4afbdd]),_0x4afbdd;},'addSuggestion':async({id:_0x37805a,type:_0x41fc28,data:_0x580b09,originalSuggestionId:_0x52511b,attributes:_0x391923})=>{await this['_waitForServiceReady']();const _0x471318={'id':_0x37805a,'type':_0x41fc28,'data':_0x580b09,'originalSuggestionId':_0x52511b,'attributes':_0x391923},_0x594426=await this['_trackChangesService']['add'](_0x37805a,_0x41fc28,_0x580b09,_0x52511b,_0x391923)['catch'](_0x3dc5d7=>{if(dt(_0x3dc5d7))return new Promise(_0xe83dcf=>{this['_bufferedRequests']['set'](_0x37805a,{'resolve':_0xe83dcf,'suggestionData':_0x471318});});throw _0x3dc5d7;});return this['_bufferedRequests']['delete'](_0x37805a),_0x594426;},'updateSuggestion':async(_0x859306,_0x109c06)=>{if(await this['_waitForServiceReady'](),'open'!==_0x109c06['state'])return this['_trackChangesService']['update'](_0x859306,_0x109c06)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x20f5b0,_0x724437)=>{_0x3d2db4['hasSuggestion'](_0x724437['id'])&&(_0x3d2db4['getSuggestion'](_0x724437['id'])['attributes']=_0x724437['attributes']);}),this['_trackChangesService']['connect'](_0x3f791b['connection'])['then'](_0x5d4809=>(_0x3f791b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5d4809)['then'](()=>{for(const _0x5216ec of _0x5d4809){_0x3d2db4['addSuggestionData'](_0x5216ec)['_saved']=!0x0;}})));}async['reconnect'](){const _0xaeab7e=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5af115}=this['editor']['plugins']['get'](z),_0x36d261=await this['_trackChangesService']['connect'](_0x5af115);await this['_fetchMissingUsersForThreads'](_0x36d261);for(const {suggestionData:_0x20fbe6,resolve:_0x33c6fd}of this['_bufferedRequests']['values']()){let _0x32c071=_0x36d261['find'](_0x5afe7d=>_0x5afe7d['id']===_0x20fbe6['id']);_0x32c071||(_0x32c071=await this['_trackChangesService']['add'](_0x20fbe6['id'],_0x20fbe6['type'],_0x20fbe6['data'],_0x20fbe6['originalSuggestionId'])),_0x33c6fd(_0x32c071);}for(const _0x3bbdbf of _0x36d261)_0xaeab7e['hasSuggestion'](_0x3bbdbf['id'])||_0xaeab7e['addSuggestionData'](_0x3bbdbf);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1755f4=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2a43b4=>{_0x2a43b4['off'](),_0x1755f4();});});}async['_fetchMissingUsersForThreads'](_0x156c92){const _0x582c59=this['editor']['plugins']['get'](_0x3a80aa),{connection:_0x40185b}=this['editor']['plugins']['get'](z),_0x3e3b45=new Set();for(const {authorId:_0x26a11a}of _0x156c92)_0x582c59['getUser'](_0x26a11a)||_0x3e3b45['add'](_0x26a11a);if(0x0===_0x3e3b45['size'])return;const _0x45ccb1=await _0xd9f1f6['getMany'](_0x40185b,Array['from'](_0x3e3b45));for(const _0x2e98fc of _0x45ccb1)_0x582c59['getUser'](_0x2e98fc['id'])||_0x582c59['addUser'](_0x2e98fc);}}function lt(_0x2a429d){if(dt(_0x2a429d))return new Promise(()=>{});throw _0x2a429d;}function dt(_0x389062){return _0x389062['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x389062['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x5dd355{static get['requires'](){return[_0x4465dd,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x59fec7=this['editor']['plugins']['get'](z),_0x99d026=this['editor']['plugins']['get'](_0x2429ee),_0x58f5d8=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x59fec7,'change:state',(_0x47494d,_0x4021df,_0x5c1550)=>{_0x99d026['isThreadsLoadingPaused']='connected'!==_0x5c1550;});}),this['listenTo'](_0x59fec7,'change:state',(_0x169ad8,_0x57f63b,_0x20464f)=>{this['editor']['plugins']['get'](_0xa1c674)['switchReadOnly']('connected'!==_0x20464f);}),_0x58f5d8['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x5dd355{static get['requires'](){return[ut,ht,_0x10a22b];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x5dd355{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x5ab0db)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x4f781c,Y,_0x3a80aa];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x15d952){super(_0x15d952);const _0xc86fee=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0xc86fee);}async['init'](){const _0x240b39=this['editor']['plugins']['get'](tt),_0x5dd54d=_0x240b39['serverHistory'],_0x58acb7=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x5dd54d,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x240b39['sessionId']});const _0x36dc07=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x12935f,_0x19dc92=await _0x3d0f6f['isBundleUploaded'](_0x58acb7['connection'],_0x36dc07);this['editor']['plugins']['get'](_0x4f781c)['adapter']={'getRevision':async({revisionId:_0x204000})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x204000)),'updateRevisions':async _0x396a3d=>{await this['_waitForServiceReady']();const _0x2544e4=this['_revisionTracker']['currentRevision'];if(_0x19dc92&&0x1===_0x396a3d['length']&&_0x396a3d[0x0]['id']===_0x2544e4['id'])return _0x396a3d;for(const _0x1e4337 of _0x396a3d)_0x1e4337['id']===_0x2544e4['id']&&(_0x1e4337['isEmptyCurrent']=_0x1e4337['fromVersion']===_0x1e4337['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x396a3d,this['_lastRequestId'])['then'](_0x3bf0e2=>(this['_lastRequestId']=_0x3bf0e2,_0x396a3d))['catch'](_0x48dc8a=>{if(pt(_0x48dc8a)||'400'===_0x48dc8a['code']&&void 0x0!==_0x48dc8a['data']['wrongRequestId']){for(const _0x1e2a38 of _0x396a3d){!this['_revisionTracker']['repository']['getRevision'](_0x1e2a38['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1e2a38['id'],_0x1e2a38,!0x1);}if(pt(_0x48dc8a)&&'destroyed'!==this['editor']['state'])throw _0x48dc8a;return _0x396a3d;}throw _0x48dc8a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x78cd20,{revisionsData:_0x44cdd7,requestId:_0x35ee97})=>{Math['max'](..._0x44cdd7['map'](_0x486a47=>_0x486a47['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x44cdd7,_0x35ee97);}):this['_handleRevisionsUpdate'](_0x44cdd7,_0x35ee97);});const {revisions:_0x38dfc7,requestId:_0x18739a}=await this['_revisionHistoryService']['connect'](_0x58acb7['connection']);_0x58acb7['addToReconnectionStack'](this),this['_lastRequestId']=_0x18739a,await this['_fetchMissingUsers'](_0x38dfc7);for(const _0x91d6a2 of _0x38dfc7)this['_revisionTracker']['addRevisionData'](_0x91d6a2);this['listenTo'](_0x240b39,'change:_isConnected',(_0x23e4cd,_0x288a81,_0x183201)=>{_0x183201&&(this['_oldOffset']=_0x240b39['_offset'],_0x23e4cd['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x58acb7,'state',_0x251f26=>_0x251f26===_0x5366a4['CONNECTED']);}async['reconnect'](){const _0x31e89a=this['editor']['plugins']['get'](z),_0x3ce0ca=this['editor']['plugins']['get'](tt),_0x1afb4d=async()=>{const _0xfa7ad=this['_revisionTracker']['currentRevision'],_0xca8728=_0xfa7ad['id'],_0x26f5a8=_0xca8728!==_0x3ce0ca['sessionId'];if(_0x26f5a8){const _0x1c6c1b=_0x3ce0ca['_offset']-this['_oldOffset'],_0x3d49bc=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xfa7ad['toVersion']+_0x1c6c1b!==_0x3d49bc){const _0x22d1c0=_0xfa7ad['fromVersion']+_0x1c6c1b,_0x2b79bf=this['editor']['plugins']['get'](_0x3a80aa),_0x255d71=this['_revisionTracker']['buildRevisionData']({'revision':_0xfa7ad,'from':_0x22d1c0,'to':_0x3d49bc});_0x255d71['id']=_0xfa7ad['id'];const _0x5e2c0a=_0x255d71['authorsIds']['map'](_0x470a76=>_0x2b79bf['getUser'](_0x470a76));_0xfa7ad['_update']({..._0x255d71,'authors':_0x5e2c0a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xfa7ad['id'],_0x255d71,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3d49bc,(_0xfa7ad['toVersion']===_0xfa7ad['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xca8728)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xca8728),this['_revisionTracker']['_createCurrentRevision'](_0x3d49bc));}const {revisions:_0x21753f,requestId:_0x515c7d}=await this['_revisionHistoryService']['reconnect'](_0x31e89a['connection'],this['_lastRequestId']);_0x26f5a8&&_0x21753f['length']>0x0?_0x3ce0ca['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x21753f),this['_handleRevisionsUpdate'](_0x21753f,_0x515c7d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3ce0ca['_isConnected']?_0x1afb4d():new Promise((_0x524656,_0x10f47d)=>{_0x3ce0ca['once']('change:_isConnected',()=>{_0x1afb4d()['then'](_0x524656)['catch'](_0x10f47d);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x360673=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3f62bf=>{_0x3f62bf['off'](),_0x360673();});});}['_getLatestVersionFromServerOperations'](){const _0x54a76e=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x288734 of _0x54a76e)if('marker'!==_0x288734['type']||_0x288734['affectsData'])return _0x288734['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2c5075=this['editor']['plugins']['get'](tt);return new Promise(_0x3ddd2a=>{_0x2c5075['_isPendingUpdate']?_0x2c5075['once']('change:_isPendingUpdate',()=>{_0x3ddd2a(this['_getLatestVersionFromServerOperations']());}):_0x3ddd2a(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x539cf4,_0x2eb58a){const _0x49093d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2eb58a;for(const _0x4e4503 of _0x539cf4){const _0x4062d0=_0x49093d['getRevision'](_0x4e4503['id']);if(_0x4062d0){if((_0x4e4503['fromVersion']||_0x4e4503['toVersion'])&&(_0x4e4503['diffData']=null),_0x4062d0===this['_revisionTracker']['currentRevision']){const _0x5e0949=Math['max'](_0x4062d0['toVersion'],_0x4e4503['toVersion']),_0x538e7c=Math['max'](_0x4062d0['fromVersion'],_0x4e4503['fromVersion']);let _0x55214a;_0x4062d0['toVersion']===_0x4e4503['toVersion']&&_0x4062d0['fromVersion']===_0x4e4503['fromVersion']?(_0x55214a=!0x0,this['_preventResendingRevisionData'](_0x4e4503)):_0x4e4503['toVersion']===_0x5e0949&&_0x4e4503['fromVersion']===_0x538e7c?_0x55214a=!0x1:(_0x4062d0['toVersion']===_0x5e0949&&_0x4062d0['fromVersion']===_0x538e7c||this['_fixRevision']({'revision':_0x4062d0,'from':_0x538e7c,'to':_0x5e0949}),_0x55214a=!0x0),_0x55214a&&(delete _0x4e4503['fromVersion'],delete _0x4e4503['toVersion'],delete _0x4e4503['diffData'],delete _0x4e4503['createdAt'],delete _0x4e4503['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4e4503),this['_preventResendingRevisionData'](_0x4e4503);}else this['_revisionTracker']['addRevisionData'](_0x4e4503);}const _0x2b0429=_0x49093d['getRevisions']();_0x2b0429['reverse']();for(let _0x3212ca=0x0;_0x3212ca<_0x2b0429['length']-0x1;_0x3212ca++){const _0x51b315=_0x2b0429[_0x3212ca],_0x24767a=_0x2b0429[_0x3212ca+0x1];if(_0x51b315['fromVersion']<_0x24767a['toVersion']){const _0x33a584=_0x24767a['toVersion'],_0x1ecead=Math['max'](_0x33a584,_0x51b315['toVersion']);this['_fixRevision']({'revision':_0x51b315,'from':_0x33a584,'to':_0x1ecead});}}}['_fixRevision']({revision:_0x5cc885,from:_0x5ac7a2,to:_0x4c153b}={}){const _0x29d872=this['editor']['plugins']['get'](_0x3a80aa),_0x63f29c=this['_revisionTracker']['buildRevisionData']({'revision':_0x5cc885,'from':_0x5ac7a2,'to':_0x4c153b});_0x63f29c['authors']=_0x63f29c['authorsIds']['map'](_0x3fa547=>_0x29d872['getUser'](_0x3fa547)),_0x5cc885['_update'](_0x63f29c);}['_preventResendingRevisionData'](_0x539b87){const _0x593077={};_0x593077['id']=_0x539b87['id'];for(const _0x3f4a77 of Object['keys'](_0x539b87))'id'!==_0x3f4a77&&(_0x593077[_0x3f4a77]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x593077['id'],_0x593077,!0x0);}async['_fetchMissingUsers'](_0x16fb17){const _0x5a1e16=this['editor']['plugins']['get'](_0x3a80aa),{connection:_0x2101a0}=this['editor']['plugins']['get'](z),_0x158e78=new Set();for(const _0x522c60 of _0x16fb17){for(const _0x273a59 of _0x522c60['authorsIds'])_0x5306a7(_0x273a59);_0x522c60['creatorId']&&_0x5306a7(_0x522c60['creatorId']);}if(0x0===_0x158e78['size'])return;const _0xa3a258=await _0xd9f1f6['getMany'](_0x2101a0,Array['from'](_0x158e78));for(const _0xd499f2 of _0xa3a258)_0x5a1e16['getUser'](_0xd499f2['id'])||_0x5a1e16['addUser'](_0xd499f2);function _0x5306a7(_0x43f27e){_0x5a1e16['getUser'](_0x43f27e)||_0x158e78['add'](_0x43f27e);}}}function pt(_0x24f5d2){return _0x24f5d2['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x24f5d2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x24f5d2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x5dd355{static get['requires'](){return[_0x4f781c,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x1ba7c4{['_collapseAt'];constructor(_0xb82de,_0x5d30e7=0x6){super(_0xb82de);const _0x11904c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5d30e7,this['bind']('isHidden')['to'](this,'usersCount',_0x1c0899=>_0x1c0899<_0x5d30e7),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x11904c['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':_0x11904c['to']('usersCount',_0x1b7f4c=>'+'+(_0x1b7f4c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x1ba7c4{['items'];['keystrokes'];constructor(_0x2e0b8c){super(_0x2e0b8c);const _0x594e5f=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x519e0d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x594e5f['if']('hasPopup'),'aria-expanded':_0x594e5f['to']('isExpanded',_0x5865d6=>this['hasPopup']&&String(_0x5865d6)),'aria-label':_0x594e5f['to']('hasPopup',_0x7dcbae=>X(_0x2e0b8c,_0x7dcbae?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x594e5f['to']('hasPopup',_0x5b45b8=>!!_0x5b45b8&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x594e5f['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x594e5f['to'](_0x61ca2f=>{const _0x20675a=_0x61ca2f,_0x274b37=document['querySelector']('.ck-presence-list__dropdown-list'),_0x498279=document['querySelector']('.ck-balloon-panel_with-arrow');_0x274b37?.['contains'](_0x20675a['relatedTarget'])||_0x498279?.['contains'](_0x20675a['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x6be5ea,_0x44c28d,_0x14def3)=>{this['element']&&(_0x14def3?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x1ba7c4{['counterView'];['inlineListView'];constructor(_0x2e852b,_0x1a6cf2=0x6){super(_0x2e852b);const _0xb0f0fa=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1a6cf2),this['inlineListView']=new vt(_0x2e852b),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x40dbca of this['inlineListView']['items'])_0x40dbca['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',_0xb0f0fa['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x1ba7c4{['listWrapperView'];constructor(_0x20cef6,_0x494cf0){super(_0x20cef6);const _0x155609=this['bindTemplate'];this['listWrapperView']=new bt(_0x20cef6,_0x494cf0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x20cef6,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x155609['to'](_0x377c68=>{const _0x48b811=_0x377c68,_0x17f3cd=document['querySelector']('.ck-presence-list__list'),_0x12176a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x17f3cd?.['contains'](_0x48b811['relatedTarget'])||_0x12176a?.['contains'](_0x48b811['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x41531e{constructor(_0x5ab9d2,_0x2f8a5f){super(_0x5ab9d2);const _0x514611=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2f8a5f?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x514611['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x514611['to']('role'),'aria-label':_0x514611['to']('ariaLabel'),'aria-labelledby':_0x514611['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2bc8a6['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x769edc=this['element'];_0x769edc&&(this['_isScrollable']=Math['max'](_0x769edc['scrollHeight'],_0x769edc['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x2dced5{['userView'];constructor(_0x721c5,_0x112656,_0x33b29c){super(_0x721c5);const _0xfcf1c8=this['bindTemplate'];this['userView']=new _0x1c1683(_0x721c5,_0x112656);const _0x577fbc={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x112656['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x112656['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x112656['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x112656['color']['getColorVariable'](),'--ck-user-color-alpha':_0x112656['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x33b29c&&(_0x577fbc['tag']='button',_0x577fbc['on']={'click':_0xfcf1c8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x577fbc);}['focus'](){this['element']['focus']();}}class It extends _0x1ba7c4{['userView'];['markerView'];constructor(_0x1f8496,_0x4f804f,_0x28b31b){super(_0x1f8496);const _0x3f4a88=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x1c1683(_0x1f8496,_0x4f804f),this['markerView']=new St(_0x1f8496,_0x4f804f);const _0x1677a2=new _0x1a4d5e(_0x1f8496);_0x1677a2['template']['tag']='span',_0x1677a2['text']=_0x4f804f['name'];const _0x34ae={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x3f4a88['to']('isFocusable',_0x5980b5=>!!_0x5980b5&&0x0),'aria-labelledby':_0x1677a2['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x3f4a88['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x3f4a88['to']('hasTooltip',_0x2eaa0e=>!_0x2eaa0e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1677a2]};_0x28b31b&&(_0x34ae['tag']='button',_0x34ae['on']={'click':_0x3f4a88['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x34ae);}}class St extends _0x1ba7c4{constructor(_0x1687b6,_0x42e3d8){super(_0x1687b6),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x42e3d8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x42e3d8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x42e3d8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x53a76{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2bcbbf){super(_0x2bcbbf),this['context']['config']['define']('presenceList',Tt);const _0x518fce=_0x2bcbbf['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x518fce)throw new _0x32c009('presencelist-collapseat-invalid-format',this);if(_0x518fce<0x1)throw new _0x32c009('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5e7903(),this['balloonPanelView']=new _0x19fd24(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x10d5c6 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x10d5c6);this['listenTo'](this['_allConnectedUsers'],'add',(_0xb8660d,_0x42d76a)=>{this['_handleUserAdd'](_0x42d76a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x35d314,_0x30bf54)=>{this['_handleUserRemove'](_0x30bf54);});}['_createView'](){const _0x37adbd=this['context'],_0x45caaf=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4c014a=this['balloonPanelView'];if(!_0x4fae5c(_0x37adbd['config']['get']('presenceList.container')))throw new _0x32c009('presencelist-missing-container',this);return _0x45caaf['counterView']['bind']('usersCount')['to'](this),_0x45caaf['bind']('isCollapsed')['to'](this,'usersCount',_0x210721=>{const {collapseAt:_0x31bcc1}=_0x37adbd['config']['get']('presenceList'),_0x6db644=_0x210721>=_0x31bcc1;if(_0x6db644&&!_0x45caaf['inlineListView']['items']['find'](_0x3aa047=>_0x3aa047 instanceof wt)){const _0x5e76f6=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5e76f6&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x45caaf['inlineListView']['items']['add'](_0x45caaf['counterView']);}return _0x6db644||this['hideDropdown'](),_0x6db644;}),_0x45caaf['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xb8d072=>{const _0x52af37=_0x37adbd['config']['get']('presenceList'),_0x4acb28=new It(_0x37adbd['locale'],_0xb8d072,!!_0x52af37['onClick']);return _0x4acb28['bind']('hasTooltip')['to'](_0x45caaf,'isCollapsed',_0x57d90b=>!_0x57d90b),_0x4acb28['bind']('isFocusable')['to'](_0x45caaf,'isCollapsed',_0x2b35c8=>!_0x2b35c8),_0x52af37['onClick']&&this['listenTo'](_0x4acb28,'execute',()=>{this['view']['isCollapsed']||_0x52af37['onClick'](_0xb8d072,_0x4acb28['element']);}),_0x4acb28;}),this['listenTo'](_0x45caaf['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x45caaf['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x45caaf['inlineListView']['keystrokes']['set']('Enter',(_0x346c3a,_0x30d5cf)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x30d5cf());}),_0x45caaf['render'](),_0x4c014a['render'](),_0x209f0e({'emitter':_0x45caaf,'activator':()=>_0x4c014a['isVisible'],'contextElements':[_0x4c014a['element'],_0x45caaf['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x37adbd['config']['get']('presenceList.container')['appendChild'](_0x45caaf['element']),this['_bodyCollection']=new _0x401395(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x45caaf;}['_handleUserAdd'](_0x243b49){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x243b49['isMe'])return;const _0x2ed0b2=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2ed0b2-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5c0184=_0x243b49['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x243b49,_0x5c0184);}['_handleUserRemove'](_0x816810){this['usersCount']--;const {collapseAt:_0x13d15a}=this['context']['config']['get']('presenceList'),_0x353cb8=this['usersCount']>=_0x13d15a;if(this['currentDisplayedUsers']['get'](_0x816810['id']))this['currentDisplayedUsers']['remove'](_0x816810['id']);else{if(_0x353cb8&&this['currentDisplayedUsers']['length']+0x1===_0x13d15a-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x353cb8?0x1:0x0)<this['usersCount']){for(const _0x591a7a of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x591a7a['id'])&&(this['currentDisplayedUsers']['add'](_0x591a7a,Math['min'](this['currentDisplayedUsers']['length']-(_0x353cb8?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x353cb8?0x1:0x0)===_0x13d15a-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x57fc21=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x57fc21['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1d8e82}=this['presenceDropdownView'];_0x1d8e82['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5a2aee=>{if(!_0x57fc21['displayMe']&&_0x5a2aee['isMe'])return null;const _0x2cfeea=new kt(this['context']['locale'],_0x5a2aee,!!_0x57fc21['onClick']);return _0x57fc21['onClick']&&this['listenTo'](_0x2cfeea,'execute',()=>{_0x57fc21['onClick'](_0x5a2aee,_0x2cfeea['element']);}),_0x2cfeea;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1d8e82['focus'](),_0x1d8e82['checkIfScrollable']();const _0xa80f6f=(_0x263225,_0x2a7a96)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2a7a96();};_0x1d8e82['keystrokes']['set']('Esc',_0xa80f6f),_0x1d8e82['keystrokes']['set']('Shift+Tab',_0xa80f6f),_0x1d8e82['keystrokes']['set']('Tab',(_0x339cb8,_0x4bb398)=>{!function(_0x1dd3db){const _0xa86f60=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3b2971=>_0x3b2971+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1ab59c=[...document['body']['querySelectorAll'](_0xa86f60)]['filter'](_0x5077a9=>_0x5077a9===document['activeElement']||_0x5077a9['offsetWidth']+_0x5077a9['offsetHeight']>0x0)['sort']((_0x4383c4,_0x2af9f8)=>(_0x4383c4['tabIndex']||0x0)-(_0x2af9f8['tabIndex']||0x0)),_0x5cf97b=_0x1ab59c['indexOf'](_0x1dd3db),_0x3ecfbe=_0x1ab59c[(_0x5cf97b+0x1)%_0x1ab59c['length']];_0x3ecfbe&&_0x3ecfbe['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4bb398();}),_0x1d8e82['focusTracker']['add'](this['view']['element']),_0x1d8e82['focusTracker']['on']('change:isFocused',(_0x4f7a89,_0x49480b,_0x5f3f3b)=>{_0x5f3f3b||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x53a76{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{ContextPlugin as _0x56b782,Plugin as _0x19341c,PendingActions as _0x5e3152,Context as _0x5d5394}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5b994f,CKEditorError as _0x2b4c1a,Collection as _0x3ca9e9,global as _0x3d1191,version as _0x45cdfc,uid as _0x42c77e,KeystrokeHandler as _0x32ce2b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2813f5,View as _0x1e867e,ListView as _0x4af250,ListItemView as _0x48f89e,LabelView as _0x2df49d,BalloonPanelView as _0x39d104,clickOutsideHandler as _0x3f118c,BodyCollection as _0x2bbc41}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x330ca4,History as _0x5862fd,NoOperation as _0x4723a8,InsertOperation as _0x5c51d2,MarkerOperation as _0x4c1e0d,RootAttributeOperation as _0x3307e4,transformOperationSets as _0x2962d8,OperationFactory as _0x23d71a}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0xd6965f}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0xd47a40,WEB_SOCKET_GATEWAY_STATES as _0xe9981e,CollaborativeEditingService as _0x33b171,User as _0x17aad5,CommentsService as _0x5bcff5,TrackChangesService as _0x237519,RevisionHistoryService as _0x491b79,EditorService as _0x2d90a6}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x38bcb4,UserView as _0x44a9ad}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x5d01fd}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x2d7d19,TrackChanges as _0x1a2f4d}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5d2c1b,Comments as _0x9134b,CommentsEditing as _0x3a2eff}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x49747b}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x2f2328}from'es-toolkit/compat';class z extends _0x56b782{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0xd47a40)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xd6965f,_0x2813f5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x362ab7){super(_0x362ab7),this['set']('state',_0xe9981e['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5b994f())();}['init'](){const _0xed19f0=this['context'],_0x54304f=_0xed19f0['plugins']['get'](_0xd6965f),_0x10e517=_0xed19f0['plugins']['get'](_0x2813f5);if(!_0x54304f['token'])throw new _0x2b4c1a('websocketgateway-missing-token',this);if(!_0x54304f['webSocketUrl'])throw new _0x2b4c1a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x54304f['token'],_0x54304f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x23743e=>{if(this['connection']=_0x23743e,this['bind']('state')['to'](_0x23743e,'state',this,'_isBrowserOffline',(_0x43680a,_0x14fd81)=>('connected'!==_0x43680a&&(this['_shouldPluginsReconnect']=!0x0),_0x14fd81||_0x43680a!==_0xe9981e['CONNECTED']?_0xe9981e['DISCONNECTED']:this['state']==_0xe9981e['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe9981e['CONNECTING']):_0xe9981e['CONNECTED'])),this['connection']['on']('error',(_0x4e8ec5,_0x2b1660)=>{if('limitExceeded'!==_0x2b1660['code'])throw console['error'](_0x2b1660),new _0x2b4c1a('cloudservices-init',null,{'originalError':_0x2b1660});_0x10e517['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'});}),!_0x23743e['me'])return new Promise(_0x4a4963=>_0x23743e['on']('change:me',_0x4a4963));})['catch'](_0x2e17a6=>{throw console['error'](_0x2e17a6),new _0x2b4c1a('cloudservices-init',null,{'originalError':_0x2e17a6});});}['addToReconnectionStack'](_0x30911d){if('function'!=typeof _0x30911d['reconnect'])throw new _0x2b4c1a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x30911d))throw new _0x2b4c1a('websocketgateway-plugin-already-registered',this,{'name':_0x30911d['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x30911d);}['removeFromReconnectionStack'](_0x44191b){this['_reconnectionStack']['delete'](_0x44191b);}['isInReconnectionStack'](_0x5008f3){return this['_reconnectionStack']['has'](_0x5008f3);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x43d0d0=>_0x43d0d0['reconnect']())))['then'](()=>this['state']=_0xe9981e['CONNECTED'])['catch'](_0x56e4ac=>{throw console['error'](_0x56e4ac),new _0x2b4c1a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe9981e['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x56b782{['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,_0x38bcb4];}constructor(_0x545518){super(_0x545518),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3ca9e9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x38bcb4);}['init'](){const _0x516391=this['context']['plugins']['get'](z);this['listenTo'](_0x516391,'change:state',(_0x412f76,_0x2f3e41,_0x3cc5b1)=>{if('connected'!==_0x3cc5b1)this['channelSessions']['forEach'](_0x4fdf4b=>_0x4fdf4b['clear']()),this['channelConnectedUsers']['forEach'](_0x43be51=>_0x43be51['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x291d84,_0x5ae03f]of this['_registeredSessions'])for(const _0x3f39dc of _0x5ae03f)this['_handleSessionAdd'](_0x291d84,_0x3f39dc);}}),this['_createUser'](_0x516391['connection']['me'],!0x0);}['register'](_0x2db6de,_0x2203f8){if(this['_registeredSessions']['has'](_0x2db6de))throw new _0x2b4c1a('sessions-register-already-registered',null,{'channelId':_0x2db6de});this['_registeredSessions']['set'](_0x2db6de,_0x2203f8),this['channelSessions']['set'](_0x2db6de,new _0x3ca9e9()),this['channelConnectedUsers']['set'](_0x2db6de,new _0x3ca9e9()),this['listenTo'](_0x2203f8,'add',(_0x88b032,_0x26a0de)=>this['_handleSessionAdd'](_0x2db6de,_0x26a0de)),this['listenTo'](_0x2203f8,'remove',(_0x40cb51,_0x832f53)=>this['_handleSessionRemove'](_0x2db6de,_0x832f53));for(const _0x99f4a0 of _0x2203f8)this['_handleSessionAdd'](_0x2db6de,_0x99f4a0);}['unregister'](_0x3505fd){if(!this['_registeredSessions']['has'](_0x3505fd))throw new _0x2b4c1a('sessions-unregister-not-exist',null,{'channelId':_0x3505fd});const _0x279679=this['_registeredSessions']['get'](_0x3505fd);this['stopListening'](_0x279679);for(const _0x44fe0c of _0x279679)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3505fd,_0x44fe0c);this['_registeredSessions']['delete'](_0x3505fd),this['channelSessions']['delete'](_0x3505fd),this['channelConnectedUsers']['delete'](_0x3505fd);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x2d4b11){for(const _0x1d125b of this['channelSessions']['values']())for(const _0xcf1439 of _0x1d125b)if(_0xcf1439['id']===_0x2d4b11)return _0xcf1439['user'];}['getUserSessions'](_0x14ac03,_0x361f2f){const _0x43c4ae=_0x361f2f?[this['channelSessions']['get'](_0x361f2f)]:this['channelSessions']['values'](),_0x2f5d51=new Set();for(const _0x1e733a of _0x43c4ae)for(const _0x2c04ad of _0x1e733a)_0x2c04ad['user']['id']===_0x14ac03['id']&&_0x2f5d51['add'](_0x2c04ad['id']);return _0x2f5d51;}['getUserRole'](_0x14493a){for(const _0x26b69f of this['channelSessions']['values']())for(const _0x502830 of _0x26b69f)if(_0x502830['user']===_0x14493a)return _0x502830['role'];}['_handleSessionAdd'](_0x2e45e4,_0x48e9aa){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x125708=_0x48e9aa['user'],_0x287d8a=this['_users']['getUser'](_0x125708['id'])||this['_createUser'](_0x125708),_0x248a2f=Object['assign']({},_0x48e9aa,{'user':_0x287d8a});if(this['channelSessions']['get'](_0x2e45e4)['add'](_0x248a2f),!_0x125708['hiddenInPresenceList']){const _0x43c0dd=this['channelConnectedUsers']['get'](_0x2e45e4);_0x43c0dd['has'](_0x287d8a['id'])||_0x43c0dd['add'](_0x287d8a),this['allConnectedUsers']['has'](_0x287d8a['id'])||_0x125708['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x287d8a,_0x287d8a['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2e45e4,{'channelId':_0x2e45e4,'session':_0x248a2f});}['_handleSessionRemove'](_0x3bbfcd,_0x252e0d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x486b20=this['channelConnectedUsers']['get'](_0x3bbfcd),_0x35128b=_0x252e0d['user'];_0x35128b['id']&&(this['channelSessions']['get'](_0x3bbfcd)['remove'](_0x252e0d['id']),_0x486b20['has'](_0x35128b['id'])&&!this['getUserSessions'](_0x35128b,_0x3bbfcd)['size']&&_0x486b20['remove'](_0x35128b['id']),this['allConnectedUsers']['get'](_0x35128b['id'])&&!this['getUserSessions'](_0x35128b)['size']&&this['allConnectedUsers']['remove'](_0x35128b['id']));}['_createUser'](_0x2a2797,_0x6f71fd){const _0x5e27fe=this['_users']['addUser'](_0x2a2797);return _0x6f71fd&&this['_users']['defineMe'](_0x2a2797['id']),_0x5e27fe['orderNumber']=this['_uniqueUsersCount']++,_0x5e27fe;}}class K extends _0x19341c{['_domEmitter']=new(_0x5b994f())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3c0fd1=this['editor'],_0x91ea5d=_0x3c0fd1['plugins']['get'](Y);_0x3c0fd1['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3b6553,{writer:_0x2edf0d})=>function(_0x48960a,_0x34445c,_0x4eea54,_0x5ba0be){const _0x41bfa5=_0x48960a['markerName']['split'](':')[0x2],_0x57e87a=_0x4eea54['getUserBySessionId'](_0x41bfa5);if(!_0x57e87a||_0x41bfa5===_0x4eea54['mySessionId'])return;if(!_0x5ba0be['model']['schema']['checkChild'](_0x48960a['markerRange']['start'],'$text'))return;const _0x59a9f7={'class':'ck-user__marker\x20'+_0x57e87a['color']['getMarkerClass'](),'style':Q(_0x57e87a),'data-name':_0x57e87a['name'],'data-session-id':_0x41bfa5},_0x2487ae=_0x5ba0be['model']['markers']['get'](_0x48960a['markerName']),_0x3f4c46=_0x2487ae['getStart'](),_0x10b524=_0x3f4c46['nodeAfter'],_0x319337=_0x5ba0be['model']['schema'];if(_0x10b524&&_0x319337['isObject'](_0x10b524)&&_0x319337['isInline'](_0x10b524)&&!_0x5ba0be['model']['markers']['get']('user:range:'+_0x41bfa5)['getRange']()['isCollapsed'])return;const _0xcae081=_0x3f4c46['parent'];return _0x5ba0be['model']['schema']['isLimit'](_0xcae081)&&!_0x5ba0be['model']['hasContent'](_0xcae081)&&(_0x59a9f7['contenteditable']=!0x1),function(_0x2ec1f5,_0x56bdff,_0x260f64){const _0x1ddc3c=_0x2ec1f5['createUIElement']('span',_0x56bdff);return _0x2ec1f5['setCustomProperty']('userPositionMarker',!0x0,_0x1ddc3c),_0x1ddc3c['render']=function(_0x1105dc){const _0x431cd9=this['toDomElement'](_0x1105dc),_0x5abd3e=document['createElement']('span');return _0x5abd3e['classList']['add']('ck-user__marker-tooltip'),_0x5abd3e['setAttribute']('contenteditable','false'),_0x5abd3e['setAttribute']('spellcheck','false'),_0x5abd3e['textContent']=_0x260f64['name'],_0x431cd9['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5abd3e['outerHTML']+'⁠',_0x431cd9['addEventListener']('mouseenter',()=>{_0x431cd9['classList']['add']('ck-user__marker_hovered');}),_0x431cd9['addEventListener']('mouseleave',()=>{_0x431cd9['classList']['remove']('ck-user__marker_hovered');}),_0x431cd9;},_0x1ddc3c['isSimilar']=function(_0x273a9d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x273a9d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x273a9d['getAttribute']('data-session-id'));},_0x1ddc3c;}(_0x34445c,_0x59a9f7,_0x57e87a);}(_0x3b6553,_0x2edf0d,_0x91ea5d,_0x3c0fd1)}),_0x3c0fd1['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2d46b8=>function(_0x5cf678,_0x15e763){const _0x2e0d28=_0x5cf678['markerName']['split'](':')[0x2];if(_0x2e0d28===_0x15e763['mySessionId'])return null;const _0x2d415a=_0x15e763['getUserBySessionId'](_0x2e0d28);if(!_0x2d415a)return{'id':_0x2e0d28,'classes':[]};return{'id':_0x2e0d28,'classes':['ck-user__selection',_0x2d415a['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2d415a),'data-session-id':_0x2e0d28},'priority':0x7d0+_0x2d415a['orderNumber']};}(_0x2d46b8,_0x91ea5d)}),function(_0x343ce4){const _0x5689ec=_0x343ce4['model'],_0x3ccc83=new Map(),_0x1de9e7=_0x343ce4['plugins']['get'](Y);_0x5689ec['markers']['on']('update:user:range',(_0x1e4410,_0x426fad,_0xf2574b,_0x11f776)=>{if(!_0x11f776&&_0x3ccc83['get'](_0x426fad['name']))return _0x3ccc83['get'](_0x426fad['name'])['detach'](),void _0x3ccc83['delete'](_0x426fad['name']);const _0xf35cfe=_0x426fad['name']['split'](':')[0x2];if(_0xf35cfe===_0x1de9e7['mySessionId'])return;const _0x17aaad='user:position:'+_0xf35cfe;_0x5689ec['markers']['has'](_0x17aaad)&&_0x343ce4['editing']['reconvertMarker'](_0x17aaad),_0x426fad['on']('change:range',(_0x5aab8e,_0x40885a,_0x103936)=>{if('$graveyard'!=_0x40885a['root']['rootName']&&'$graveyard'==_0x426fad['getRange']()['root']['rootName']&&!_0x3ccc83['has'](_0x426fad['name'])){const _0x43f5fb=_0x5689ec['schema']['getNearestSelectionRange'](_0x103936['deletionPosition']);if(_0x43f5fb){const _0x1afe02=_0x330ca4['fromRange'](_0x43f5fb);_0x3ccc83['set'](_0x426fad['name'],_0x1afe02),_0x1afe02['on']('change:range',(_0x6eae5,_0x2e5056,_0x2fc4f3)=>{if('$graveyard'==_0x1afe02['root']['rootName']){const _0x41bf8e=_0x5689ec['schema']['getNearestSelectionRange'](_0x2fc4f3['deletionPosition']);_0x41bf8e?(_0x1afe02['start']=_0x41bf8e['start'],_0x1afe02['end']=_0x41bf8e['end']):(_0x3ccc83['delete'](_0x426fad['name']),_0x1afe02['detach']());}});}}});}),_0x5689ec['document']['on']('change',()=>{_0x3ccc83['size']>0x0&&_0x5689ec['enqueueChange']({'isUndoable':!0x1},_0x18086b=>{for(const [_0x3dd1b0,_0x1e46b0]of _0x3ccc83)'$graveyard'==_0x5689ec['markers']['get'](_0x3dd1b0)['getRange']()['root']['rootName']&&(J(_0x3dd1b0['split'](':')[0x2],_0x1e46b0['toRange'](),_0x5689ec,_0x18086b),_0x1e46b0['detach']());_0x3ccc83['clear']();});});}(_0x3c0fd1),this['_domEmitter']['listenTo'](_0x3d1191['document'],'keydown',(_0x434961,{key:_0x39d5e1})=>{'Escape'===_0x39d5e1&&function(_0x2514cf){_0x2514cf['editing']['view']['change'](_0x2db82a=>{for(const _0x3a1a81 of _0x2514cf['model']['markers']){if(!_0x3a1a81['name']['startsWith']('user:position'))continue;const _0x248eec=_0x2514cf['editing']['mapper']['markerNameToElements'](_0x3a1a81['name']);if(_0x248eec){for(const _0x118587 of _0x248eec)_0x2db82a['removeClass']('ck-user__marker_hovered',_0x118587);}}});}(_0x3c0fd1);},{'useCapture':!0x0});}['afterInit'](){const _0x1e62d7=this['editor'],_0x25bb6a=_0x1e62d7['commands']['get']('undo');_0x25bb6a&&_0x1e62d7['model']['on']('applyOperation',(_0x529308,_0x278f23)=>{const _0x50846d=_0x278f23[0x0];if(!_0x50846d['isDocumentOperation'])return;if('marker'!=_0x50846d['type']||!_0x50846d['name']['startsWith']('user:'))return;const _0x2cfb1a=_0x50846d['batch'];_0x25bb6a['_createdBatches']['has'](_0x2cfb1a)&&(_0x50846d['newRange']=_0x50846d['oldRange']?_0x1e62d7['model']['createRange'](_0x50846d['oldRange']['start'],_0x50846d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3f5e03=this['editor'],_0x384dbe=_0x3f5e03['model']['document'],_0xc21942=_0x3f5e03['plugins']['get'](Y);_0x3f5e03['model']['enqueueChange']({'isUndoable':!0x1},_0x3da481=>{const _0xf0c852='user:range:'+_0xc21942['mySessionId'],_0x2629c8='user:position:'+_0xc21942['mySessionId'],_0x5208c1=_0x3f5e03['model']['markers']['has'](_0xf0c852);_0x3f5e03['editing']['view']['hasDomSelection']?J(_0xc21942['mySessionId'],_0x384dbe['selection']['getFirstRange'](),_0x3f5e03['model'],_0x3da481):_0x5208c1&&(_0x3da481['removeMarker'](_0xf0c852),_0x3da481['removeMarker'](_0x2629c8));});}}function J(_0x37b9a0,_0x4f49a8,_0x5c3cd6,_0x5399cc){const _0x4fe058='user:range:'+_0x37b9a0,_0x16ff79='user:position:'+_0x37b9a0,_0x47f7ea=_0x4f49a8['getContainedElement']();let _0x4e9c6e=_0x4f49a8['start'];if(_0x47f7ea&&_0x47f7ea['is']('element','tableCell')){const _0x28953b=function(_0x5ce646,_0x418d34){for(const _0x501859 of _0x5ce646['getPositions']())if(_0x418d34['schema']['checkChild'](_0x501859,'$text'))return _0x501859;}(_0x4f49a8,_0x5c3cd6);_0x28953b&&(_0x4e9c6e=_0x28953b,_0x4f49a8=_0x5399cc['createRange'](_0x4e9c6e));}const _0x2982d6=_0x5399cc['createRange'](_0x4e9c6e);_0x5c3cd6['markers']['has'](_0x4fe058)?(_0x5399cc['updateMarker'](_0x4fe058,{'range':_0x4f49a8}),_0x5399cc['updateMarker'](_0x16ff79,{'range':_0x2982d6})):(_0x5399cc['addMarker'](_0x4fe058,{'range':_0x4f49a8,'usingOperation':!0x0}),_0x5399cc['addMarker'](_0x16ff79,{'range':_0x2982d6,'usingOperation':!0x0}));}function Q(_0x4521fe){return'--ck-user-color:'+_0x4521fe['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4521fe['color']['getColorAlphaVariable']()+';';}function X(_0x390701,_0x30b8e9,_0x4f7324){const _0x41c40d=_0x390701['t'],t=_0x390701['t'];switch(_0x30b8e9){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 _0x41c40d({'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'},_0x4f7324);default:return'';}}let Z=0x1;class tt extends _0x19341c{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x33b171)());['_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,_0x5e3152,_0x38bcb4,_0x2813f5];}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 _0x31074c=this['serverHistory']['getOperations']();for(let _0x20af7a=_0x31074c['length']-0x1;_0x20af7a>=0x0;_0x20af7a--){const _0x11c990=_0x31074c[_0x20af7a];if(!this['_disconnectionOperations']['has'](_0x11c990))return _0x11c990['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x34eca0){if(super(_0x34eca0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5862fd(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2b4c1a('collaboration-missing-channelid',this);const _0x4e8826=_0x34eca0['config']['get']('cloudServices.bundleVersion')||_0x45cdfc;this['_service']=new tt['CollaborativeEditingService'](_0x4e8826,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5d01fd(),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 _0xc2ddc7=this['editor'],_0x278114=_0xc2ddc7['plugins']['get'](_0x38bcb4),_0x4d6120=_0xc2ddc7['plugins']['get'](z);this['listenTo'](_0x278114,'getOperationAuthor',(_0x1d777d,_0x9cf90f)=>{const _0xb91109=_0x9cf90f[0x0];_0xb91109['_authorId']&&(_0x1d777d['return']=_0x278114['getUser'](_0xb91109['_authorId']),_0x1d777d['stop']()),null===_0xb91109['_authorId']&&(_0x1d777d['return']=null,_0x1d777d['stop']());},{'priority':'high'}),this['listenTo'](_0xc2ddc7['model']['document']['selection'],'change:range',(_0x49bc20,_0x1915ef)=>{_0x1915ef['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xc2ddc7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xc2ddc7['model']['on']('applyOperation',(_0x20be69,_0x336e66)=>{const _0x15c513=_0x336e66[0x0];_0x15c513['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x15c513),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4d6120,'state',this,'_hasSynchronizationProblem',(_0x44605f,_0x4706b4)=>'connected'===_0x44605f&&!_0x4706b4),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xc2ddc7['disableReadOnlyMode']('rtc-offline'):_0xc2ddc7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xc2ddc7['disableReadOnlyMode']('rtc-offline'):_0xc2ddc7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x516bba=this['editor']['plugins']['get'](Y),_0x1ae683=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x516bba['unregister'](this['_channelId']);const _0x3d6159=await this['_service']['reconnect'](_0x1ae683['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3d6159)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x470305=await this['_service']['getConnectedSessions']();_0x516bba['register'](this['_channelId'],_0x470305),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3849b4){if(function(_0x314e30){return'404'===_0x314e30['code'];}(_0x3849b4)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x12d4af){return'409'===_0x12d4af['code'];}(_0x3849b4)){const _0x2d1866=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'](_0x2d1866);}else{if(!(_0x3849b4 instanceof et))throw _0x3849b4;this['_handleReconnectionError']();}}}}['destroy'](){const _0x198d09=this['editor']['plugins']['get'](z),_0x157ace=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x157ace['channelSessions']['has'](this['_channelId'])&&_0x157ace['unregister'](this['_channelId']),_0x198d09['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x18e6a5){if(this['sessionId']!==_0x18e6a5['sessionId']&&this['_lastSyncedOperationId']!==_0x18e6a5['lastOperationId'])throw new et();return this['sessionId']=_0x18e6a5['sessionId'],this['_handleServerResponse']([],{..._0x18e6a5,'wereChangesApplied':!0x1,'data':_0x18e6a5['data']},'reconnect');}async['_connectService'](_0xcc972c,_0x2eca72=!0x1){const {connection:_0x115bec}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x115bec,this['_channelId'])['then'](_0xb969de=>this['_initSessionsHandling'](_0xb969de))['catch'](_0x4b504d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4b504d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4adcff,_0x40d952)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x40d952);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x56d3fd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcc972c);this['_isPendingUpdate']=!0x0;const _0x3b01bc=await this['_service']['connect'](_0x115bec,this['_compressOperations'](_0xcc972c),_0x56d3fd);if(this['sessionId']=_0x3b01bc['sessionId'],_0x2eca72){if(!_0x3b01bc['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3b01bc['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xcc972c,_0x3b01bc,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3b01bc,_0xcc972c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x450495=this['editor']['plugins']['get'](Y),_0x59284d=this['editor']['plugins']['get'](K),_0x91b566=_0x450495['channelSessions']['get'](this['_channelId']);_0x91b566&&_0x91b566['length']>0x1?_0x59284d['createUserMarkerOperations']():this['listenTo'](_0x450495,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x450495['channelSessions']['get'](this['_channelId'])['length']&&_0x59284d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x51ebde,_0x304be8,_0x56bc74,_0x51967d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x304be8){const _0x2bbd75=this['_decompressOperations'](_0x56bc74,_0x51967d);await this['_fetchMissingUsers'](_0x2bbd75),this['_handleExternalOperations'](_0x2bbd75,_0x304be8,_0x56bc74['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x591134}=this['editor'];let _0x1d9751;try{_0x1d9751=await this['_service']['getDocumentDetails']();}catch{const _0x537d13=X(_0x591134,'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'](_0x537d13);}const _0x246d9e=_0x1d9751['currentDocumentSession']||_0x1d9751['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x246d9e['lastOperationId']){const _0x1b4fab=X(_0x591134,'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'](_0x1b4fab);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x394e71){const _0x34039a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x34039a,'sessionAdd:'+this['_channelId'],(_0x46b29b,{session:_0x27e5ff})=>{if(_0x27e5ff['id']===_0x34039a['mySessionId']){_0x46b29b['off']();const _0x37250d=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x92e1f4=_0x27e5ff['permissions'];_0x37250d&&_0x37250d['isEnabled']&&(_0x92e1f4=_0x92e1f4['filter'](_0x4a41d0=>'document:write'!==_0x4a41d0)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x92e1f4,this['_channelId']);}}),_0x34039a['register'](this['_channelId'],_0x394e71);}['_initThrowingOnDataSet'](){const _0x55e2b6=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x49e392)=>{if(!_0x49e392[_0x49e392['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2b4c1a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x55e2b6['apply'](this['editor']['data'],_0x49e392);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x505a00,[_0x5705f2])=>{if(this['_document']['version'])throw new _0x2b4c1a('realtimecollaborationclient-init-document-already-initialized',this);_0x505a00['stop'](),this['_setPendingAction']();const _0x31a6c2=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1dc15d])=>!_0x1dc15d['lazyLoad'])['map'](([_0xedde9b,_0x11a53e])=>[_0xedde9b,_0x11a53e['modelAttributes']||{}])),_0x12906a=this['_getOperationsFromInitData'](_0x5705f2,_0x31a6c2);0x0==_0x12906a['length']&&_0x12906a['push'](new _0x4723a8(0x0)),_0x505a00['return']=this['_connectService'](_0x12906a)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x59ae4c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x59ae4c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1397ef,[_0x496186,_0x47a695])=>{_0x1397ef['stop']();const _0x329db7=this['editor']['model']['document']['getRoot'](_0x496186);if(!this['_knownRootNames']['has'](_0x496186)){const _0x3d8f12=_0x47a695&&_0x47a695['data']?_0x47a695['data']:'',_0xcc55bb=_0x47a695&&_0x47a695['attributes']?_0x47a695['attributes']:{};await this['_loadRoot'](_0x496186,_0x3d8f12,_0xcc55bb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x329db7['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x329db7);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x9b61d9){const _0x13ab50=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0x5973de}=this['editor']['plugins']['get'](z),_0x3cc83a=new Set();for(const _0x39757c of _0x9b61d9){const _0x36d2cb=_0x39757c['_authorId'];_0x36d2cb&&!_0x13ab50['getUser'](_0x36d2cb)&&_0x3cc83a['add'](_0x36d2cb);}if(0x0===_0x3cc83a['size'])return;const _0x36db29=await _0x17aad5['getMany'](_0x5973de,Array['from'](_0x3cc83a));for(const _0x31e267 of _0x36db29)_0x13ab50['getUser'](_0x31e267['id'])||_0x13ab50['addUser'](_0x31e267);}['_getOperationsFromInitData'](_0x2e6e6d,_0x4540d7={}){const _0x1f6ed5=this['editor']['model'],_0x49eba6=[];let _0xc39a58=0x0;const _0xa8fcd0='string'==typeof _0x2e6e6d?{'main':_0x2e6e6d}:_0x2e6e6d;for(const _0x437b62 of Object['keys'](_0xa8fcd0)){if(!this['_document']['roots']['has'](_0x437b62))throw new _0x2b4c1a('realtimecollaborationclient-init-non-existent-root',this);const _0x3dded7=this['editor']['data']['parse'](_0xa8fcd0[_0x437b62]),_0x4a4265=this['_document']['getRoot'](_0x437b62),_0x5e211a=new _0x5c51d2(_0x1f6ed5['createPositionAt'](_0x4a4265,0x0),_0x3dded7,_0xc39a58++);_0x49eba6['push'](_0x5e211a);for(const [_0x6886af,_0xfa0c72]of _0x3dded7['markers']){const _0x15ff30=_0x1f6ed5['createRange'](_0x1f6ed5['createPositionFromPath'](_0x4a4265,_0xfa0c72['start']['path']['slice']()),_0x1f6ed5['createPositionFromPath'](_0x4a4265,_0xfa0c72['end']['path']['slice']())),_0x3b881e=new _0x4c1e0d(_0x6886af,null,_0x15ff30,_0x1f6ed5['markers'],!0x0,_0xc39a58++);_0x49eba6['push'](_0x3b881e);}}if(_0x4540d7)for(const [_0x5ecc21,_0x1fff34]of Object['entries'](_0x4540d7)){const _0x4c79c2=_0x1f6ed5['document']['getRoot'](_0x5ecc21);if(!_0x4c79c2)throw new _0x2b4c1a('multi-root-editor-root-attributes-no-root',null);for(const [_0x29480b,_0x3d944c]of Object['entries'](_0x1fff34))if(null!==_0x3d944c){const _0x51bdd5=new _0x3307e4(_0x4c79c2,_0x29480b,null,_0x3d944c,_0xc39a58++);_0x49eba6['push'](_0x51bdd5);}}return _0x49eba6;}async['_loadRoot'](_0x4ed1f7,_0x3185bf,_0x5821ef){this['_getOperationsFromInitData']({[_0x4ed1f7]:_0x3185bf},{[_0x4ed1f7]:_0x5821ef})['forEach']((_0x4c1571,_0x57a797)=>{_0x4c1571['baseVersion']=this['_document']['version']+_0x57a797,_0x4c1571['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4c1571);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x21edb3,_0x539bdb){let _0xb198d7;this['_offset']=_0x21edb3['offset'];const _0x40b144=_0x21edb3['wereChangesApplied']&&!_0x21edb3['initData'],_0x3cb272=_0x40b144?0x0:_0x21edb3['data']['baseVersion'];if(_0x539bdb['forEach'](_0x160298=>{_0x160298['_isInit']=!0x0,_0x160298['createdAt']=_0x21edb3['sessionCreatedAt'],_0x160298['_authorId']=null;}),_0x40b144)_0xb198d7=_0x539bdb,this['_applyOperationsSet'](_0xb198d7,_0x40b144);else{if(_0x21edb3['initData']){const _0x1d623a=this['_getOperationsFromInitData'](_0x21edb3['initData']);this['_document']['history']['version']=-_0x1d623a['length'],_0x1d623a['forEach'](_0x2d88b6=>{_0x2d88b6['baseVersion']-=_0x1d623a['length'],_0x2d88b6['createdAt']=_0x21edb3['sessionCreatedAt'],_0x2d88b6['_isInit']=!0x0,_0x2d88b6['_authorId']=null;}),this['_applyOperationsSet'](_0x1d623a,!0x0),this['serverHistory']['version']=-_0x1d623a['length']+this['_offset'],this['_updateServerHistory'](_0x1d623a);}this['_document']['history']['version']=_0x3cb272,_0xb198d7=this['_decompressOperations'](_0x21edb3['data'],_0x21edb3['metadata']),await this['_fetchMissingUsers'](_0xb198d7),this['_applyOperationsSet'](_0xb198d7,_0x40b144);}_0x21edb3['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb198d7,_0x21edb3['lastOperationId']),this['_lastSyncedOperationId']=_0x21edb3['lastOperationId']),this['serverHistory']['version']=_0x3cb272+this['_offset'],this['_updateServerHistory'](_0xb198d7),_0x539bdb['filter'](_0x35a481=>{const _0x41c8c1=this['_getAffectedRoot'](_0x35a481);return _0x41c8c1&&!this['_knownRootNames']['has'](_0x41c8c1);})['forEach']((_0x5404bb,_0x175fe9)=>{_0x5404bb['baseVersion']=this['_document']['version']+_0x175fe9,this['_saveOperationInBuffer'](_0x5404bb);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x453a24,_0x5e6e00){const _0x4d7c3a=_0x5e6e00&&_0x5e6e00['message'];if(_0x4d7c3a&&_0x4d7c3a['startsWith']('realtimecollaborationclient'))throw _0x5e6e00;const _0x2e53d6=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2e53d6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2b4c1a(_0x453a24,this['editor'],_0x4d7c3a?{'originalError':_0x4d7c3a}:void 0x0);}['_saveOperationInBuffer'](_0x289a2b){this['_knownOperations']['has'](_0x289a2b)||(this['_knownOperations']['add'](_0x289a2b),this['_bufferedOperations']['push'](_0x289a2b),this['_pendingAction']||'marker'==_0x289a2b['type']&&!_0x289a2b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x31f720=!0x1){!_0x31f720&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x203d64=>{_0x203d64&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x460845=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x26a0cd){return _0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x460845)||this['_crash'](_0x460845['message'],_0x460845);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3a9992=>{this['on']('change:_isPendingUpdate',()=>{_0x3a9992();});});}async['_sendBufferedOperations'](){const _0x3e9b4b=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x3e9b4b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1f8207=[...this['_bufferedOperations']];for(const _0x17dbc4 of _0x1f8207)_0x17dbc4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x17dbc4);const _0x10e0f6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1f8207),_0x3ae560=Z++,_0xabb57c=this['_compressOperations'](_0x1f8207),_0xda266c=await this['_service']['sendOperations'](_0xabb57c,_0xabb57c['baseVersion'],_0x10e0f6);try{return await this['_handleServerResponse'](_0x1f8207,_0xda266c,_0x3ae560);}catch(_0x3d35c2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3d35c2);}}async['_handleServerResponse'](_0x47e025,_0x4c081e,_0x25abe1){if('error'in _0x4c081e)throw _0x4c081e['error'];let _0x1fb41d=!0x1;if(_0x4c081e['wereChangesApplied']){_0x4c081e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4c081e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x474859=>!_0x47e025['includes'](_0x474859));for(const _0x19f207 of _0x47e025)_0x19f207['createdAt']='lastOperationAcceptedAt'in _0x4c081e&&_0x4c081e['lastOperationAcceptedAt']||void 0x0;st(_0x47e025,_0x4c081e['version']-_0x47e025['length']),this['_updateServerHistory'](_0x47e025);const _0x47f890=_0x47e025['filter'](_0x2d6adc=>{if(!_0x2d6adc['_isInit'])return!0x1;const _0x135b76=this['_getAffectedRoot'](_0x2d6adc);return _0x135b76&&!this['_knownRootNames']['has'](_0x135b76);});st(_0x47f890,this['_document']['version']),this['_applyOperationsSet'](_0x47f890),_0x1fb41d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3a7bb8=this['_decompressOperations'](_0x4c081e['data'],_0x4c081e['metadata'])['filter'](_0x26da24=>_0x26da24['baseVersion']>=this['_lastServerVersion']);_0x3a7bb8['forEach'](_0x291aed=>this['_addKnownRoot'](_0x291aed)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4742cc=>!_0x4742cc['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4742cc))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3a7bb8),_0x1fb41d=this['_handleExternalOperations'](_0x3a7bb8,_0x4c081e['version'],_0x4c081e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1fb41d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x45a551,_0x1ee161,_0x5cc09c){try{const _0x56bf70={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x55440c,operationsB:_0x31d330,originalOperations:_0x5d61ab}=_0x2962d8(_0x45a551,this['_bufferedOperations'],_0x56bf70);st(_0x55440c,this['_document']['version']),st(_0x31d330,_0x1ee161);for(const _0x356bd5 of _0x55440c){const _0x4c8543=_0x5d61ab['get'](_0x356bd5);_0x356bd5['_authorId']=_0x4c8543?_0x4c8543['_authorId']:null;}_0x5cc09c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x45a551,_0x5cc09c),this['_lastSyncedOperationId']=_0x5cc09c),this['_bufferedOperations']=[..._0x31d330],this['_applyOperationsSet'](_0x55440c),this['_updateServerHistory'](_0x45a551);}catch(_0x58bb01){return console['error'](_0x58bb01),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2859ec,_0x5e90c9=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4f2ae9=>{for(const _0x2e3b60 of _0x2859ec)this['_knownOperations']['add'](_0x2e3b60),this['_addKnownRoot'](_0x2e3b60),_0x4f2ae9['batch']['addOperation'](_0x2e3b60),this['editor']['model']['applyOperation'](_0x2e3b60);});}['_addKnownRoot'](_0x21a7c4){const _0x301f76=this['_getAffectedRoot'](_0x21a7c4);_0x301f76&&this['_knownRootNames']['add'](_0x301f76);}['_getAffectedRoot'](_0x4a1c8c){let _0x4cee27,_0x364697;switch(_0x4a1c8c['type']){case'insert':_0x4cee27=_0x4a1c8c['position']['root'];break;case'marker':if(_0x364697=_0x4a1c8c['newRange'],!_0x364697)return null;_0x4cee27=_0x364697['root'];break;case'addRootAttribute':_0x4cee27=_0x4a1c8c['root'];break;case'addRoot':_0x4cee27=_0x4a1c8c['affectedSelectable'];break;case'move':_0x4cee27=_0x4a1c8c['targetPosition']['root'];break;default:return null;}return _0x4cee27['rootName'];}['_updateServerHistory'](_0x2638a8){_0x2638a8['forEach'](_0x564cbc=>{const _0x5dbd4f=_0x564cbc['clone']();_0x5dbd4f['_authorId']=_0x564cbc['_authorId'],_0x5dbd4f['_isInit']=!!_0x564cbc['_isInit'],_0x5dbd4f['createdAt']=_0x564cbc['createdAt'],_0x5dbd4f['baseVersion']+=this['_offset'],_0x564cbc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5dbd4f),this['serverHistory']['addOperation'](_0x5dbd4f);});}['_handleReconnectionError'](_0x545970){const _0x7d575b=this['editor']['plugins']['get']('Notification'),_0x998fcb=this['editor']['locale'];_0x545970||(_0x545970=X(_0x998fcb,'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.')),_0x7d575b['showWarning'](_0x545970,{'title':X(_0x998fcb,'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'](_0x5e3152)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5e3152)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5bffe6){const _0x5bad5b=_0x5bffe6['map'](_0xf0ce8a=>_0xf0ce8a['toJSON']());return this['_compressor']['compress'](_0x5bad5b);}['_decompressOperations'](_0x2a122f,_0x572f86){return this['_compressor']['decompress'](_0x2a122f)['map']((_0x59a6e9,_0x4e64cf)=>{const _0x21bb3f='init'==_0x572f86[_0x4e64cf]['type'];if('InsertOperation'==_0x59a6e9['__className']){const _0x1372cd=_0x59a6e9['position']['root'];!this['_document']['getRoot'](_0x1372cd)&&(this['_document']['createRoot']('$root',_0x1372cd)['_isAttached']=!0x1);}const _0x5b0bb1=_0x23d71a['fromJSON'](_0x59a6e9,this['_document']);return _0x5b0bb1['wasUndone']=_0x59a6e9['wasUndone'],_0x5b0bb1['_isInit']=_0x21bb3f,_0x5b0bb1['_authorId']=_0x21bb3f?null:_0x572f86[_0x4e64cf]['userId'],_0x5b0bb1['_isDisconnection']='cs:removeUser'===_0x572f86[_0x4e64cf]['type'],_0x5b0bb1['createdAt']=_0x572f86[_0x4e64cf]['createdAt'],_0x5b0bb1;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xfeb23b=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xfeb23b&&_0xfeb23b['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0xb822e,_0x3757ae){for(const _0x1c9c89 of _0xb822e)_0x1c9c89['baseVersion']=_0x3757ae++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x26f767){this['_ignoredOperations']=_0x26f767,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3313ba){let _0xfd42ce=_0x3313ba['length'];for(;_0xfd42ce--;){const _0x43e1bc=_0x3313ba[_0xfd42ce];if(!this['_ignoredOperations']['has'](_0x43e1bc)){if(!this['_operationToId']['has'](_0x43e1bc)){const _0x465820=_0x42c77e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x43e1bc,_0x465820);}return this['_operationToId']['get'](_0x43e1bc);}}}['setIdForTheLastOperation'](_0xae00e3,_0x211cf2){if(!_0x211cf2)return;let _0x250ea6=_0xae00e3['length'];for(;_0x250ea6--;){const _0x2d6739=_0xae00e3[_0x250ea6];this['_ignoredOperations']['has'](_0x2d6739)||this['_operationToId']['set'](_0x2d6739,_0x211cf2);}}}class nt extends _0x19341c{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x56b782{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x5bcff5)());['_services'];static get['requires'](){return[z,_0x5d2c1b,Y,_0x38bcb4];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x365f0f){super(_0x365f0f),this['_services']=new Map();}async['init'](){const _0x5aa77e=this['context'],_0x3afcb3=_0x5aa77e['plugins']['get'](_0x5d2c1b);if(_0x5aa77e['plugins']['get'](z)['addToReconnectionStack'](this),_0x3afcb3['adapter']={'addCommentThread':async({channelId:_0x216804,threadId:_0x1da8d9,comments:_0x21b469,resolvedAt:_0x5302f4,resolvedBy:_0x5e1c7c,context:_0x351135,attributes:_0x383a34})=>{const _0x94a9b7=await this['_getService'](_0x216804)['addCommentThread']({'commentThreadId':_0x1da8d9,'comments':_0x21b469['map'](_0x1d423d=>function(_0x405b96,_0x5c8b79,_0xfff8c8){return{'commentThreadId':_0xfff8c8,'commentId':_0x405b96['commentId'],'userId':_0x405b96['authorId'],'content':_0x405b96['content'],'documentId':_0x5c8b79,'createdAt':_0x405b96['createdAt'],'attributes':_0x405b96['attributes']||{}};}(_0x1d423d,_0x216804,_0x1da8d9)),'resolvedAt':_0x5302f4,'resolvedBy':_0x5e1c7c,'context':_0x351135,'attributes':_0x383a34})['catch'](ct);return{'threadId':_0x94a9b7['commentThreadId'],'comments':_0x94a9b7['comments']};},'getCommentThread':async({channelId:_0x1bcb85,threadId:_0x559d27})=>{const _0x234a35=await this['_getService'](_0x1bcb85)['getCommentThread'](_0x559d27)['catch'](rt)['catch'](ct);return _0x234a35?_0x234a35['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x234a35]),{'threadId':_0x234a35['commentThreadId'],'comments':_0x234a35['comments']['map'](at),'context':_0x234a35['context'],'resolvedAt':_0x234a35['resolvedAt'],'resolvedBy':_0x234a35['resolvedBy'],'attributes':_0x234a35['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x506182,threadId:_0x11446d,context:_0xa18d05,unlinkedAt:_0x2f286b,attributes:_0x5179cf})=>this['_getService'](_0x506182)['updateCommentThread']({'commentThreadId':_0x11446d,'context':_0xa18d05,'attributes':_0x5179cf,'unlinkedAt':_0x2f286b})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x44e19c,threadId:_0x4a27c2})=>{const _0x3486bc=await this['_getService'](_0x44e19c)['resolveCommentThread'](_0x4a27c2)['catch'](rt)['catch'](ct);return{'threadId':_0x3486bc['commentThreadId'],'resolvedAt':_0x3486bc['resolvedAt'],'resolvedBy':_0x3486bc['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4903c0,threadId:_0x5b1961})=>this['_getService'](_0x4903c0)['reopenCommentThread'](_0x5b1961)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3772b9,threadId:_0x118ced})=>this['_getService'](_0x3772b9)['removeCommentThread'](_0x118ced)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x55a772,threadId:_0x5b9f50,commentId:_0x380194,content:_0x5cd8fd,attributes:_0x19b38f})=>this['_getService'](_0x55a772)['addComment'](_0x5b9f50,_0x380194,_0x5cd8fd,_0x19b38f)['catch'](ct),'updateComment':({channelId:_0x43e1d,threadId:_0x355836,commentId:_0x2a21c6,content:_0x5001ed,attributes:_0x1ada96})=>this['_getService'](_0x43e1d)['updateComment'](_0x355836,_0x2a21c6,_0x5001ed,_0x1ada96)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x59ed32,threadId:_0x19920f,commentId:_0x1071e0})=>this['_getService'](_0x59ed32)['removeComment'](_0x19920f,_0x1071e0)['catch'](rt)['catch'](ct)},_0x5aa77e instanceof _0x5d5394){const _0x559ce5=_0x5aa77e['config']['get']('collaboration.channelId'),_0x98515f=_0x5aa77e['plugins']['get'](Y);await this['_setUpService'](_0x559ce5);const _0x1bc9c4=await this['_services']['get'](_0x559ce5)['getConnectedSessions']();this['listenTo'](_0x98515f,'sessionAdd:'+_0x559ce5,(_0x3f1d6e,{session:_0x1eb6da})=>{_0x1eb6da['id']===_0x98515f['mySessionId']&&(_0x3f1d6e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1eb6da['permissions'],_0x559ce5));}),_0x98515f['register'](_0x559ce5,_0x1bc9c4);}}async['_setUpService'](_0x802a74){if(this['_services']['has'](_0x802a74))throw new _0x2b4c1a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x802a74});const _0x2108f0=this['context']['plugins']['get'](_0x5d2c1b),_0x1356fe=new ot['CommentsService'](_0x802a74);this['_services']['set'](_0x802a74,_0x1356fe),this['listenTo'](_0x1356fe,'commentThreadAdded',(_0x5f5c48,_0x17ab73)=>{const {commentThreadId:_0x373a8e,documentId:_0x5481f3,context:_0x1fe381,attributes:_0x5f19e5,resolvedAt:_0x55d0aa,resolvedBy:_0x2bf8fe,comments:_0x2cf99f}=_0x17ab73;_0x2108f0['getCommentThread'](_0x373a8e)||_0x2108f0['addCommentThread']({'threadId':_0x373a8e,'channelId':_0x5481f3,'comments':_0x2cf99f?_0x2cf99f['map'](at):[],'context':_0x1fe381,'attributes':_0x5f19e5,'resolvedAt':_0x55d0aa,'resolvedBy':_0x2bf8fe,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadUpdated',(_0x2f8e7b,{commentThreadId:_0x271fa5,documentId:_0x4f9369,context:_0x2c66a8,unlinkedAt:_0x5994c8,attributes:_0xf637b4})=>{_0x2108f0['getCommentThread'](_0x271fa5)&&_0x2108f0['updateCommentThread']({'threadId':_0x271fa5,'channelId':_0x4f9369,'context':_0x2c66a8,'unlinkedAt':_0x5994c8,'attributes':_0xf637b4,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadResolved',(_0x1dda72,{commentThreadId:_0x2dff50,resolvedBy:_0x7c0ce6,resolvedAt:_0x8f5efe})=>{const _0x27031e=_0x2108f0['getCommentThread'](_0x2dff50);_0x27031e&&_0x27031e['resolve']({'resolvedBy':_0x7c0ce6,'resolvedAt':_0x8f5efe,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadReopened',(_0x322ba2,{commentThreadId:_0x52119c})=>{const _0x379732=_0x2108f0['getCommentThread'](_0x52119c);_0x379732&&_0x379732['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadRemoved',(_0x4436d1,{commentThreadId:_0x248003})=>{const _0x180528=_0x2108f0['getCommentThread'](_0x248003);_0x180528&&_0x180528['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentAdded',(_0x69f6f3,_0x13991d)=>{const _0x365d82=_0x13991d['commentThreadId'],_0x5111eb=_0x2108f0['getCommentThread'](_0x365d82);_0x5111eb&&_0x5111eb['addComment']({...at(_0x13991d),'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentUpdated',(_0x4bc57f,{commentThreadId:_0x720aa4,commentId:_0x523d14,content:_0x1e4a39,attributes:_0x208475})=>{const _0x1f4f47=_0x2108f0['getCommentThread'](_0x720aa4);if(_0x1f4f47){const _0x41355a=_0x1f4f47['getComment'](_0x523d14);_0x41355a&&_0x41355a['update']({'content':_0x1e4a39,'attributes':_0x208475,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1356fe,'commentRemoved',(_0x1e7234,{commentThreadId:_0xb51800,commentId:_0x15a390})=>{const _0xce1e3a=_0x2108f0['getCommentThread'](_0xb51800);if(_0xce1e3a){const _0x397158=_0xce1e3a['getComment'](_0x15a390);_0x397158&&_0x397158['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x802a74);}['destroy'](){if(this['context']instanceof _0x5d5394){const _0x2daf3f=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2daf3f);}}['_terminateService'](_0x121863){if(!this['_services']['has'](_0x121863))throw new _0x2b4c1a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x121863});this['_getService'](_0x121863)['disconnect'](),this['_services']['delete'](_0x121863);}async['reconnect'](){for(const _0x55b9eb of this['_services']['keys']())await this['_connectService'](_0x55b9eb);if(this['context']instanceof _0x5d5394){const _0x4352d4=this['context']['config']['get']('collaboration.channelId'),_0x4f52b1=this['context']['plugins']['get'](Y);_0x4f52b1['unregister'](_0x4352d4);const _0x359c14=await this['_services']['get'](_0x4352d4)['getConnectedSessions']();_0x4f52b1['register'](_0x4352d4,_0x359c14);}}async['_connectService'](_0x41fc36){const {connection:_0x5bb90e}=this['context']['plugins']['get'](z),_0x45ae3d=this['context']['plugins']['get'](_0x5d2c1b),_0x1af4b4=this['_services']['get'](_0x41fc36),_0x5c38ae=await _0x1af4b4['connect'](_0x5bb90e);await this['_fetchMissingUsersForThreads'](_0x5c38ae);const _0x384c79=new Set(Array['from'](_0x45ae3d['getCommentThreads']({'channelId':_0x41fc36}),_0xea778=>_0xea778['id']));for(const _0x51db64 of _0x5c38ae)_0x51db64['deletedAt']||_0x384c79['delete'](_0x51db64['commentThreadId']);for(const _0x48a4c4 of _0x384c79)_0x45ae3d['getCommentThread'](_0x48a4c4)['remove']({'isFromAdapter':!0x0});for(const _0x2a5910 of _0x5c38ae){let _0x5e583d=_0x45ae3d['getCommentThread'](_0x2a5910['commentThreadId']);const {commentThreadId:_0x3454c9,context:_0x4d759c,attributes:_0x44bc7c,resolvedBy:_0x432ec5,resolvedAt:_0x88a47d,unlinkedAt:_0x5d3243,deletedAt:_0x5a5232}=_0x2a5910;if(_0x5a5232)continue;_0x5e583d||(_0x5e583d=_0x45ae3d['addCommentThread']({'channelId':_0x41fc36,'threadId':_0x3454c9,'context':_0x4d759c,'attributes':_0x44bc7c||{},'resolvedBy':_0x432ec5,'resolvedAt':_0x88a47d,'unlinkedAt':_0x5d3243,'isFromAdapter':!0x0}));const _0x401ec5=new Set(Array['from'](_0x5e583d['comments'],_0x422eda=>_0x422eda['id']));for(const _0x26acbd of _0x2a5910['comments'])_0x401ec5['delete'](_0x26acbd['commentId']);for(const _0x59d8c9 of _0x401ec5)_0x5e583d['getComment'](_0x59d8c9)['remove']({'isFromAdapter':!0x0});for(const _0x45f764 of _0x2a5910['comments']){const _0x218a45=_0x5e583d['getComment'](_0x45f764['commentId']);_0x218a45?_0x218a45['content']!==_0x45f764['content']&&_0x218a45['update']({'content':_0x45f764['content'],'isFromAdapter':!0x0}):_0x5e583d['addComment'](Object['assign'](at(_0x45f764),{'isFromAdapter':!0x0}));}}}['_getService'](_0x23c847){if(!this['_services']['has'](_0x23c847))throw new _0x2b4c1a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x23c847});return this['_services']['get'](_0x23c847);}async['_fetchMissingUsersForThreads'](_0x16d8e1){const _0x108b2e=this['context']['plugins']['get'](_0x38bcb4),{connection:_0x1780f9}=this['context']['plugins']['get'](z),_0x3d917e=new Set();for(const {resolvedBy:_0x347a00,comments:_0xd52f1b}of _0x16d8e1){_0x347a00&&!_0x108b2e['getUser'](_0x347a00)&&_0x3d917e['add'](_0x347a00);for(const {userId:_0x17e938}of _0xd52f1b)_0x108b2e['getUser'](_0x17e938)||_0x3d917e['add'](_0x17e938);}if(0x0===_0x3d917e['size'])return;const _0x31f417=await _0x17aad5['getMany'](_0x1780f9,Array['from'](_0x3d917e));for(const _0x5c779e of _0x31f417)_0x108b2e['getUser'](_0x5c779e['id'])||_0x108b2e['addUser'](_0x5c779e);}}async function rt(_0x8b48a3){if('404'!==_0x8b48a3['code'])throw _0x8b48a3;}function ct(_0x508d51){if((_0x40a586=_0x508d51)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x40a586['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40a586['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x40a586;throw _0x508d51;}function at(_0x8329a1){return{'threadId':_0x8329a1['commentThreadId'],'commentId':_0x8329a1['commentId'],'content':_0x8329a1['content'],'createdAt':_0x8329a1['createdAt'],'authorId':_0x8329a1['userId'],'attributes':_0x8329a1['attributes']||{}};}class ht extends _0x19341c{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x237519)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x2d7d19,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4a70af){super(_0x4a70af);const _0x54faca=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x54faca);}['init'](){const _0x4b4c38=this['editor']['plugins']['get'](z),_0x21dfcc=this['editor']['plugins']['get'](_0x2d7d19);return _0x21dfcc['adapter']={'getSuggestion':async _0x4a7969=>{await this['_waitForServiceReady']();const _0x3750e2=await this['_trackChangesService']['get'](_0x4a7969)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3750e2]),_0x3750e2;},'addSuggestion':async({id:_0xdb914e,type:_0x4297f0,data:_0x596336,originalSuggestionId:_0x496062,attributes:_0x2beaab})=>{await this['_waitForServiceReady']();const _0x270a90={'id':_0xdb914e,'type':_0x4297f0,'data':_0x596336,'originalSuggestionId':_0x496062,'attributes':_0x2beaab},_0x5e99f1=await this['_trackChangesService']['add'](_0xdb914e,_0x4297f0,_0x596336,_0x496062,_0x2beaab)['catch'](_0x5b3752=>{if(dt(_0x5b3752))return new Promise(_0x2eb56d=>{this['_bufferedRequests']['set'](_0xdb914e,{'resolve':_0x2eb56d,'suggestionData':_0x270a90});});throw _0x5b3752;});return this['_bufferedRequests']['delete'](_0xdb914e),_0x5e99f1;},'updateSuggestion':async(_0x556365,_0x3224ca)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3224ca['state'])return this['_trackChangesService']['update'](_0x556365,_0x3224ca)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x28385e,_0x14dc52)=>{_0x21dfcc['hasSuggestion'](_0x14dc52['id'])&&(_0x21dfcc['getSuggestion'](_0x14dc52['id'])['attributes']=_0x14dc52['attributes']);}),this['_trackChangesService']['connect'](_0x4b4c38['connection'])['then'](_0x49b63c=>(_0x4b4c38['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x49b63c)['then'](()=>{for(const _0x509b5e of _0x49b63c){_0x21dfcc['addSuggestionData'](_0x509b5e)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2ae0c5=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x159243}=this['editor']['plugins']['get'](z),_0xb2501e=await this['_trackChangesService']['connect'](_0x159243);await this['_fetchMissingUsersForThreads'](_0xb2501e);for(const {suggestionData:_0x302ec2,resolve:_0x539884}of this['_bufferedRequests']['values']()){let _0x40f1d9=_0xb2501e['find'](_0x2871e3=>_0x2871e3['id']===_0x302ec2['id']);_0x40f1d9||(_0x40f1d9=await this['_trackChangesService']['add'](_0x302ec2['id'],_0x302ec2['type'],_0x302ec2['data'],_0x302ec2['originalSuggestionId'])),_0x539884(_0x40f1d9);}for(const _0x494c86 of _0xb2501e)_0x2ae0c5['hasSuggestion'](_0x494c86['id'])||_0x2ae0c5['addSuggestionData'](_0x494c86);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x137703=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5ea8b4=>{_0x5ea8b4['off'](),_0x137703();});});}async['_fetchMissingUsersForThreads'](_0x1e1011){const _0x3180ae=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0x789c78}=this['editor']['plugins']['get'](z),_0x47d0a3=new Set();for(const {authorId:_0x45a897}of _0x1e1011)_0x3180ae['getUser'](_0x45a897)||_0x47d0a3['add'](_0x45a897);if(0x0===_0x47d0a3['size'])return;const _0x563a9d=await _0x17aad5['getMany'](_0x789c78,Array['from'](_0x47d0a3));for(const _0x80be0a of _0x563a9d)_0x3180ae['getUser'](_0x80be0a['id'])||_0x3180ae['addUser'](_0x80be0a);}}function lt(_0x458166){if(dt(_0x458166))return new Promise(()=>{});throw _0x458166;}function dt(_0x52d9d6){return _0x52d9d6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52d9d6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x19341c{static get['requires'](){return[_0x9134b,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x24fcac=this['editor']['plugins']['get'](z),_0x146152=this['editor']['plugins']['get'](_0x3a2eff),_0xcca9f5=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x24fcac,'change:state',(_0x188bef,_0x4ee3c5,_0x2f12ef)=>{_0x146152['isThreadsLoadingPaused']='connected'!==_0x2f12ef;});}),this['listenTo'](_0x24fcac,'change:state',(_0x237e01,_0x27dce2,_0x362fea)=>{this['editor']['plugins']['get'](_0x5d2c1b)['switchReadOnly']('connected'!==_0x362fea);}),_0xcca9f5['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x19341c{static get['requires'](){return[ut,ht,_0x1a2f4d];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x19341c{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x491b79)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x49747b,Y,_0x38bcb4];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e477){super(_0x34e477);const _0x372a53=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x372a53);}async['init'](){const _0x34de6f=this['editor']['plugins']['get'](tt),_0x4d1dd6=_0x34de6f['serverHistory'],_0x30dff2=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4d1dd6,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x34de6f['sessionId']});const _0x69eab7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x45cdfc,_0x2c129e=await _0x2d90a6['isBundleUploaded'](_0x30dff2['connection'],_0x69eab7);this['editor']['plugins']['get'](_0x49747b)['adapter']={'getRevision':async({revisionId:_0x44dcc9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x44dcc9)),'updateRevisions':async _0x49ecb5=>{await this['_waitForServiceReady']();const _0x16e7d0=this['_revisionTracker']['currentRevision'];if(_0x2c129e&&0x1===_0x49ecb5['length']&&_0x49ecb5[0x0]['id']===_0x16e7d0['id'])return _0x49ecb5;for(const _0x1ce31c of _0x49ecb5)_0x1ce31c['id']===_0x16e7d0['id']&&(_0x1ce31c['isEmptyCurrent']=_0x1ce31c['fromVersion']===_0x1ce31c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x49ecb5,this['_lastRequestId'])['then'](_0x19bc3c=>(this['_lastRequestId']=_0x19bc3c,_0x49ecb5))['catch'](_0x441ed9=>{if(pt(_0x441ed9)||'400'===_0x441ed9['code']&&void 0x0!==_0x441ed9['data']['wrongRequestId']){for(const _0x24604d of _0x49ecb5){!this['_revisionTracker']['repository']['getRevision'](_0x24604d['id'])||this['_revisionTracker']['_bufferUpdate'](_0x24604d['id'],_0x24604d,!0x1);}if(pt(_0x441ed9)&&'destroyed'!==this['editor']['state'])throw _0x441ed9;return _0x49ecb5;}throw _0x441ed9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1b2257,{revisionsData:_0x343112,requestId:_0x101d88})=>{Math['max'](..._0x343112['map'](_0x4109e7=>_0x4109e7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x343112,_0x101d88);}):this['_handleRevisionsUpdate'](_0x343112,_0x101d88);});const {revisions:_0x4c9852,requestId:_0x55ef79}=await this['_revisionHistoryService']['connect'](_0x30dff2['connection']);_0x30dff2['addToReconnectionStack'](this),this['_lastRequestId']=_0x55ef79,await this['_fetchMissingUsers'](_0x4c9852);for(const _0x58e6c8 of _0x4c9852)this['_revisionTracker']['addRevisionData'](_0x58e6c8);this['listenTo'](_0x34de6f,'change:_isConnected',(_0x1a8bd3,_0x2bed06,_0x309ab6)=>{_0x309ab6&&(this['_oldOffset']=_0x34de6f['_offset'],_0x1a8bd3['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x30dff2,'state',_0x1e0043=>_0x1e0043===_0xe9981e['CONNECTED']);}async['reconnect'](){const _0x115a6e=this['editor']['plugins']['get'](z),_0x532c03=this['editor']['plugins']['get'](tt),_0x450e29=async()=>{const _0x5e495a=this['_revisionTracker']['currentRevision'],_0x1a59e8=_0x5e495a['id'],_0x6392df=_0x1a59e8!==_0x532c03['sessionId'];if(_0x6392df){const _0x54d9da=_0x532c03['_offset']-this['_oldOffset'],_0x4c9b62=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5e495a['toVersion']+_0x54d9da!==_0x4c9b62){const _0x59e783=_0x5e495a['fromVersion']+_0x54d9da,_0x12462a=this['editor']['plugins']['get'](_0x38bcb4),_0x120cc3=this['_revisionTracker']['buildRevisionData']({'revision':_0x5e495a,'from':_0x59e783,'to':_0x4c9b62});_0x120cc3['id']=_0x5e495a['id'];const _0x4010a4=_0x120cc3['authorsIds']['map'](_0x1feb26=>_0x12462a['getUser'](_0x1feb26));_0x5e495a['_update']({..._0x120cc3,'authors':_0x4010a4},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5e495a['id'],_0x120cc3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4c9b62,(_0x5e495a['toVersion']===_0x5e495a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1a59e8)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1a59e8),this['_revisionTracker']['_createCurrentRevision'](_0x4c9b62));}const {revisions:_0x5d864b,requestId:_0x5949b8}=await this['_revisionHistoryService']['reconnect'](_0x115a6e['connection'],this['_lastRequestId']);_0x6392df&&_0x5d864b['length']>0x0?_0x532c03['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5d864b),this['_handleRevisionsUpdate'](_0x5d864b,_0x5949b8),this['_revisionTracker']['sendBufferedUpdates']());};return _0x532c03['_isConnected']?_0x450e29():new Promise((_0x438424,_0x4256ed)=>{_0x532c03['once']('change:_isConnected',()=>{_0x450e29()['then'](_0x438424)['catch'](_0x4256ed);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x53be1b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2308e8=>{_0x2308e8['off'](),_0x53be1b();});});}['_getLatestVersionFromServerOperations'](){const _0x2cd7db=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2512ee of _0x2cd7db)if('marker'!==_0x2512ee['type']||_0x2512ee['affectsData'])return _0x2512ee['baseVersion']+0x1;}['_getLatestVersion'](){const _0x46230a=this['editor']['plugins']['get'](tt);return new Promise(_0x2cb71c=>{_0x46230a['_isPendingUpdate']?_0x46230a['once']('change:_isPendingUpdate',()=>{_0x2cb71c(this['_getLatestVersionFromServerOperations']());}):_0x2cb71c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x311822,_0x456780){const _0x2b5764=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x456780;for(const _0x26dfed of _0x311822){const _0x229354=_0x2b5764['getRevision'](_0x26dfed['id']);if(_0x229354){if((_0x26dfed['fromVersion']||_0x26dfed['toVersion'])&&(_0x26dfed['diffData']=null),_0x229354===this['_revisionTracker']['currentRevision']){const _0x38c0af=Math['max'](_0x229354['toVersion'],_0x26dfed['toVersion']),_0x7a83ee=Math['max'](_0x229354['fromVersion'],_0x26dfed['fromVersion']);let _0x3888d7;_0x229354['toVersion']===_0x26dfed['toVersion']&&_0x229354['fromVersion']===_0x26dfed['fromVersion']?(_0x3888d7=!0x0,this['_preventResendingRevisionData'](_0x26dfed)):_0x26dfed['toVersion']===_0x38c0af&&_0x26dfed['fromVersion']===_0x7a83ee?_0x3888d7=!0x1:(_0x229354['toVersion']===_0x38c0af&&_0x229354['fromVersion']===_0x7a83ee||this['_fixRevision']({'revision':_0x229354,'from':_0x7a83ee,'to':_0x38c0af}),_0x3888d7=!0x0),_0x3888d7&&(delete _0x26dfed['fromVersion'],delete _0x26dfed['toVersion'],delete _0x26dfed['diffData'],delete _0x26dfed['createdAt'],delete _0x26dfed['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x26dfed),this['_preventResendingRevisionData'](_0x26dfed);}else this['_revisionTracker']['addRevisionData'](_0x26dfed);}const _0x25350e=_0x2b5764['getRevisions']();_0x25350e['reverse']();for(let _0x3399a5=0x0;_0x3399a5<_0x25350e['length']-0x1;_0x3399a5++){const _0x166383=_0x25350e[_0x3399a5],_0x59a498=_0x25350e[_0x3399a5+0x1];if(_0x166383['fromVersion']<_0x59a498['toVersion']){const _0x3c6877=_0x59a498['toVersion'],_0x4348d0=Math['max'](_0x3c6877,_0x166383['toVersion']);this['_fixRevision']({'revision':_0x166383,'from':_0x3c6877,'to':_0x4348d0});}}}['_fixRevision']({revision:_0x552202,from:_0x1d212c,to:_0x14aee7}={}){const _0x36f4f7=this['editor']['plugins']['get'](_0x38bcb4),_0x35a812=this['_revisionTracker']['buildRevisionData']({'revision':_0x552202,'from':_0x1d212c,'to':_0x14aee7});_0x35a812['authors']=_0x35a812['authorsIds']['map'](_0x5ea9ee=>_0x36f4f7['getUser'](_0x5ea9ee)),_0x552202['_update'](_0x35a812);}['_preventResendingRevisionData'](_0x3e6c2a){const _0x5d418c={};_0x5d418c['id']=_0x3e6c2a['id'];for(const _0x42ade9 of Object['keys'](_0x3e6c2a))'id'!==_0x42ade9&&(_0x5d418c[_0x42ade9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5d418c['id'],_0x5d418c,!0x0);}async['_fetchMissingUsers'](_0x2a1c17){const _0x5d325c=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0xdb53f3}=this['editor']['plugins']['get'](z),_0x5b22ee=new Set();for(const _0x3f12d2 of _0x2a1c17){for(const _0x2925f9 of _0x3f12d2['authorsIds'])_0x287c2f(_0x2925f9);_0x3f12d2['creatorId']&&_0x287c2f(_0x3f12d2['creatorId']);}if(0x0===_0x5b22ee['size'])return;const _0x5c936c=await _0x17aad5['getMany'](_0xdb53f3,Array['from'](_0x5b22ee));for(const _0x2fac8e of _0x5c936c)_0x5d325c['getUser'](_0x2fac8e['id'])||_0x5d325c['addUser'](_0x2fac8e);function _0x287c2f(_0x41fe0f){_0x5d325c['getUser'](_0x41fe0f)||_0x5b22ee['add'](_0x41fe0f);}}}function pt(_0xc8b328){return _0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x19341c{static get['requires'](){return[_0x49747b,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x1e867e{['_collapseAt'];constructor(_0x105ec4,_0x4c6b5e=0x6){super(_0x105ec4);const _0x1a0a64=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4c6b5e,this['bind']('isHidden')['to'](this,'usersCount',_0x4bd838=>_0x4bd838<_0x4c6b5e),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1a0a64['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':_0x1a0a64['to']('usersCount',_0x15452e=>'+'+(_0x15452e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x1e867e{['items'];['keystrokes'];constructor(_0x3e80c3){super(_0x3e80c3);const _0x44b7fe=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x32ce2b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x44b7fe['if']('hasPopup'),'aria-expanded':_0x44b7fe['to']('isExpanded',_0x33136e=>this['hasPopup']&&String(_0x33136e)),'aria-label':_0x44b7fe['to']('hasPopup',_0x600a6d=>X(_0x3e80c3,_0x600a6d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x44b7fe['to']('hasPopup',_0x58c484=>!!_0x58c484&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x44b7fe['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x44b7fe['to'](_0x5a3fd9=>{const _0x1c175a=_0x5a3fd9,_0x11981d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4f8580=document['querySelector']('.ck-balloon-panel_with-arrow');_0x11981d?.['contains'](_0x1c175a['relatedTarget'])||_0x4f8580?.['contains'](_0x1c175a['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x335f01,_0x5056ed,_0x4c11e0)=>{this['element']&&(_0x4c11e0?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x1e867e{['counterView'];['inlineListView'];constructor(_0x10e58a,_0x1407ab=0x6){super(_0x10e58a);const _0x1ed2a4=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1407ab),this['inlineListView']=new vt(_0x10e58a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5321f5 of this['inlineListView']['items'])_0x5321f5['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',_0x1ed2a4['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x1e867e{['listWrapperView'];constructor(_0x5c7552,_0x5de40c){super(_0x5c7552);const _0x2b8dd9=this['bindTemplate'];this['listWrapperView']=new bt(_0x5c7552,_0x5de40c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5c7552,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2b8dd9['to'](_0x5d3177=>{const _0x318614=_0x5d3177,_0x12380c=document['querySelector']('.ck-presence-list__list'),_0x1c2c0a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x12380c?.['contains'](_0x318614['relatedTarget'])||_0x1c2c0a?.['contains'](_0x318614['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x4af250{constructor(_0x167a2a,_0x55228a){super(_0x167a2a);const _0xff15bd=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x55228a?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0xff15bd['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0xff15bd['to']('role'),'aria-label':_0xff15bd['to']('ariaLabel'),'aria-labelledby':_0xff15bd['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3d1191['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3be6e9=this['element'];_0x3be6e9&&(this['_isScrollable']=Math['max'](_0x3be6e9['scrollHeight'],_0x3be6e9['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x48f89e{['userView'];constructor(_0x41c2af,_0x2ab93b,_0x2e68f3){super(_0x41c2af);const _0x3aa5d4=this['bindTemplate'];this['userView']=new _0x44a9ad(_0x41c2af,_0x2ab93b);const _0x384943={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2ab93b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2ab93b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2ab93b['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2ab93b['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2ab93b['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x2e68f3&&(_0x384943['tag']='button',_0x384943['on']={'click':_0x3aa5d4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x384943);}['focus'](){this['element']['focus']();}}class It extends _0x1e867e{['userView'];['markerView'];constructor(_0x14515c,_0x3d64e8,_0x1be650){super(_0x14515c);const _0x713088=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x44a9ad(_0x14515c,_0x3d64e8),this['markerView']=new St(_0x14515c,_0x3d64e8);const _0x3262ca=new _0x2df49d(_0x14515c);_0x3262ca['template']['tag']='span',_0x3262ca['text']=_0x3d64e8['name'];const _0x43b2f0={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x713088['to']('isFocusable',_0x2fd55b=>!!_0x2fd55b&&0x0),'aria-labelledby':_0x3262ca['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x713088['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x713088['to']('hasTooltip',_0x1cb19d=>!_0x1cb19d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3262ca]};_0x1be650&&(_0x43b2f0['tag']='button',_0x43b2f0['on']={'click':_0x713088['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x43b2f0);}}class St extends _0x1e867e{constructor(_0x43cfdd,_0x16fe37){super(_0x43cfdd),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16fe37['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x16fe37['color']['getColorVariable'](),'--ck-user-color-alpha':_0x16fe37['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x56b782{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b69e5){super(_0x1b69e5),this['context']['config']['define']('presenceList',Tt);const _0x1e9641=_0x1b69e5['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1e9641)throw new _0x2b4c1a('presencelist-collapseat-invalid-format',this);if(_0x1e9641<0x1)throw new _0x2b4c1a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3ca9e9(),this['balloonPanelView']=new _0x39d104(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1ad05e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1ad05e);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3f23cd,_0x5ec976)=>{this['_handleUserAdd'](_0x5ec976);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x35c74d,_0x588a05)=>{this['_handleUserRemove'](_0x588a05);});}['_createView'](){const _0x1ce550=this['context'],_0x4aba6a=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x6dbed8=this['balloonPanelView'];if(!_0x2f2328(_0x1ce550['config']['get']('presenceList.container')))throw new _0x2b4c1a('presencelist-missing-container',this);return _0x4aba6a['counterView']['bind']('usersCount')['to'](this),_0x4aba6a['bind']('isCollapsed')['to'](this,'usersCount',_0x3f176f=>{const {collapseAt:_0x516e33}=_0x1ce550['config']['get']('presenceList'),_0x4728c2=_0x3f176f>=_0x516e33;if(_0x4728c2&&!_0x4aba6a['inlineListView']['items']['find'](_0x55e32a=>_0x55e32a instanceof wt)){const _0x2f5511=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2f5511&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4aba6a['inlineListView']['items']['add'](_0x4aba6a['counterView']);}return _0x4728c2||this['hideDropdown'](),_0x4728c2;}),_0x4aba6a['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x54b0e6=>{const _0x2e31c3=_0x1ce550['config']['get']('presenceList'),_0x1ba3fc=new It(_0x1ce550['locale'],_0x54b0e6,!!_0x2e31c3['onClick']);return _0x1ba3fc['bind']('hasTooltip')['to'](_0x4aba6a,'isCollapsed',_0x36aa19=>!_0x36aa19),_0x1ba3fc['bind']('isFocusable')['to'](_0x4aba6a,'isCollapsed',_0x41fc56=>!_0x41fc56),_0x2e31c3['onClick']&&this['listenTo'](_0x1ba3fc,'execute',()=>{this['view']['isCollapsed']||_0x2e31c3['onClick'](_0x54b0e6,_0x1ba3fc['element']);}),_0x1ba3fc;}),this['listenTo'](_0x4aba6a['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4aba6a['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4aba6a['inlineListView']['keystrokes']['set']('Enter',(_0x58e49f,_0x21e511)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x21e511());}),_0x4aba6a['render'](),_0x6dbed8['render'](),_0x3f118c({'emitter':_0x4aba6a,'activator':()=>_0x6dbed8['isVisible'],'contextElements':[_0x6dbed8['element'],_0x4aba6a['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1ce550['config']['get']('presenceList.container')['appendChild'](_0x4aba6a['element']),this['_bodyCollection']=new _0x2bbc41(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4aba6a;}['_handleUserAdd'](_0x3e2472){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3e2472['isMe'])return;const _0x445569=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x445569-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x25e681=_0x3e2472['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3e2472,_0x25e681);}['_handleUserRemove'](_0x1215af){this['usersCount']--;const {collapseAt:_0x4a3911}=this['context']['config']['get']('presenceList'),_0x3eb9d3=this['usersCount']>=_0x4a3911;if(this['currentDisplayedUsers']['get'](_0x1215af['id']))this['currentDisplayedUsers']['remove'](_0x1215af['id']);else{if(_0x3eb9d3&&this['currentDisplayedUsers']['length']+0x1===_0x4a3911-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3eb9d3?0x1:0x0)<this['usersCount']){for(const _0x338b2d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x338b2d['id'])&&(this['currentDisplayedUsers']['add'](_0x338b2d,Math['min'](this['currentDisplayedUsers']['length']-(_0x3eb9d3?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3eb9d3?0x1:0x0)===_0x4a3911-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x21e9b4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x21e9b4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4e6a8c}=this['presenceDropdownView'];_0x4e6a8c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x334697=>{if(!_0x21e9b4['displayMe']&&_0x334697['isMe'])return null;const _0x1032fe=new kt(this['context']['locale'],_0x334697,!!_0x21e9b4['onClick']);return _0x21e9b4['onClick']&&this['listenTo'](_0x1032fe,'execute',()=>{_0x21e9b4['onClick'](_0x334697,_0x1032fe['element']);}),_0x1032fe;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4e6a8c['focus'](),_0x4e6a8c['checkIfScrollable']();const _0x11849a=(_0x2b57ba,_0x41b681)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x41b681();};_0x4e6a8c['keystrokes']['set']('Esc',_0x11849a),_0x4e6a8c['keystrokes']['set']('Shift+Tab',_0x11849a),_0x4e6a8c['keystrokes']['set']('Tab',(_0x5e0ada,_0x146c21)=>{!function(_0x533b0f){const _0x1cb6f6=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4b9fb8=>_0x4b9fb8+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x158d3b=[...document['body']['querySelectorAll'](_0x1cb6f6)]['filter'](_0x28eab7=>_0x28eab7===document['activeElement']||_0x28eab7['offsetWidth']+_0x28eab7['offsetHeight']>0x0)['sort']((_0x9e8147,_0x1df45e)=>(_0x9e8147['tabIndex']||0x0)-(_0x1df45e['tabIndex']||0x0)),_0x310dc8=_0x158d3b['indexOf'](_0x533b0f),_0x39e57c=_0x158d3b[(_0x310dc8+0x1)%_0x158d3b['length']];_0x39e57c&&_0x39e57c['focus']();}(this['view']['element']),this['hideDropdown'](),_0x146c21();}),_0x4e6a8c['focusTracker']['add'](this['view']['element']),_0x4e6a8c['focusTracker']['on']('change:isFocused',(_0xe5431c,_0x59300b,_0x5d57c8)=>{_0x5d57c8||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x56b782{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x1c1479=>0x1!=_0x1c1479}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x2dd242=>0x1!=_0x2dd242}};