@ckeditor/ckeditor5-real-time-collaboration 47.7.4 → 47.7.5

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 (170) hide show
  1. package/build/real-time-collaboration.js +1 -1
  2. package/dist/index.js +6 -6
  3. package/dist/translations/af.js +1 -1
  4. package/dist/translations/af.umd.js +1 -1
  5. package/dist/translations/ar.js +1 -1
  6. package/dist/translations/ar.umd.js +1 -1
  7. package/dist/translations/ast.js +1 -1
  8. package/dist/translations/ast.umd.js +1 -1
  9. package/dist/translations/az.js +1 -1
  10. package/dist/translations/az.umd.js +1 -1
  11. package/dist/translations/be.js +1 -1
  12. package/dist/translations/be.umd.js +1 -1
  13. package/dist/translations/bg.js +1 -1
  14. package/dist/translations/bg.umd.js +1 -1
  15. package/dist/translations/bn.js +1 -1
  16. package/dist/translations/bn.umd.js +1 -1
  17. package/dist/translations/bs.js +1 -1
  18. package/dist/translations/bs.umd.js +1 -1
  19. package/dist/translations/ca.js +1 -1
  20. package/dist/translations/ca.umd.js +1 -1
  21. package/dist/translations/cs.js +1 -1
  22. package/dist/translations/cs.umd.js +1 -1
  23. package/dist/translations/da.js +1 -1
  24. package/dist/translations/da.umd.js +1 -1
  25. package/dist/translations/de-ch.js +1 -1
  26. package/dist/translations/de-ch.umd.js +1 -1
  27. package/dist/translations/de.js +1 -1
  28. package/dist/translations/de.umd.js +1 -1
  29. package/dist/translations/el.js +1 -1
  30. package/dist/translations/el.umd.js +1 -1
  31. package/dist/translations/en-au.js +1 -1
  32. package/dist/translations/en-au.umd.js +1 -1
  33. package/dist/translations/en-gb.js +1 -1
  34. package/dist/translations/en-gb.umd.js +1 -1
  35. package/dist/translations/en.js +1 -1
  36. package/dist/translations/en.umd.js +1 -1
  37. package/dist/translations/eo.js +1 -1
  38. package/dist/translations/eo.umd.js +1 -1
  39. package/dist/translations/es-co.js +1 -1
  40. package/dist/translations/es-co.umd.js +1 -1
  41. package/dist/translations/es.js +1 -1
  42. package/dist/translations/es.umd.js +1 -1
  43. package/dist/translations/et.js +1 -1
  44. package/dist/translations/et.umd.js +1 -1
  45. package/dist/translations/eu.js +1 -1
  46. package/dist/translations/eu.umd.js +1 -1
  47. package/dist/translations/fa.js +1 -1
  48. package/dist/translations/fa.umd.js +1 -1
  49. package/dist/translations/fi.js +1 -1
  50. package/dist/translations/fi.umd.js +1 -1
  51. package/dist/translations/fr.js +1 -1
  52. package/dist/translations/fr.umd.js +1 -1
  53. package/dist/translations/gl.js +1 -1
  54. package/dist/translations/gl.umd.js +1 -1
  55. package/dist/translations/gu.js +1 -1
  56. package/dist/translations/gu.umd.js +1 -1
  57. package/dist/translations/he.js +1 -1
  58. package/dist/translations/he.umd.js +1 -1
  59. package/dist/translations/hi.js +1 -1
  60. package/dist/translations/hi.umd.js +1 -1
  61. package/dist/translations/hr.js +1 -1
  62. package/dist/translations/hr.umd.js +1 -1
  63. package/dist/translations/hu.js +1 -1
  64. package/dist/translations/hu.umd.js +1 -1
  65. package/dist/translations/hy.js +1 -1
  66. package/dist/translations/hy.umd.js +1 -1
  67. package/dist/translations/id.js +1 -1
  68. package/dist/translations/id.umd.js +1 -1
  69. package/dist/translations/it.js +1 -1
  70. package/dist/translations/it.umd.js +1 -1
  71. package/dist/translations/ja.js +1 -1
  72. package/dist/translations/ja.umd.js +1 -1
  73. package/dist/translations/jv.js +1 -1
  74. package/dist/translations/jv.umd.js +1 -1
  75. package/dist/translations/kk.js +1 -1
  76. package/dist/translations/kk.umd.js +1 -1
  77. package/dist/translations/km.js +1 -1
  78. package/dist/translations/km.umd.js +1 -1
  79. package/dist/translations/kn.js +1 -1
  80. package/dist/translations/kn.umd.js +1 -1
  81. package/dist/translations/ko.js +1 -1
  82. package/dist/translations/ko.umd.js +1 -1
  83. package/dist/translations/ku.js +1 -1
  84. package/dist/translations/ku.umd.js +1 -1
  85. package/dist/translations/lt.js +1 -1
  86. package/dist/translations/lt.umd.js +1 -1
  87. package/dist/translations/lv.js +1 -1
  88. package/dist/translations/lv.umd.js +1 -1
  89. package/dist/translations/ms.js +1 -1
  90. package/dist/translations/ms.umd.js +1 -1
  91. package/dist/translations/nb.js +1 -1
  92. package/dist/translations/nb.umd.js +1 -1
  93. package/dist/translations/ne.js +1 -1
  94. package/dist/translations/ne.umd.js +1 -1
  95. package/dist/translations/nl.js +1 -1
  96. package/dist/translations/nl.umd.js +1 -1
  97. package/dist/translations/no.js +1 -1
  98. package/dist/translations/no.umd.js +1 -1
  99. package/dist/translations/oc.js +1 -1
  100. package/dist/translations/oc.umd.js +1 -1
  101. package/dist/translations/pl.js +1 -1
  102. package/dist/translations/pl.umd.js +1 -1
  103. package/dist/translations/pt-br.js +1 -1
  104. package/dist/translations/pt-br.umd.js +1 -1
  105. package/dist/translations/pt.js +1 -1
  106. package/dist/translations/pt.umd.js +1 -1
  107. package/dist/translations/ro.js +1 -1
  108. package/dist/translations/ro.umd.js +1 -1
  109. package/dist/translations/ru.js +1 -1
  110. package/dist/translations/ru.umd.js +1 -1
  111. package/dist/translations/si.js +1 -1
  112. package/dist/translations/si.umd.js +1 -1
  113. package/dist/translations/sk.js +1 -1
  114. package/dist/translations/sk.umd.js +1 -1
  115. package/dist/translations/sl.js +1 -1
  116. package/dist/translations/sl.umd.js +1 -1
  117. package/dist/translations/sq.js +1 -1
  118. package/dist/translations/sq.umd.js +1 -1
  119. package/dist/translations/sr-latn.js +1 -1
  120. package/dist/translations/sr-latn.umd.js +1 -1
  121. package/dist/translations/sr.js +1 -1
  122. package/dist/translations/sr.umd.js +1 -1
  123. package/dist/translations/sv.js +1 -1
  124. package/dist/translations/sv.umd.js +1 -1
  125. package/dist/translations/th.js +1 -1
  126. package/dist/translations/th.umd.js +1 -1
  127. package/dist/translations/ti.js +1 -1
  128. package/dist/translations/ti.umd.js +1 -1
  129. package/dist/translations/tk.js +1 -1
  130. package/dist/translations/tk.umd.js +1 -1
  131. package/dist/translations/tr.js +1 -1
  132. package/dist/translations/tr.umd.js +1 -1
  133. package/dist/translations/tt.js +1 -1
  134. package/dist/translations/tt.umd.js +1 -1
  135. package/dist/translations/ug.js +1 -1
  136. package/dist/translations/ug.umd.js +1 -1
  137. package/dist/translations/uk.js +1 -1
  138. package/dist/translations/uk.umd.js +1 -1
  139. package/dist/translations/ur.js +1 -1
  140. package/dist/translations/ur.umd.js +1 -1
  141. package/dist/translations/uz.js +1 -1
  142. package/dist/translations/uz.umd.js +1 -1
  143. package/dist/translations/vi.js +1 -1
  144. package/dist/translations/vi.umd.js +1 -1
  145. package/dist/translations/zh-cn.js +1 -1
  146. package/dist/translations/zh-cn.umd.js +1 -1
  147. package/dist/translations/zh.js +1 -1
  148. package/dist/translations/zh.umd.js +1 -1
  149. package/package.json +14 -14
  150. package/src/common-translations.js +1 -1
  151. package/src/index.js +1 -1
  152. package/src/presencelist/presencelistui.js +1 -1
  153. package/src/presencelist/view/presencecounterview.js +1 -1
  154. package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
  155. package/src/presencelist/view/presencedropdownlistview.js +1 -1
  156. package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
  157. package/src/presencelist/view/presenceinlinelistview.js +1 -1
  158. package/src/presencelist/view/presencelistview.js +1 -1
  159. package/src/presencelist.js +1 -1
  160. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +2 -2
  161. package/src/realtimecollaborativecomments.js +1 -1
  162. package/src/realtimecollaborativeediting/realtimecollaborationclient.js +2 -2
  163. package/src/realtimecollaborativeediting/sessions.js +1 -1
  164. package/src/realtimecollaborativeediting/usermarkers.js +1 -1
  165. package/src/realtimecollaborativeediting/websocketgateway.js +2 -2
  166. package/src/realtimecollaborativeediting.js +1 -1
  167. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +2 -2
  168. package/src/realtimecollaborativerevisionhistory.js +1 -1
  169. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +2 -2
  170. package/src/realtimecollaborativetrackchanges.js +1 -1
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x2ff9e0,Plugin as _0x29e178,PendingActions as _0x25613c,Context as _0x32eb06}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1014b4,CKEditorError as _0x3bcb8b,Collection as _0x1ee515,global as _0x129409,version as nt,uid as _0x388d37,KeystrokeHandler as _0x50a46c}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3add2e,View as _0x274a7e,ListView as _0x5dfe34,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x4370e4,clickOutsideHandler as _0x498225,BodyCollection as _0x152ea0}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4a4270,History as _0x5543ae,NoOperation as _0x5a35fd,InsertOperation as _0x2eb663,MarkerOperation as _0xb76659,RootAttributeOperation as _0x587cfc,transformOperationSets as _0x49e3bb,OperationFactory as _0x53f985}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as at,WEB_SOCKET_GATEWAY_STATES as _0x2b57de,CollaborativeEditingService as _0x3bd68f,User as ht,CommentsService as _0x33454b,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1fdd48,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x20f87f}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3f91cd}from'es-toolkit/compat';class n extends _0x2ff9e0{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>at)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3add2e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3fa73c){super(_0x3fa73c),this['set']('state',_0x2b57de['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1014b4())();}['init'](){const _0x3fb188=this['context'],_0x3f5be0=_0x3fb188['plugins']['get']('CloudServices'),_0x40ab90=_0x3fb188['plugins']['get'](_0x3add2e);if(!_0x3f5be0['token'])throw new _0x3bcb8b('websocketgateway-missing-token',this);if(!_0x3f5be0['webSocketUrl'])throw new _0x3bcb8b('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),n['WebSocketGateway']['connect'](_0x3f5be0['token'],_0x3f5be0['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4d7b32=>{if(this['connection']=_0x4d7b32,this['bind']('state')['to'](_0x4d7b32,'state',this,'_isBrowserOffline',(_0x57c951,_0x44b21b)=>('connected'!==_0x57c951&&(this['_shouldPluginsReconnect']=!0x0),_0x44b21b||_0x57c951!==_0x2b57de['CONNECTED']?_0x2b57de['DISCONNECTED']:this['state']==_0x2b57de['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2b57de['CONNECTING']):_0x2b57de['CONNECTED'])),this['connection']['on']('error',(_0x33538c,_0x2bf03a)=>{if('limitExceeded'!==_0x2bf03a['code'])throw console['error'](_0x2bf03a),new _0x3bcb8b('cloudservices-init',null,{'originalError':_0x2bf03a});_0x40ab90['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'});}),!_0x4d7b32['me'])return new Promise(_0x349173=>_0x4d7b32['on']('change:me',_0x349173));})['catch'](_0x2bb506=>{throw console['error'](_0x2bb506),new _0x3bcb8b('cloudservices-init',null,{'originalError':_0x2bb506});});}['addToReconnectionStack'](_0x1b48ce){if('function'!=typeof _0x1b48ce['reconnect'])throw new _0x3bcb8b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1b48ce))throw new _0x3bcb8b('websocketgateway-plugin-already-registered',this,{'name':_0x1b48ce['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1b48ce);}['removeFromReconnectionStack'](_0x2b5543){this['_reconnectionStack']['delete'](_0x2b5543);}['isInReconnectionStack'](_0x4debb3){return this['_reconnectionStack']['has'](_0x4debb3);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x376a42=>_0x376a42['reconnect']())))['then'](()=>this['state']=_0x2b57de['CONNECTED'])['catch'](_0x126f70=>{throw console['error'](_0x126f70),new _0x3bcb8b('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2b57de['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2ff9e0{['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[n,_0x1fdd48];}constructor(_0x48f43b){super(_0x48f43b),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1ee515(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1fdd48);}['init'](){const _0x3641ac=this['context']['plugins']['get'](n);this['listenTo'](_0x3641ac,'change:state',(_0x2007d1,_0x43b5c2,_0x1de2bf)=>{if('connected'!==_0x1de2bf)this['channelSessions']['forEach'](_0x240e52=>_0x240e52['clear']()),this['channelConnectedUsers']['forEach'](_0x113772=>_0x113772['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x182ca8,_0x122f61]of this['_registeredSessions'])for(const _0x5e3d7f of _0x122f61)this['_handleSessionAdd'](_0x182ca8,_0x5e3d7f);}}),this['_createUser'](_0x3641ac['connection']['me'],!0x0);}['register'](_0x50595a,_0x5e949e){if(this['_registeredSessions']['has'](_0x50595a))throw new _0x3bcb8b('sessions-register-already-registered',null,{'channelId':_0x50595a});this['_registeredSessions']['set'](_0x50595a,_0x5e949e),this['channelSessions']['set'](_0x50595a,new _0x1ee515()),this['channelConnectedUsers']['set'](_0x50595a,new _0x1ee515()),this['listenTo'](_0x5e949e,'add',(_0x535373,_0xf46374)=>this['_handleSessionAdd'](_0x50595a,_0xf46374)),this['listenTo'](_0x5e949e,'remove',(_0x4c9a91,_0x41e800)=>this['_handleSessionRemove'](_0x50595a,_0x41e800));for(const _0x532d83 of _0x5e949e)this['_handleSessionAdd'](_0x50595a,_0x532d83);}['unregister'](_0x2eaef1){if(!this['_registeredSessions']['has'](_0x2eaef1))throw new _0x3bcb8b('sessions-unregister-not-exist',null,{'channelId':_0x2eaef1});const _0x553e73=this['_registeredSessions']['get'](_0x2eaef1);this['stopListening'](_0x553e73);for(const _0x312e48 of _0x553e73)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2eaef1,_0x312e48);this['_registeredSessions']['delete'](_0x2eaef1),this['channelSessions']['delete'](_0x2eaef1),this['channelConnectedUsers']['delete'](_0x2eaef1);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x3865b6){for(const _0x1adeda of this['channelSessions']['values']())for(const _0x4305a3 of _0x1adeda)if(_0x4305a3['id']===_0x3865b6)return _0x4305a3['user'];}['getUserSessions'](_0x349546,_0x55f880){const _0x3a2a98=_0x55f880?[this['channelSessions']['get'](_0x55f880)]:this['channelSessions']['values'](),_0x2aae9e=new Set();for(const _0x22ffc1 of _0x3a2a98)for(const _0x501b93 of _0x22ffc1)_0x501b93['user']['id']===_0x349546['id']&&_0x2aae9e['add'](_0x501b93['id']);return _0x2aae9e;}['getUserRole'](_0xf63ee){for(const _0x4c080c of this['channelSessions']['values']())for(const _0x30d50d of _0x4c080c)if(_0x30d50d['user']===_0xf63ee)return _0x30d50d['role'];}['_handleSessionAdd'](_0x26e3f2,_0x36b761){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3eebf8=_0x36b761['user'],_0x2511da=this['_users']['getUser'](_0x3eebf8['id'])||this['_createUser'](_0x3eebf8),_0x43e58f=Object['assign']({},_0x36b761,{'user':_0x2511da});if(this['channelSessions']['get'](_0x26e3f2)['add'](_0x43e58f),!_0x3eebf8['hiddenInPresenceList']){const _0x3a549f=this['channelConnectedUsers']['get'](_0x26e3f2);_0x3a549f['has'](_0x2511da['id'])||_0x3a549f['add'](_0x2511da),this['allConnectedUsers']['has'](_0x2511da['id'])||_0x3eebf8['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2511da,_0x2511da['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x26e3f2,{'channelId':_0x26e3f2,'session':_0x43e58f});}['_handleSessionRemove'](_0x31b2d8,_0x863b1a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x53c862=this['channelConnectedUsers']['get'](_0x31b2d8),_0x391f17=_0x863b1a['user'];_0x391f17['id']&&(this['channelSessions']['get'](_0x31b2d8)['remove'](_0x863b1a['id']),_0x53c862['has'](_0x391f17['id'])&&!this['getUserSessions'](_0x391f17,_0x31b2d8)['size']&&_0x53c862['remove'](_0x391f17['id']),this['allConnectedUsers']['get'](_0x391f17['id'])&&!this['getUserSessions'](_0x391f17)['size']&&this['allConnectedUsers']['remove'](_0x391f17['id']));}['_createUser'](_0x48b7c1,_0x31a3ea){const _0x509a01=this['_users']['addUser'](_0x48b7c1);return _0x31a3ea&&this['_users']['defineMe'](_0x48b7c1['id']),_0x509a01['orderNumber']=this['_uniqueUsersCount']++,_0x509a01;}}class P extends _0x29e178{['_domEmitter']=new(_0x1014b4())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4f4994=this['editor'],_0x41375d=_0x4f4994['plugins']['get'](i);_0x4f4994['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x57ed0e,{writer:_0x11cea6})=>function(_0x392146,_0x5c29d1,_0x590338,_0x19625f){const _0x1df5b0=_0x392146['markerName']['split'](':')[0x2],_0x58a741=_0x590338['getUserBySessionId'](_0x1df5b0);if(!_0x58a741||_0x1df5b0===_0x590338['mySessionId'])return;if(!_0x19625f['model']['schema']['checkChild'](_0x392146['markerRange']['start'],'$text'))return;const _0x25ee60={'class':'ck-user__marker\x20'+_0x58a741['color']['getMarkerClass'](),'data-name':_0x58a741['name'],'data-session-id':_0x1df5b0},_0xac068a=_0x19625f['model']['markers']['get'](_0x392146['markerName']),_0x11caaa=_0xac068a['getStart'](),_0x4d329a=_0x11caaa['nodeAfter'],_0x2d49a3=_0x19625f['model']['schema'];if(_0x4d329a&&_0x2d49a3['isObject'](_0x4d329a)&&_0x2d49a3['isInline'](_0x4d329a)&&!_0x19625f['model']['markers']['get']('user:range:'+_0x1df5b0)['getRange']()['isCollapsed'])return;const _0x55e950=_0x11caaa['parent'];return _0x19625f['model']['schema']['isLimit'](_0x55e950)&&!_0x19625f['model']['hasContent'](_0x55e950)&&(_0x25ee60['contenteditable']=!0x1),function(_0x2b4e08,_0x51b196,_0x2de13a){const _0x57b7c8=_0x2b4e08['createUIElement']('span',_0x51b196);return _0x2b4e08['setCustomProperty']('userPositionMarker',!0x0,_0x57b7c8),_0x57b7c8['render']=function(_0x4e4795){const _0x18cba4=this['toDomElement'](_0x4e4795),_0x134509=document['createElement']('span');return _0x134509['classList']['add']('ck-user__marker-tooltip'),_0x134509['setAttribute']('contenteditable','false'),_0x134509['setAttribute']('spellcheck','false'),_0x134509['textContent']=_0x2de13a['name'],_0x18cba4['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x134509['outerHTML']+'⁠',_0x18cba4['addEventListener']('mouseenter',()=>{_0x18cba4['classList']['add']('ck-user__marker_hovered');}),_0x18cba4['addEventListener']('mouseleave',()=>{_0x18cba4['classList']['remove']('ck-user__marker_hovered');}),_0x18cba4;},_0x57b7c8['isSimilar']=function(_0x1e1632){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1e1632['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1e1632['getAttribute']('data-session-id'));},_0x57b7c8;}(_0x5c29d1,_0x25ee60,_0x58a741);}(_0x57ed0e,_0x11cea6,_0x41375d,_0x4f4994)}),_0x4f4994['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1b8199=>function(_0x1e953a,_0x35bae6){const _0x1e9950=_0x1e953a['markerName']['split'](':')[0x2];if(_0x1e9950===_0x35bae6['mySessionId'])return null;const _0xfb6988=_0x35bae6['getUserBySessionId'](_0x1e9950);if(!_0xfb6988)return{'id':_0x1e9950,'classes':[]};return{'id':_0x1e9950,'classes':['ck-user__selection',_0xfb6988['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1e9950},'priority':0x7d0+_0xfb6988['orderNumber']};}(_0x1b8199,_0x41375d)}),function(_0x56d093){const _0x3c59de=_0x56d093['model'],_0x5c8b88=new Map(),_0x5df8e1=_0x56d093['plugins']['get'](i);_0x3c59de['markers']['on']('update:user:range',(_0x1eb9ba,_0x377e10,_0x4d9e7b,_0x4649a7)=>{if(!_0x4649a7&&_0x5c8b88['get'](_0x377e10['name']))return _0x5c8b88['get'](_0x377e10['name'])['detach'](),void _0x5c8b88['delete'](_0x377e10['name']);const _0x17ea90=_0x377e10['name']['split'](':')[0x2];if(_0x17ea90===_0x5df8e1['mySessionId'])return;const _0x1bb791='user:position:'+_0x17ea90;_0x3c59de['markers']['has'](_0x1bb791)&&_0x56d093['editing']['reconvertMarker'](_0x1bb791),_0x377e10['on']('change:range',(_0x4d4cb2,_0x5e77ac,_0xf3f66f)=>{if('$graveyard'!=_0x5e77ac['root']['rootName']&&'$graveyard'==_0x377e10['getRange']()['root']['rootName']&&!_0x5c8b88['has'](_0x377e10['name'])){const _0xf7e6a4=_0x3c59de['schema']['getNearestSelectionRange'](_0xf3f66f['deletionPosition']);if(_0xf7e6a4){const _0x5e673f=_0x4a4270['fromRange'](_0xf7e6a4);_0x5c8b88['set'](_0x377e10['name'],_0x5e673f),_0x5e673f['on']('change:range',(_0x285df8,_0x17e6da,_0x9a8d0c)=>{if('$graveyard'==_0x5e673f['root']['rootName']){const _0x1e64f7=_0x3c59de['schema']['getNearestSelectionRange'](_0x9a8d0c['deletionPosition']);_0x1e64f7?(_0x5e673f['start']=_0x1e64f7['start'],_0x5e673f['end']=_0x1e64f7['end']):(_0x5c8b88['delete'](_0x377e10['name']),_0x5e673f['detach']());}});}}});}),_0x3c59de['document']['on']('change',()=>{_0x5c8b88['size']>0x0&&_0x3c59de['enqueueChange']({'isUndoable':!0x1},_0x4482e3=>{for(const [_0x22abee,_0x49fb25]of _0x5c8b88)'$graveyard'==_0x3c59de['markers']['get'](_0x22abee)['getRange']()['root']['rootName']&&(G(_0x22abee['split'](':')[0x2],_0x49fb25['toRange'](),_0x3c59de,_0x4482e3),_0x49fb25['detach']());_0x5c8b88['clear']();});});}(_0x4f4994),this['_domEmitter']['listenTo'](_0x129409['document'],'keydown',(_0x1d1622,{key:_0x1b888a})=>{'Escape'===_0x1b888a&&function(_0xbbbbb2){_0xbbbbb2['editing']['view']['change'](_0xa75c9c=>{for(const _0x541d6d of _0xbbbbb2['model']['markers']){if(!_0x541d6d['name']['startsWith']('user:position'))continue;const _0x805ead=_0xbbbbb2['editing']['mapper']['markerNameToElements'](_0x541d6d['name']);if(_0x805ead){for(const _0x2dcf15 of _0x805ead)_0xa75c9c['removeClass']('ck-user__marker_hovered',_0x2dcf15);}}});}(_0x4f4994);},{'useCapture':!0x0});}['afterInit'](){const _0x1a77b8=this['editor'],_0x2d3b3d=_0x1a77b8['commands']['get']('undo');_0x2d3b3d&&_0x1a77b8['model']['on']('applyOperation',(_0x1a4f08,_0x3f76a4)=>{const _0x42954d=_0x3f76a4[0x0];if(!_0x42954d['isDocumentOperation'])return;if('marker'!=_0x42954d['type']||!_0x42954d['name']['startsWith']('user:'))return;const _0x194f94=_0x42954d['batch'];_0x2d3b3d['_createdBatches']['has'](_0x194f94)&&(_0x42954d['newRange']=_0x42954d['oldRange']?_0x1a77b8['model']['createRange'](_0x42954d['oldRange']['start'],_0x42954d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2cccfc=this['editor'],_0x5afbe4=_0x2cccfc['model']['document'],_0x2f58fe=_0x2cccfc['plugins']['get'](i);_0x2cccfc['model']['enqueueChange']({'isUndoable':!0x1},_0x5f4fae=>{const _0x5ece04='user:range:'+_0x2f58fe['mySessionId'],_0x3e9980='user:position:'+_0x2f58fe['mySessionId'],_0x392364=_0x2cccfc['model']['markers']['has'](_0x5ece04);_0x2cccfc['editing']['view']['hasDomSelection']?G(_0x2f58fe['mySessionId'],_0x5afbe4['selection']['getFirstRange'](),_0x2cccfc['model'],_0x5f4fae):_0x392364&&(_0x5f4fae['removeMarker'](_0x5ece04),_0x5f4fae['removeMarker'](_0x3e9980));});}}function G(_0x1e07bd,_0x36b82c,_0x56819b,_0x5a9fa2){const _0x13adf9='user:range:'+_0x1e07bd,_0x532183='user:position:'+_0x1e07bd,_0xb82553=_0x36b82c['getContainedElement']();let _0x639f3f=_0x36b82c['start'];if(_0xb82553&&_0xb82553['is']('element','tableCell')){const _0x484e07=function(_0x5ad896,_0x4d06a7){for(const _0x3debdc of _0x5ad896['getPositions']())if(_0x4d06a7['schema']['checkChild'](_0x3debdc,'$text'))return _0x3debdc;}(_0x36b82c,_0x56819b);_0x484e07&&(_0x639f3f=_0x484e07,_0x36b82c=_0x5a9fa2['createRange'](_0x639f3f));}const _0x1f1a83=_0x5a9fa2['createRange'](_0x639f3f);_0x56819b['markers']['has'](_0x13adf9)?(_0x5a9fa2['updateMarker'](_0x13adf9,{'range':_0x36b82c}),_0x5a9fa2['updateMarker'](_0x532183,{'range':_0x1f1a83})):(_0x5a9fa2['addMarker'](_0x13adf9,{'range':_0x36b82c,'usingOperation':!0x0}),_0x5a9fa2['addMarker'](_0x532183,{'range':_0x1f1a83,'usingOperation':!0x0}));}function U(_0x1b07c7,_0x5a388c,_0x4750a5){const _0x59e955=_0x1b07c7['t'],t=_0x1b07c7['t'];switch(_0x5a388c){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 _0x59e955({'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'},_0x4750a5);default:return'';}}let H=0x1;class l extends _0x29e178{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3bd68f)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,P,_0x25613c,_0x1fdd48,_0x3add2e];}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 _0x3524a4=this['serverHistory']['getOperations']();for(let _0x17f349=_0x3524a4['length']-0x1;_0x17f349>=0x0;_0x17f349--){const _0x4d7405=_0x3524a4[_0x17f349];if(!this['_disconnectionOperations']['has'](_0x4d7405))return _0x4d7405['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x33866f){if(super(_0x33866f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5543ae(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3bcb8b('collaboration-missing-channelid',this);const _0x56bb0f=_0x33866f['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x56bb0f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x20f87f(),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 OperationIdentifier(this['_disconnectionOperations']);}['init'](){const _0x3816ea=this['editor'],_0x14e21a=_0x3816ea['plugins']['get'](_0x1fdd48),_0x2ecfed=_0x3816ea['plugins']['get'](n);this['listenTo'](_0x14e21a,'getOperationAuthor',(_0x1a846d,_0x42c573)=>{const _0x425026=_0x42c573[0x0];_0x425026['_authorId']&&(_0x1a846d['return']=_0x14e21a['getUser'](_0x425026['_authorId']),_0x1a846d['stop']()),null===_0x425026['_authorId']&&(_0x1a846d['return']=null,_0x1a846d['stop']());},{'priority':'high'}),this['listenTo'](_0x3816ea['model']['document']['selection'],'change:range',(_0x5c5dec,_0x1d6622)=>{_0x1d6622['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3816ea['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3816ea['model']['on']('applyOperation',(_0x532a0c,_0x4e92e1)=>{const _0x14c8c5=_0x4e92e1[0x0];_0x14c8c5['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x14c8c5),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2ecfed,'state',this,'_hasSynchronizationProblem',(_0x20b8c4,_0x46d698)=>'connected'===_0x20b8c4&&!_0x46d698),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3816ea['disableReadOnlyMode']('rtc-offline'):_0x3816ea['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3816ea['disableReadOnlyMode']('rtc-offline'):_0x3816ea['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2697c7=this['editor']['plugins']['get'](i),_0x432fca=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2697c7['unregister'](this['_channelId']);const _0x27d0c1=await this['_service']['reconnect'](_0x432fca['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x27d0c1)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3c63bf=await this['_service']['getConnectedSessions']();_0x2697c7['register'](this['_channelId'],_0x3c63bf),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0xa1aae8){if(function(_0x1adfad){return'404'===_0x1adfad['code'];}(_0xa1aae8)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x34f525){return'409'===_0x34f525['code'];}(_0xa1aae8)){const _0x2be975=U(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'](_0x2be975);}else{if(!(_0xa1aae8 instanceof ReconnectionError))throw _0xa1aae8;this['_handleReconnectionError']();}}}}['destroy'](){const _0x88924f=this['editor']['plugins']['get'](n),_0x17a9dd=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x17a9dd['channelSessions']['has'](this['_channelId'])&&_0x17a9dd['unregister'](this['_channelId']),_0x88924f['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x51970f){if(this['sessionId']!==_0x51970f['sessionId']&&this['_lastSyncedOperationId']!==_0x51970f['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x51970f['sessionId'],this['_handleServerResponse']([],{..._0x51970f,'wereChangesApplied':!0x1,'data':_0x51970f['data']},'reconnect');}async['_connectService'](_0x5eb86b,_0x16400e=!0x1){const {connection:_0x4bb40a}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4bb40a,this['_channelId'])['then'](_0x47210d=>this['_initSessionsHandling'](_0x47210d))['catch'](_0xdd99d4=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xdd99d4);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x17a9ab,_0x41b8b8)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x41b8b8);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xca6f38=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5eb86b);this['_isPendingUpdate']=!0x0;const _0x545afe=await this['_service']['connect'](_0x4bb40a,this['_compressOperations'](_0x5eb86b),_0xca6f38);if(this['sessionId']=_0x545afe['sessionId'],_0x16400e){if(!_0x545afe['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x545afe['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5eb86b,_0x545afe,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x545afe,_0x5eb86b);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x9d8fc5=this['editor']['plugins']['get'](i),_0x3b0858=this['editor']['plugins']['get'](P),_0x5ae35b=_0x9d8fc5['channelSessions']['get'](this['_channelId']);_0x5ae35b&&_0x5ae35b['length']>0x1?_0x3b0858['createUserMarkerOperations']():this['listenTo'](_0x9d8fc5,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x9d8fc5['channelSessions']['get'](this['_channelId'])['length']&&_0x3b0858['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x5cf82c,_0x278ae5,_0x52c273,_0x5c0733){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x278ae5){const _0x2667c0=this['_decompressOperations'](_0x52c273,_0x5c0733);await this['_fetchMissingUsers'](_0x2667c0),this['_handleExternalOperations'](_0x2667c0,_0x278ae5,_0x52c273['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x415cf3}=this['editor'];let _0x291a8d;try{_0x291a8d=await this['_service']['getDocumentDetails']();}catch{const _0x34a04e=U(_0x415cf3,'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'](_0x34a04e);}const _0x53efc5=_0x291a8d['currentDocumentSession']||_0x291a8d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x53efc5['lastOperationId']){const _0x6fc179=U(_0x415cf3,'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'](_0x6fc179);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x503d43){const _0x5c5723=this['editor']['plugins']['get'](i);this['listenTo'](_0x5c5723,'sessionAdd:'+this['_channelId'],(_0x1a46a7,{session:_0x20ab2d})=>{if(_0x20ab2d['id']===_0x5c5723['mySessionId']){_0x1a46a7['off']();const _0xa3019b=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2095e6=_0x20ab2d['permissions'];_0xa3019b&&_0xa3019b['isEnabled']&&(_0x2095e6=_0x2095e6['filter'](_0x5623dd=>'document:write'!==_0x5623dd)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2095e6,this['_channelId']);}}),_0x5c5723['register'](this['_channelId'],_0x503d43);}['_initThrowingOnDataSet'](){const _0x15dfe0=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x38c36f)=>{if(!_0x38c36f[_0x38c36f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3bcb8b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x15dfe0['apply'](this['editor']['data'],_0x38c36f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4f5256,[_0x2c14b2])=>{if(this['_document']['version'])throw new _0x3bcb8b('realtimecollaborationclient-init-document-already-initialized',this);_0x4f5256['stop'](),this['_setPendingAction']();const _0x17660a=this['editor']['config']['get']('rootsAttributes'),_0xcf70f7=this['_getOperationsFromInitData'](_0x2c14b2,_0x17660a);0x0==_0xcf70f7['length']&&_0xcf70f7['push'](new _0x5a35fd(0x0)),_0x4f5256['return']=this['_connectService'](_0xcf70f7)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x49916c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x49916c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3426f2,[_0x4d4182,_0x319580])=>{_0x3426f2['stop']();const _0x61df94=this['editor']['model']['document']['getRoot'](_0x4d4182);if(!this['_knownRootNames']['has'](_0x4d4182)){const _0x16c2bd=_0x319580&&_0x319580['data']?_0x319580['data']:'',_0x2c5a3d=_0x319580&&_0x319580['attributes']?_0x319580['attributes']:{};await this['_loadRoot'](_0x4d4182,_0x16c2bd,_0x2c5a3d);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x61df94['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x61df94);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2e1a4b){const _0x274296=this['editor']['plugins']['get'](_0x1fdd48),{connection:_0xfefba4}=this['editor']['plugins']['get'](n),_0x5bf105=new Set();for(const _0x27e490 of _0x2e1a4b){const _0x37273a=_0x27e490['_authorId'];_0x37273a&&!_0x274296['getUser'](_0x37273a)&&_0x5bf105['add'](_0x37273a);}if(0x0===_0x5bf105['size'])return;const _0x2aea38=await ht['getMany'](_0xfefba4,Array['from'](_0x5bf105));for(const _0x3d3414 of _0x2aea38)_0x274296['getUser'](_0x3d3414['id'])||_0x274296['addUser'](_0x3d3414);}['_getOperationsFromInitData'](_0x49af0a,_0x14edad={}){const _0x41b097=this['editor']['model'],_0x5491f7=[];let _0x4d07e7=0x0;const _0x345136='string'==typeof _0x49af0a?{'main':_0x49af0a}:_0x49af0a;for(const _0x399f29 of Object['keys'](_0x345136)){if(!this['_document']['roots']['has'](_0x399f29))throw new _0x3bcb8b('realtimecollaborationclient-init-non-existent-root',this);const _0x58cfaf=this['editor']['data']['parse'](_0x345136[_0x399f29]),_0x109ef4=this['_document']['getRoot'](_0x399f29),_0x2a3569=new _0x2eb663(_0x41b097['createPositionAt'](_0x109ef4,0x0),_0x58cfaf,_0x4d07e7++);_0x5491f7['push'](_0x2a3569);for(const [_0x474e16,_0x21cb28]of _0x58cfaf['markers']){const _0x497987=_0x41b097['createRange'](_0x41b097['createPositionFromPath'](_0x109ef4,_0x21cb28['start']['path']['slice']()),_0x41b097['createPositionFromPath'](_0x109ef4,_0x21cb28['end']['path']['slice']())),_0x1c977c=new _0xb76659(_0x474e16,null,_0x497987,_0x41b097['markers'],!0x0,_0x4d07e7++);_0x5491f7['push'](_0x1c977c);}}if(_0x14edad)for(const [_0x30be04,_0x48516d]of Object['entries'](_0x14edad)){const _0x29c538=_0x41b097['document']['getRoot'](_0x30be04);if(!_0x29c538)throw new _0x3bcb8b('multi-root-editor-root-attributes-no-root',null);for(const [_0x50c840,_0x33b824]of Object['entries'](_0x48516d))if(null!==_0x33b824){const _0x4d437c=new _0x587cfc(_0x29c538,_0x50c840,null,_0x33b824,_0x4d07e7++);_0x5491f7['push'](_0x4d437c);}}return _0x5491f7;}async['_loadRoot'](_0xf08f4c,_0xe56468,_0x4c239c){this['_getOperationsFromInitData']({[_0xf08f4c]:_0xe56468},{[_0xf08f4c]:_0x4c239c})['forEach']((_0x188866,_0x401baa)=>{_0x188866['baseVersion']=this['_document']['version']+_0x401baa,_0x188866['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x188866);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4e0a6a,_0x3573c4){let _0x452d52;this['_offset']=_0x4e0a6a['offset'];const _0xf24d51=_0x4e0a6a['wereChangesApplied']&&!_0x4e0a6a['initData'],_0x460ed8=_0xf24d51?0x0:_0x4e0a6a['data']['baseVersion'];if(_0x3573c4['forEach'](_0x381c25=>{_0x381c25['_isInit']=!0x0,_0x381c25['createdAt']=_0x4e0a6a['sessionCreatedAt'],_0x381c25['_authorId']=null;}),_0xf24d51)_0x452d52=_0x3573c4,this['_applyOperationsSet'](_0x452d52,_0xf24d51);else{if(_0x4e0a6a['initData']){const _0x45b73a=this['_getOperationsFromInitData'](_0x4e0a6a['initData']);this['_document']['history']['version']=-_0x45b73a['length'],_0x45b73a['forEach'](_0x374b4f=>{_0x374b4f['baseVersion']-=_0x45b73a['length'],_0x374b4f['createdAt']=_0x4e0a6a['sessionCreatedAt'],_0x374b4f['_isInit']=!0x0,_0x374b4f['_authorId']=null;}),this['_applyOperationsSet'](_0x45b73a,!0x0),this['serverHistory']['version']=-_0x45b73a['length']+this['_offset'],this['_updateServerHistory'](_0x45b73a);}this['_document']['history']['version']=_0x460ed8,_0x452d52=this['_decompressOperations'](_0x4e0a6a['data'],_0x4e0a6a['metadata']),await this['_fetchMissingUsers'](_0x452d52),this['_applyOperationsSet'](_0x452d52,_0xf24d51);}_0x4e0a6a['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x452d52,_0x4e0a6a['lastOperationId']),this['_lastSyncedOperationId']=_0x4e0a6a['lastOperationId']),this['serverHistory']['version']=_0x460ed8+this['_offset'],this['_updateServerHistory'](_0x452d52),_0x3573c4['filter'](_0x522ea9=>{const _0x27c161=this['_getAffectedRoot'](_0x522ea9);return _0x27c161&&!this['_knownRootNames']['has'](_0x27c161);})['forEach']((_0x19938e,_0x464f77)=>{_0x19938e['baseVersion']=this['_document']['version']+_0x464f77,this['_saveOperationInBuffer'](_0x19938e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2d2b49,_0x44abcb){const _0x3b3f19=_0x44abcb&&_0x44abcb['message'];if(_0x3b3f19&&_0x3b3f19['startsWith']('realtimecollaborationclient'))throw _0x44abcb;const _0x54cf09=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x54cf09['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3bcb8b(_0x2d2b49,this['editor'],_0x3b3f19?{'originalError':_0x3b3f19}:void 0x0);}['_saveOperationInBuffer'](_0x2b0fe6){this['_knownOperations']['has'](_0x2b0fe6)||(this['_knownOperations']['add'](_0x2b0fe6),this['_bufferedOperations']['push'](_0x2b0fe6),this['_pendingAction']||'marker'==_0x2b0fe6['type']&&!_0x2b0fe6['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1be7c1=!0x1){!_0x1be7c1&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2b5528=>{_0x2b5528&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x584a44=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x30772f){return _0x30772f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x30772f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x30772f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x584a44)||this['_crash'](_0x584a44['message'],_0x584a44);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3aacf1=>{this['on']('change:_isPendingUpdate',()=>{_0x3aacf1();});});}async['_sendBufferedOperations'](){const _0xe249ce=this['editor']['plugins']['get'](P);if(this['_shouldSendSelectionUpdate']()&&(_0xe249ce['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5dcdae=[...this['_bufferedOperations']];for(const _0x52ce64 of _0x5dcdae)_0x52ce64['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x52ce64);const _0x175589=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5dcdae),_0x33dbca=H++,_0x104b2a=this['_compressOperations'](_0x5dcdae),_0x51701e=await this['_service']['sendOperations'](_0x104b2a,_0x104b2a['baseVersion'],_0x175589);try{return await this['_handleServerResponse'](_0x5dcdae,_0x51701e,_0x33dbca);}catch(_0x377465){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x377465);}}async['_handleServerResponse'](_0x401bc2,_0x1273b7,_0x1dbf0b){if('error'in _0x1273b7)throw _0x1273b7['error'];let _0x55a16b=!0x1;if(_0x1273b7['wereChangesApplied']){_0x1273b7['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1273b7['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1a03ea=>!_0x401bc2['includes'](_0x1a03ea));for(const _0x31a050 of _0x401bc2)_0x31a050['createdAt']='lastOperationAcceptedAt'in _0x1273b7&&_0x1273b7['lastOperationAcceptedAt']||void 0x0;V(_0x401bc2,_0x1273b7['version']-_0x401bc2['length']),this['_updateServerHistory'](_0x401bc2);const _0x122dc9=_0x401bc2['filter'](_0x3f28d4=>{if(!_0x3f28d4['_isInit'])return!0x1;const _0x26eb53=this['_getAffectedRoot'](_0x3f28d4);return _0x26eb53&&!this['_knownRootNames']['has'](_0x26eb53);});V(_0x122dc9,this['_document']['version']),this['_applyOperationsSet'](_0x122dc9),_0x55a16b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xa919f8=this['_decompressOperations'](_0x1273b7['data'],_0x1273b7['metadata'])['filter'](_0x8f2d2e=>_0x8f2d2e['baseVersion']>=this['_lastServerVersion']);_0xa919f8['forEach'](_0x17919f=>this['_addKnownRoot'](_0x17919f)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x169e62=>!_0x169e62['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x169e62))),this['_bufferedOperations']['length']&&V(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xa919f8),_0x55a16b=this['_handleExternalOperations'](_0xa919f8,_0x1273b7['version'],_0x1273b7['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x55a16b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xc4c343,_0x4ff10c,_0x2352bf){try{const _0x561a1d={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x377530,operationsB:_0x1a4add,originalOperations:_0x4ac164}=_0x49e3bb(_0xc4c343,this['_bufferedOperations'],_0x561a1d);V(_0x377530,this['_document']['version']),V(_0x1a4add,_0x4ff10c);for(const _0x5091eb of _0x377530){const _0x4bf8db=_0x4ac164['get'](_0x5091eb);_0x5091eb['_authorId']=_0x4bf8db?_0x4bf8db['_authorId']:null;}_0x2352bf&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xc4c343,_0x2352bf),this['_lastSyncedOperationId']=_0x2352bf),this['_bufferedOperations']=[..._0x1a4add],this['_applyOperationsSet'](_0x377530),this['_updateServerHistory'](_0xc4c343);}catch(_0x261837){return console['error'](_0x261837),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2fc655,_0x3cd385=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x20b8d8=>{for(const _0x423451 of _0x2fc655)this['_knownOperations']['add'](_0x423451),this['_addKnownRoot'](_0x423451),_0x20b8d8['batch']['addOperation'](_0x423451),this['editor']['model']['applyOperation'](_0x423451);});}['_addKnownRoot'](_0x5441d2){const _0x589ae4=this['_getAffectedRoot'](_0x5441d2);_0x589ae4&&this['_knownRootNames']['add'](_0x589ae4);}['_getAffectedRoot'](_0x549061){let _0x3d2daf,_0x3a4122;switch(_0x549061['type']){case'insert':_0x3d2daf=_0x549061['position']['root'];break;case'marker':if(_0x3a4122=_0x549061['newRange'],!_0x3a4122)return null;_0x3d2daf=_0x3a4122['root'];break;case'addRootAttribute':_0x3d2daf=_0x549061['root'];break;case'addRoot':_0x3d2daf=_0x549061['affectedSelectable'];break;case'move':_0x3d2daf=_0x549061['targetPosition']['root'];break;default:return null;}return _0x3d2daf['rootName'];}['_updateServerHistory'](_0x5c50a0){_0x5c50a0['forEach'](_0x383da8=>{const _0x55808d=_0x383da8['clone']();_0x55808d['_authorId']=_0x383da8['_authorId'],_0x55808d['_isInit']=!!_0x383da8['_isInit'],_0x55808d['createdAt']=_0x383da8['createdAt'],_0x55808d['baseVersion']+=this['_offset'],_0x383da8['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x55808d),this['serverHistory']['addOperation'](_0x55808d);});}['_handleReconnectionError'](_0x93f24e){const _0x4e2dd5=this['editor']['plugins']['get']('Notification'),_0x357fd3=this['editor']['locale'];_0x93f24e||(_0x93f24e=U(_0x357fd3,'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.')),_0x4e2dd5['showWarning'](_0x93f24e,{'title':U(_0x357fd3,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x25613c)['add'](U(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x25613c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2d055c){const _0x56f105=_0x2d055c['map'](_0x4e6914=>_0x4e6914['toJSON']());return this['_compressor']['compress'](_0x56f105);}['_decompressOperations'](_0x468551,_0x424d87){return this['_compressor']['decompress'](_0x468551)['map']((_0x54e3de,_0x2f02a9)=>{const _0x911eb6='init'==_0x424d87[_0x2f02a9]['type'];if('InsertOperation'==_0x54e3de['__className']){const _0x349b3d=_0x54e3de['position']['root'];!this['_document']['getRoot'](_0x349b3d)&&(this['_document']['createRoot']('$root',_0x349b3d)['_isAttached']=!0x1);}const _0x18cbd5=_0x53f985['fromJSON'](_0x54e3de,this['_document']);return _0x18cbd5['wasUndone']=_0x54e3de['wasUndone'],_0x18cbd5['_isInit']=_0x911eb6,_0x18cbd5['_authorId']=_0x911eb6?null:_0x424d87[_0x2f02a9]['userId'],_0x18cbd5['_isDisconnection']='cs:removeUser'===_0x424d87[_0x2f02a9]['type'],_0x18cbd5['createdAt']=_0x424d87[_0x2f02a9]['createdAt'],_0x18cbd5;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x51e6cd=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x51e6cd&&_0x51e6cd['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function V(_0x3da915,_0x5aafb8){for(const _0x5bb3f6 of _0x3da915)_0x5bb3f6['baseVersion']=_0x5aafb8++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x5c0992){this['_ignoredOperations']=_0x5c0992,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5e606f){let _0xcbe6d2=_0x5e606f['length'];for(;_0xcbe6d2--;){const _0x4ffeab=_0x5e606f[_0xcbe6d2];if(!this['_ignoredOperations']['has'](_0x4ffeab)){if(!this['_operationToId']['has'](_0x4ffeab)){const _0x317dc5=_0x388d37()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4ffeab,_0x317dc5);}return this['_operationToId']['get'](_0x4ffeab);}}}['setIdForTheLastOperation'](_0x3eedb2,_0x5868c7){if(!_0x5868c7)return;let _0x50eb60=_0x3eedb2['length'];for(;_0x50eb60--;){const _0x48ddb8=_0x3eedb2[_0x50eb60];this['_ignoredOperations']['has'](_0x48ddb8)||this['_operationToId']['set'](_0x48ddb8,_0x5868c7);}}}class a extends _0x29e178{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2ff9e0{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x33454b)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1fdd48];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x39e8ae){super(_0x39e8ae),this['_services']=new Map();}async['init'](){const _0x14a5ab=this['context'],_0x3cde40=_0x14a5ab['plugins']['get']('CommentsRepository');if(_0x14a5ab['plugins']['get'](n)['addToReconnectionStack'](this),_0x3cde40['adapter']={'addCommentThread':async({channelId:_0xb9e810,threadId:_0x5287ea,comments:_0xd79d0f,resolvedAt:_0x2dc705,resolvedBy:_0x2de82b,context:_0x12fda5,attributes:_0x446acc})=>{const _0x5690ae=await this['_getService'](_0xb9e810)['addCommentThread']({'commentThreadId':_0x5287ea,'comments':_0xd79d0f['map'](_0x1fe910=>function(_0x1842cc,_0x4311fd,_0x4fe560){return{'commentThreadId':_0x4fe560,'commentId':_0x1842cc['commentId'],'userId':_0x1842cc['authorId'],'content':_0x1842cc['content'],'documentId':_0x4311fd,'createdAt':_0x1842cc['createdAt'],'attributes':_0x1842cc['attributes']||{}};}(_0x1fe910,_0xb9e810,_0x5287ea)),'resolvedAt':_0x2dc705,'resolvedBy':_0x2de82b,'context':_0x12fda5,'attributes':_0x446acc})['catch'](lt);return{'threadId':_0x5690ae['commentThreadId'],'comments':_0x5690ae['comments']};},'getCommentThread':async({channelId:_0x544588,threadId:_0x5504fb})=>{const _0x331eb2=await this['_getService'](_0x544588)['getCommentThread'](_0x5504fb)['catch'](X)['catch'](lt);return _0x331eb2?_0x331eb2['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x331eb2]),{'threadId':_0x331eb2['commentThreadId'],'comments':_0x331eb2['comments']['map'](Z),'context':_0x331eb2['context'],'resolvedAt':_0x331eb2['resolvedAt'],'resolvedBy':_0x331eb2['resolvedBy'],'attributes':_0x331eb2['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x29a946,threadId:_0x1c9b3b,context:_0x594ba5,unlinkedAt:_0x451076,attributes:_0x19e4b6})=>this['_getService'](_0x29a946)['updateCommentThread']({'commentThreadId':_0x1c9b3b,'context':_0x594ba5,'attributes':_0x19e4b6,'unlinkedAt':_0x451076})['catch'](X)['catch'](lt),'resolveCommentThread':async({channelId:_0x22cc90,threadId:_0x15e66d})=>{const _0x69fbc2=await this['_getService'](_0x22cc90)['resolveCommentThread'](_0x15e66d)['catch'](X)['catch'](lt);return{'threadId':_0x69fbc2['commentThreadId'],'resolvedAt':_0x69fbc2['resolvedAt'],'resolvedBy':_0x69fbc2['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2a0af0,threadId:_0x5579fb})=>this['_getService'](_0x2a0af0)['reopenCommentThread'](_0x5579fb)['catch'](X)['catch'](lt),'removeCommentThread':({channelId:_0x523173,threadId:_0x2b28ec})=>this['_getService'](_0x523173)['removeCommentThread'](_0x2b28ec)['catch'](X)['catch'](lt),'addComment':({channelId:_0x36878d,threadId:_0x2fe7f6,commentId:_0x33a4a9,content:_0xdc000,attributes:_0xa6b7fb})=>this['_getService'](_0x36878d)['addComment'](_0x2fe7f6,_0x33a4a9,_0xdc000,_0xa6b7fb)['catch'](lt),'updateComment':({channelId:_0x57ae21,threadId:_0x1b258b,commentId:_0x22754b,content:_0x5ca260,attributes:_0x53d41a})=>this['_getService'](_0x57ae21)['updateComment'](_0x1b258b,_0x22754b,_0x5ca260,_0x53d41a)['catch'](X)['catch'](lt),'removeComment':({channelId:_0x4ece2f,threadId:_0x148c70,commentId:_0x28ee70})=>this['_getService'](_0x4ece2f)['removeComment'](_0x148c70,_0x28ee70)['catch'](X)['catch'](lt)},_0x14a5ab instanceof _0x32eb06){const _0x2b58ce=_0x14a5ab['config']['get']('collaboration.channelId'),_0x518fc7=_0x14a5ab['plugins']['get'](i);await this['_setUpService'](_0x2b58ce);const _0x4dd6bb=await this['_services']['get'](_0x2b58ce)['getConnectedSessions']();this['listenTo'](_0x518fc7,'sessionAdd:'+_0x2b58ce,(_0x1748f5,{session:_0x9ad872})=>{_0x9ad872['id']===_0x518fc7['mySessionId']&&(_0x1748f5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x9ad872['permissions'],_0x2b58ce));}),_0x518fc7['register'](_0x2b58ce,_0x4dd6bb);}}async['_setUpService'](_0x51f3c2){if(this['_services']['has'](_0x51f3c2))throw new _0x3bcb8b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x51f3c2});const _0x30707a=this['context']['plugins']['get']('CommentsRepository'),_0x1d5d05=new s['CommentsService'](_0x51f3c2);this['_services']['set'](_0x51f3c2,_0x1d5d05),this['listenTo'](_0x1d5d05,'commentThreadAdded',(_0x3abc17,_0x2a51d8)=>{const {commentThreadId:_0x72002c,documentId:_0x3b2e6b,context:_0x140627,attributes:_0x3d41fd,resolvedAt:_0xbecf9,resolvedBy:_0x2a1f30,comments:_0x371307}=_0x2a51d8;_0x30707a['getCommentThread'](_0x72002c)||_0x30707a['addCommentThread']({'threadId':_0x72002c,'channelId':_0x3b2e6b,'comments':_0x371307?_0x371307['map'](Z):[],'context':_0x140627,'attributes':_0x3d41fd,'resolvedAt':_0xbecf9,'resolvedBy':_0x2a1f30,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadUpdated',(_0x2d2fab,{commentThreadId:_0x4f867f,documentId:_0x4ffcc8,context:_0x1c02ed,unlinkedAt:_0x18b31f,attributes:_0x1040c8})=>{_0x30707a['getCommentThread'](_0x4f867f)&&_0x30707a['updateCommentThread']({'threadId':_0x4f867f,'channelId':_0x4ffcc8,'context':_0x1c02ed,'unlinkedAt':_0x18b31f,'attributes':_0x1040c8,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadResolved',(_0x353361,{commentThreadId:_0x5e372b,resolvedBy:_0x42bced,resolvedAt:_0x35d5a3})=>{const _0xd30eca=_0x30707a['getCommentThread'](_0x5e372b);_0xd30eca&&_0xd30eca['resolve']({'resolvedBy':_0x42bced,'resolvedAt':_0x35d5a3,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadReopened',(_0x83cd71,{commentThreadId:_0x3a70ad})=>{const _0x11662e=_0x30707a['getCommentThread'](_0x3a70ad);_0x11662e&&_0x11662e['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentThreadRemoved',(_0x14c4df,{commentThreadId:_0x3ad905})=>{const _0x132f54=_0x30707a['getCommentThread'](_0x3ad905);_0x132f54&&_0x132f54['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentAdded',(_0x8596ad,_0x57c1ff)=>{const _0x1e2671=_0x57c1ff['commentThreadId'],_0x39ab36=_0x30707a['getCommentThread'](_0x1e2671);_0x39ab36&&_0x39ab36['addComment']({...Z(_0x57c1ff),'isFromAdapter':!0x0});}),this['listenTo'](_0x1d5d05,'commentUpdated',(_0x1a6779,{commentThreadId:_0x36feb5,commentId:_0x1508e9,content:_0x27d681,attributes:_0x54341d})=>{const _0x116ec5=_0x30707a['getCommentThread'](_0x36feb5);if(_0x116ec5){const _0xa66e4e=_0x116ec5['getComment'](_0x1508e9);_0xa66e4e&&_0xa66e4e['update']({'content':_0x27d681,'attributes':_0x54341d,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1d5d05,'commentRemoved',(_0x14c6f9,{commentThreadId:_0x33cf71,commentId:_0x580bbc})=>{const _0x21adcb=_0x30707a['getCommentThread'](_0x33cf71);if(_0x21adcb){const _0x4fd199=_0x21adcb['getComment'](_0x580bbc);_0x4fd199&&_0x4fd199['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x51f3c2);}['destroy'](){if(this['context']instanceof _0x32eb06){const _0x185f5d=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x185f5d);}}['_terminateService'](_0x2d4447){if(!this['_services']['has'](_0x2d4447))throw new _0x3bcb8b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2d4447});this['_getService'](_0x2d4447)['disconnect'](),this['_services']['delete'](_0x2d4447);}async['reconnect'](){for(const _0x547de4 of this['_services']['keys']())await this['_connectService'](_0x547de4);if(this['context']instanceof _0x32eb06){const _0x41f3b4=this['context']['config']['get']('collaboration.channelId'),_0x1767bb=this['context']['plugins']['get'](i);_0x1767bb['unregister'](_0x41f3b4);const _0x364a30=await this['_services']['get'](_0x41f3b4)['getConnectedSessions']();_0x1767bb['register'](_0x41f3b4,_0x364a30);}}async['_connectService'](_0x1000f6){const {connection:_0x228bcb}=this['context']['plugins']['get'](n),_0x5667e2=this['context']['plugins']['get']('CommentsRepository'),_0x1bee42=this['_services']['get'](_0x1000f6),_0x8dd084=await _0x1bee42['connect'](_0x228bcb);await this['_fetchMissingUsersForThreads'](_0x8dd084);const _0x16f0c5=new Set(Array['from'](_0x5667e2['getCommentThreads']({'channelId':_0x1000f6}),_0x5ee8a2=>_0x5ee8a2['id']));for(const _0xd052a of _0x8dd084)_0xd052a['deletedAt']||_0x16f0c5['delete'](_0xd052a['commentThreadId']);for(const _0xa57f5b of _0x16f0c5)_0x5667e2['getCommentThread'](_0xa57f5b)['remove']({'isFromAdapter':!0x0});for(const _0x3b4918 of _0x8dd084){let _0x2644ff=_0x5667e2['getCommentThread'](_0x3b4918['commentThreadId']);const {commentThreadId:_0x1396cd,context:_0x4eef4b,attributes:_0x4627e8,resolvedBy:_0x4c9ebc,resolvedAt:_0x55944e,unlinkedAt:_0x46e592,deletedAt:_0x4b596c}=_0x3b4918;if(_0x4b596c)continue;_0x2644ff||(_0x2644ff=_0x5667e2['addCommentThread']({'channelId':_0x1000f6,'threadId':_0x1396cd,'context':_0x4eef4b,'attributes':_0x4627e8||{},'resolvedBy':_0x4c9ebc,'resolvedAt':_0x55944e,'unlinkedAt':_0x46e592,'isFromAdapter':!0x0}));const _0x3d655f=new Set(Array['from'](_0x2644ff['comments'],_0x5770e4=>_0x5770e4['id']));for(const _0x16a738 of _0x3b4918['comments'])_0x3d655f['delete'](_0x16a738['commentId']);for(const _0x276e2e of _0x3d655f)_0x2644ff['getComment'](_0x276e2e)['remove']({'isFromAdapter':!0x0});for(const _0x1da82b of _0x3b4918['comments']){const _0x2440ae=_0x2644ff['getComment'](_0x1da82b['commentId']);_0x2440ae?_0x2440ae['content']!==_0x1da82b['content']&&_0x2440ae['update']({'content':_0x1da82b['content'],'isFromAdapter':!0x0}):_0x2644ff['addComment'](Object['assign'](Z(_0x1da82b),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3de98c){if(!this['_services']['has'](_0x3de98c))throw new _0x3bcb8b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3de98c});return this['_services']['get'](_0x3de98c);}async['_fetchMissingUsersForThreads'](_0x2ed0bd){const _0x5c34bf=this['context']['plugins']['get'](_0x1fdd48),{connection:_0x47c07e}=this['context']['plugins']['get'](n),_0x3d14d4=new Set();for(const {resolvedBy:_0x5dfd34,comments:_0x5c5d93}of _0x2ed0bd){_0x5dfd34&&!_0x5c34bf['getUser'](_0x5dfd34)&&_0x3d14d4['add'](_0x5dfd34);for(const {userId:_0x1375f5}of _0x5c5d93)_0x5c34bf['getUser'](_0x1375f5)||_0x3d14d4['add'](_0x1375f5);}if(0x0===_0x3d14d4['size'])return;const _0x188d2f=await ht['getMany'](_0x47c07e,Array['from'](_0x3d14d4));for(const _0x102cef of _0x188d2f)_0x5c34bf['getUser'](_0x102cef['id'])||_0x5c34bf['addUser'](_0x102cef);}}async function X(_0x53874a){if('404'!==_0x53874a['code'])throw _0x53874a;}function lt(_0x24bea4){if((_0x1de51f=_0x24bea4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1de51f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1de51f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1de51f;throw _0x24bea4;}function Z(_0x431979){return{'threadId':_0x431979['commentThreadId'],'commentId':_0x431979['commentId'],'content':_0x431979['content'],'createdAt':_0x431979['createdAt'],'authorId':_0x431979['userId'],'attributes':_0x431979['attributes']||{}};}class m extends _0x29e178{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4b63f9){super(_0x4b63f9);const _0x5c2f27=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5c2f27);}['init'](){const _0x4c1e72=this['editor']['plugins']['get'](n),_0xdf1ba8=this['editor']['plugins']['get']('TrackChangesEditing');return _0xdf1ba8['adapter']={'getSuggestion':async _0x155ea8=>{await this['_waitForServiceReady']();const _0x295aa2=await this['_trackChangesService']['get'](_0x155ea8)['catch'](Y);return await this['_fetchMissingUsersForThreads']([_0x295aa2]),_0x295aa2;},'addSuggestion':async({id:_0x51c196,type:_0x3f10bb,data:_0x4bf25b,originalSuggestionId:_0x58633c,attributes:_0x21373a})=>{await this['_waitForServiceReady']();const _0x4e8ee5={'id':_0x51c196,'type':_0x3f10bb,'data':_0x4bf25b,'originalSuggestionId':_0x58633c,'attributes':_0x21373a},_0x13e651=await this['_trackChangesService']['add'](_0x51c196,_0x3f10bb,_0x4bf25b,_0x58633c,_0x21373a)['catch'](_0x37d09a=>{if(dt(_0x37d09a))return new Promise(_0xaf484a=>{this['_bufferedRequests']['set'](_0x51c196,{'resolve':_0xaf484a,'suggestionData':_0x4e8ee5});});throw _0x37d09a;});return this['_bufferedRequests']['delete'](_0x51c196),_0x13e651;},'updateSuggestion':async(_0x12ea48,_0x2fc7a8)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2fc7a8['state'])return this['_trackChangesService']['update'](_0x12ea48,_0x2fc7a8)['catch'](Y);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x46c044,_0x1d9c5f)=>{_0xdf1ba8['hasSuggestion'](_0x1d9c5f['id'])&&(_0xdf1ba8['getSuggestion'](_0x1d9c5f['id'])['attributes']=_0x1d9c5f['attributes']);}),this['_trackChangesService']['connect'](_0x4c1e72['connection'])['then'](_0x1daeb3=>(_0x4c1e72['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1daeb3)['then'](()=>{for(const _0x324d55 of _0x1daeb3){_0xdf1ba8['addSuggestionData'](_0x324d55)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1f4f37=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x272618}=this['editor']['plugins']['get'](n),_0x7fdb29=await this['_trackChangesService']['connect'](_0x272618);await this['_fetchMissingUsersForThreads'](_0x7fdb29);for(const {suggestionData:_0x4906a0,resolve:_0x3555e3}of this['_bufferedRequests']['values']()){let _0x1e7456=_0x7fdb29['find'](_0x441c90=>_0x441c90['id']===_0x4906a0['id']);_0x1e7456||(_0x1e7456=await this['_trackChangesService']['add'](_0x4906a0['id'],_0x4906a0['type'],_0x4906a0['data'],_0x4906a0['originalSuggestionId'])),_0x3555e3(_0x1e7456);}for(const _0x16eb63 of _0x7fdb29)_0x1f4f37['hasSuggestion'](_0x16eb63['id'])||_0x1f4f37['addSuggestionData'](_0x16eb63);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x30f751=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3746fe=>{_0x3746fe['off'](),_0x30f751();});});}async['_fetchMissingUsersForThreads'](_0x2260f1){const _0x1276e4=this['editor']['plugins']['get'](_0x1fdd48),{connection:_0x23d44b}=this['editor']['plugins']['get'](n),_0x5bbc73=new Set();for(const {authorId:_0x201aac}of _0x2260f1)_0x1276e4['getUser'](_0x201aac)||_0x5bbc73['add'](_0x201aac);if(0x0===_0x5bbc73['size'])return;const _0x290625=await ht['getMany'](_0x23d44b,Array['from'](_0x5bbc73));for(const _0x3a0aa9 of _0x290625)_0x1276e4['getUser'](_0x3a0aa9['id'])||_0x1276e4['addUser'](_0x3a0aa9);}}function Y(_0x56266e){if(dt(_0x56266e))return new Promise(()=>{});throw _0x56266e;}function dt(_0x91c352){return _0x91c352['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x91c352['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x29e178{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1d167e=this['editor']['plugins']['get'](n),_0x1edcbe=this['editor']['plugins']['get']('CommentsEditing'),_0x164aea=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1d167e,'change:state',(_0x69796e,_0x3ec527,_0x718421)=>{_0x1edcbe['isThreadsLoadingPaused']='connected'!==_0x718421;});}),this['listenTo'](_0x1d167e,'change:state',(_0x53f937,_0x3e35f3,_0x361c73)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x361c73);}),_0x164aea['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class RealTimeCollaborativeTrackChanges extends _0x29e178{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x29e178{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1fdd48];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x18f624){super(_0x18f624);const _0x29574b=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x29574b);}async['init'](){const _0x23bb15=this['editor']['plugins']['get'](l),_0x2c0763=_0x23bb15['serverHistory'],_0x5aae8e=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x2c0763,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x23bb15['sessionId']});const _0x35dbdb=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xedb1cd=await tt['isBundleUploaded'](_0x5aae8e['connection'],_0x35dbdb);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xec1381})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xec1381)),'updateRevisions':async _0x5757ef=>{await this['_waitForServiceReady']();const _0xdb2098=this['_revisionTracker']['currentRevision'];if(_0xedb1cd&&0x1===_0x5757ef['length']&&_0x5757ef[0x0]['id']===_0xdb2098['id'])return _0x5757ef;for(const _0x32aac9 of _0x5757ef)_0x32aac9['id']===_0xdb2098['id']&&(_0x32aac9['isEmptyCurrent']=_0x32aac9['fromVersion']===_0x32aac9['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5757ef,this['_lastRequestId'])['then'](_0x2cc848=>(this['_lastRequestId']=_0x2cc848,_0x5757ef))['catch'](_0x4d052a=>{if(st(_0x4d052a)||'400'===_0x4d052a['code']&&void 0x0!==_0x4d052a['data']['wrongRequestId']){for(const _0x1ed008 of _0x5757ef){!this['_revisionTracker']['repository']['getRevision'](_0x1ed008['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1ed008['id'],_0x1ed008,!0x1);}if(st(_0x4d052a))throw _0x4d052a;return _0x5757ef;}throw _0x4d052a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x33f93b,{revisionsData:_0x24a439,requestId:_0x24e3f6})=>{Math['max'](..._0x24a439['map'](_0x56bfba=>_0x56bfba['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x24a439,_0x24e3f6);}):this['_handleRevisionsUpdate'](_0x24a439,_0x24e3f6);});const {revisions:_0x1add2e,requestId:_0x5d37ad}=await this['_revisionHistoryService']['connect'](_0x5aae8e['connection']);_0x5aae8e['addToReconnectionStack'](this),this['_lastRequestId']=_0x5d37ad,await this['_fetchMissingUsers'](_0x1add2e);for(const _0x25d0ea of _0x1add2e)this['_revisionTracker']['addRevisionData'](_0x25d0ea);this['listenTo'](_0x23bb15,'change:_isConnected',(_0x2093a2,_0x467377,_0x8756a1)=>{_0x8756a1&&(this['_oldOffset']=_0x23bb15['_offset'],_0x2093a2['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5aae8e,'state',_0x26ce4a=>_0x26ce4a===_0x2b57de['CONNECTED']);}async['reconnect'](){const _0x2b9e6c=this['editor']['plugins']['get'](n),_0x20086b=this['editor']['plugins']['get'](l),_0x5694a4=async()=>{const _0x56ce44=this['_revisionTracker']['currentRevision'],_0xda2310=_0x56ce44['id'],_0x191205=_0xda2310!==_0x20086b['sessionId'];if(_0x191205){const _0x57b3a6=_0x20086b['_offset']-this['_oldOffset'],_0x540aaa=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x56ce44['toVersion']+_0x57b3a6!==_0x540aaa){const _0x4f5698=_0x56ce44['fromVersion']+_0x57b3a6,_0x5b4ae7=this['editor']['plugins']['get'](_0x1fdd48),_0x1ff295=this['_revisionTracker']['buildRevisionData']({'revision':_0x56ce44,'from':_0x4f5698,'to':_0x540aaa});_0x1ff295['id']=_0x56ce44['id'];const _0x383638=_0x1ff295['authorsIds']['map'](_0x45473d=>_0x5b4ae7['getUser'](_0x45473d));_0x56ce44['_update']({..._0x1ff295,'authors':_0x383638},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x56ce44['id'],_0x1ff295,!0x0);}this['_revisionTracker']['_startingVersion']=_0x540aaa,(_0x56ce44['toVersion']===_0x56ce44['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xda2310)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xda2310),this['_revisionTracker']['_createCurrentRevision'](_0x540aaa));}const {revisions:_0xd84fc6,requestId:_0x436468}=await this['_revisionHistoryService']['reconnect'](_0x2b9e6c['connection'],this['_lastRequestId']);_0x191205&&_0xd84fc6['length']>0x0?_0x20086b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xd84fc6),this['_handleRevisionsUpdate'](_0xd84fc6,_0x436468),this['_revisionTracker']['sendBufferedUpdates']());};return _0x20086b['_isConnected']?_0x5694a4():new Promise((_0xf5de10,_0x3d20f7)=>{_0x20086b['once']('change:_isConnected',()=>{_0x5694a4()['then'](_0xf5de10)['catch'](_0x3d20f7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x249606=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x138478=>{_0x138478['off'](),_0x249606();});});}['_getLatestVersionFromServerOperations'](){const _0x211749=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x461ff4 of _0x211749)if('marker'!==_0x461ff4['type']||_0x461ff4['affectsData'])return _0x461ff4['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b2ec2=this['editor']['plugins']['get'](l);return new Promise(_0xf001f2=>{_0x1b2ec2['_isPendingUpdate']?_0x1b2ec2['once']('change:_isPendingUpdate',()=>{_0xf001f2(this['_getLatestVersionFromServerOperations']());}):_0xf001f2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xc1950,_0x1b066b){const _0x1713ad=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1b066b;for(const _0x364913 of _0xc1950){const _0x3e0f7f=_0x1713ad['getRevision'](_0x364913['id']);if(_0x3e0f7f){if((_0x364913['fromVersion']||_0x364913['toVersion'])&&(_0x364913['diffData']=null),_0x3e0f7f===this['_revisionTracker']['currentRevision']){const _0x3c6d37=Math['max'](_0x3e0f7f['toVersion'],_0x364913['toVersion']),_0x3a7954=Math['max'](_0x3e0f7f['fromVersion'],_0x364913['fromVersion']);let _0x3e0588;_0x3e0f7f['toVersion']===_0x364913['toVersion']&&_0x3e0f7f['fromVersion']===_0x364913['fromVersion']?(_0x3e0588=!0x0,this['_preventResendingRevisionData'](_0x364913)):_0x364913['toVersion']===_0x3c6d37&&_0x364913['fromVersion']===_0x3a7954?_0x3e0588=!0x1:(_0x3e0f7f['toVersion']===_0x3c6d37&&_0x3e0f7f['fromVersion']===_0x3a7954||this['_fixRevision']({'revision':_0x3e0f7f,'from':_0x3a7954,'to':_0x3c6d37}),_0x3e0588=!0x0),_0x3e0588&&(delete _0x364913['fromVersion'],delete _0x364913['toVersion'],delete _0x364913['diffData'],delete _0x364913['createdAt'],delete _0x364913['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x364913),this['_preventResendingRevisionData'](_0x364913);}else this['_revisionTracker']['addRevisionData'](_0x364913);}const _0x468792=_0x1713ad['getRevisions']();_0x468792['reverse']();for(let _0x57c6d4=0x0;_0x57c6d4<_0x468792['length']-0x1;_0x57c6d4++){const _0x16bcfd=_0x468792[_0x57c6d4],_0x3fa562=_0x468792[_0x57c6d4+0x1];if(_0x16bcfd['fromVersion']<_0x3fa562['toVersion']){const _0x220b3f=_0x3fa562['toVersion'],_0x53b490=Math['max'](_0x220b3f,_0x16bcfd['toVersion']);this['_fixRevision']({'revision':_0x16bcfd,'from':_0x220b3f,'to':_0x53b490});}}}['_fixRevision']({revision:_0x23996c,from:_0x59a332,to:_0x44755b}={}){const _0x41c828=this['editor']['plugins']['get'](_0x1fdd48),_0x280080=this['_revisionTracker']['buildRevisionData']({'revision':_0x23996c,'from':_0x59a332,'to':_0x44755b});_0x280080['authors']=_0x280080['authorsIds']['map'](_0x1a0ae1=>_0x41c828['getUser'](_0x1a0ae1)),_0x23996c['_update'](_0x280080);}['_preventResendingRevisionData'](_0x52b364){const _0x491656={};_0x491656['id']=_0x52b364['id'];for(const _0x3ce9c2 of Object['keys'](_0x52b364))'id'!==_0x3ce9c2&&(_0x491656[_0x3ce9c2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x491656['id'],_0x491656,!0x0);}async['_fetchMissingUsers'](_0xa04ac1){const _0x1d6464=this['editor']['plugins']['get'](_0x1fdd48),{connection:_0x2c8404}=this['editor']['plugins']['get'](n),_0x2530d6=new Set();for(const _0x2a87bc of _0xa04ac1){for(const _0x110e82 of _0x2a87bc['authorsIds'])_0x425871(_0x110e82);_0x2a87bc['creatorId']&&_0x425871(_0x2a87bc['creatorId']);}if(0x0===_0x2530d6['size'])return;const _0xf261e9=await ht['getMany'](_0x2c8404,Array['from'](_0x2530d6));for(const _0x1fa4fa of _0xf261e9)_0x1d6464['getUser'](_0x1fa4fa['id'])||_0x1d6464['addUser'](_0x1fa4fa);function _0x425871(_0x56d1dc){_0x1d6464['getUser'](_0x56d1dc)||_0x2530d6['add'](_0x56d1dc);}}}function st(_0x35d9d4){return _0x35d9d4['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x35d9d4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x35d9d4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x29e178{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x274a7e{['_collapseAt'];constructor(_0x3422a1,_0x127718=0x6){super(_0x3422a1);const _0x2ae2f2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x127718,this['bind']('isHidden')['to'](this,'usersCount',_0x4591a2=>_0x4591a2<_0x127718),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2ae2f2['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':_0x2ae2f2['to']('usersCount',_0xdd370e=>'+'+(_0xdd370e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x274a7e{['items'];['keystrokes'];constructor(_0xb79ae1){super(_0xb79ae1);const _0x3331d3=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x50a46c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3331d3['if']('hasPopup'),'aria-expanded':_0x3331d3['to']('isExpanded',_0x98dca0=>this['hasPopup']&&String(_0x98dca0)),'aria-label':_0x3331d3['to']('hasPopup',_0x158ec7=>U(_0xb79ae1,_0x158ec7?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3331d3['to']('hasPopup',_0xd91b29=>!!_0xd91b29&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3331d3['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3331d3['to'](_0x304e40=>{const _0x5c031f=_0x304e40,_0x74f8d6=document['querySelector']('.ck-presence-list__dropdown-list'),_0x131373=document['querySelector']('.ck-balloon-panel_with-arrow');_0x74f8d6?.['contains'](_0x5c031f['relatedTarget'])||_0x131373?.['contains'](_0x5c031f['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3fd623,_0x398f83,_0xf4210e)=>{this['element']&&(_0xf4210e?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 v extends _0x274a7e{['counterView'];['inlineListView'];constructor(_0x395b23,_0x49a9ad=0x6){super(_0x395b23);const _0xb721b6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x49a9ad),this['inlineListView']=new is(_0x395b23),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4aa515 of this['inlineListView']['items'])_0x4aa515['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',_0xb721b6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x274a7e{['listWrapperView'];constructor(_0x35213b,_0x1166ec){super(_0x35213b);const _0x4d5782=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x35213b,_0x1166ec),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':U(_0x35213b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4d5782['to'](_0x2cab34=>{const _0x50eb59=_0x2cab34,_0x3b5bba=document['querySelector']('.ck-presence-list__list'),_0x3c7111=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3b5bba?.['contains'](_0x50eb59['relatedTarget'])||_0x3c7111?.['contains'](_0x50eb59['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x5dfe34{constructor(_0x5308e4,_0x1c9975){super(_0x5308e4);const _0x16391b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1c9975?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x16391b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x16391b['to']('role'),'aria-label':_0x16391b['to']('ariaLabel'),'aria-labelledby':_0x16391b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x129409['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5ef22c=this['element'];_0x5ef22c&&(this['_isScrollable']=Math['max'](_0x5ef22c['scrollHeight'],_0x5ef22c['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x3739c7,_0x36f6ee,_0x2f1112){super(_0x3739c7);const _0x1d4393=this['bindTemplate'];this['userView']=new ct(_0x3739c7,_0x36f6ee);const _0x3e3799={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x36f6ee['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x36f6ee['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x36f6ee['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2f1112&&(_0x3e3799['tag']='button',_0x3e3799['on']={'click':_0x1d4393['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3e3799);}['focus'](){this['element']['focus']();}}class A extends _0x274a7e{['userView'];['markerView'];constructor(_0x42245e,_0x7684a7,_0x3019ce){super(_0x42245e);const _0x343b4b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x42245e,_0x7684a7),this['markerView']=new MarkerView(_0x42245e,_0x7684a7);const _0x402fb8=new ot(_0x42245e);_0x402fb8['template']['tag']='span',_0x402fb8['text']=_0x7684a7['name'];const _0x94ea8d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x343b4b['to']('isFocusable',_0x546ccc=>!!_0x546ccc&&0x0),'aria-labelledby':_0x402fb8['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x343b4b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x343b4b['to']('hasTooltip',_0xee4eb5=>!_0xee4eb5),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x402fb8]};_0x3019ce&&(_0x94ea8d['tag']='button',_0x94ea8d['on']={'click':_0x343b4b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x94ea8d);}}class MarkerView extends _0x274a7e{constructor(_0x3b0df9,_0x86d8a3){super(_0x3b0df9),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x86d8a3['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2ff9e0{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xc8b05){super(_0xc8b05),this['context']['config']['define']('presenceList',x);const _0x1cea1d=_0xc8b05['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1cea1d)throw new _0x3bcb8b('presencelist-collapseat-invalid-format',this);if(_0x1cea1d<0x1)throw new _0x3bcb8b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1ee515(),this['balloonPanelView']=new _0x4370e4(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x360fb6 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x360fb6);this['listenTo'](this['_allConnectedUsers'],'add',(_0x425d43,_0x2b69c2)=>{this['_handleUserAdd'](_0x2b69c2);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5a8228,_0x5e38a6)=>{this['_handleUserRemove'](_0x5e38a6);});}['_createView'](){const _0x155963=this['context'],_0x45b134=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x275cdd=this['balloonPanelView'];if(!_0x3f91cd(_0x155963['config']['get']('presenceList.container')))throw new _0x3bcb8b('presencelist-missing-container',this);return _0x45b134['counterView']['bind']('usersCount')['to'](this),_0x45b134['bind']('isCollapsed')['to'](this,'usersCount',_0x3e3f88=>{const {collapseAt:_0x3f9215}=_0x155963['config']['get']('presenceList'),_0x5beedc=_0x3e3f88>=_0x3f9215;if(_0x5beedc&&!_0x45b134['inlineListView']['items']['find'](_0x128f40=>_0x128f40 instanceof b)){const _0x1235e0=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1235e0&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x45b134['inlineListView']['items']['add'](_0x45b134['counterView']);}return _0x5beedc||this['hideDropdown'](),_0x5beedc;}),_0x45b134['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x15e0f6=>{const _0x39b529=_0x155963['config']['get']('presenceList'),_0x34802f=new A(_0x155963['locale'],_0x15e0f6,!!_0x39b529['onClick']);return _0x34802f['bind']('hasTooltip')['to'](_0x45b134,'isCollapsed',_0x54d9d9=>!_0x54d9d9),_0x34802f['bind']('isFocusable')['to'](_0x45b134,'isCollapsed',_0x5ef28d=>!_0x5ef28d),_0x39b529['onClick']&&this['listenTo'](_0x34802f,'execute',()=>{this['view']['isCollapsed']||_0x39b529['onClick'](_0x15e0f6,_0x34802f['element']);}),_0x34802f;}),this['listenTo'](_0x45b134['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x45b134['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x45b134['inlineListView']['keystrokes']['set']('Enter',(_0x344d07,_0x3751ad)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3751ad());}),_0x45b134['render'](),_0x275cdd['render'](),_0x498225({'emitter':_0x45b134,'activator':()=>_0x275cdd['isVisible'],'contextElements':[_0x275cdd['element'],_0x45b134['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x155963['config']['get']('presenceList.container')['appendChild'](_0x45b134['element']),this['_bodyCollection']=new _0x152ea0(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x45b134;}['_handleUserAdd'](_0x169685){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x169685['isMe'])return;const _0x2a73b3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2a73b3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x51bcaa=_0x169685['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x169685,_0x51bcaa);}['_handleUserRemove'](_0x4f2470){this['usersCount']--;const {collapseAt:_0x4c4ba1}=this['context']['config']['get']('presenceList'),_0x19134c=this['usersCount']>=_0x4c4ba1;if(this['currentDisplayedUsers']['get'](_0x4f2470['id']))this['currentDisplayedUsers']['remove'](_0x4f2470['id']);else{if(_0x19134c&&this['currentDisplayedUsers']['length']+0x1===_0x4c4ba1-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x19134c?0x1:0x0)<this['usersCount']){for(const _0x533b50 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x533b50['id'])&&(this['currentDisplayedUsers']['add'](_0x533b50,Math['min'](this['currentDisplayedUsers']['length']-(_0x19134c?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x19134c?0x1:0x0)===_0x4c4ba1-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x35f507=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x35f507['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x326cba}=this['presenceDropdownView'];_0x326cba['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1dc819=>{if(!_0x35f507['displayMe']&&_0x1dc819['isMe'])return null;const _0x2e1267=new j(this['context']['locale'],_0x1dc819,!!_0x35f507['onClick']);return _0x35f507['onClick']&&this['listenTo'](_0x2e1267,'execute',()=>{_0x35f507['onClick'](_0x1dc819,_0x2e1267['element']);}),_0x2e1267;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x326cba['focus'](),_0x326cba['checkIfScrollable']();const _0x43ff91=(_0x42ce65,_0x2ef152)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2ef152();};_0x326cba['keystrokes']['set']('Esc',_0x43ff91),_0x326cba['keystrokes']['set']('Shift+Tab',_0x43ff91),_0x326cba['keystrokes']['set']('Tab',(_0x2cf940,_0x1af05b)=>{!function(_0x179500){const _0x44fd1a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x59d611=>_0x59d611+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x281629=[...document['body']['querySelectorAll'](_0x44fd1a)]['filter'](_0x4cb283=>_0x4cb283===document['activeElement']||_0x4cb283['offsetWidth']+_0x4cb283['offsetHeight']>0x0)['sort']((_0x7cfcae,_0x4b1854)=>(_0x7cfcae['tabIndex']||0x0)-(_0x4b1854['tabIndex']||0x0)),_0x53da1b=_0x281629['indexOf'](_0x179500),_0x482c6e=_0x281629[(_0x53da1b+0x1)%_0x281629['length']];_0x482c6e&&_0x482c6e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1af05b();}),_0x326cba['focusTracker']['add'](this['view']['element']),_0x326cba['focusTracker']['on']('change:isFocused',(_0x144ade,_0x107fee,_0x32f68c)=>{_0x32f68c||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 PresenceList extends _0x2ff9e0{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x3bdf57,Plugin as _0x3332be,PendingActions as _0x442f90,Context as _0x1dce13}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x353b8b,CKEditorError as _0x5d0ce2,Collection as _0x9d9df4,global as _0x1b8319,version as nt,uid as _0x91b62c,KeystrokeHandler as _0x45cc9b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x452da1,View as _0x512b3c,ListView as _0x477aad,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x4371c1,clickOutsideHandler as _0x2a979d,BodyCollection as _0x2b3d32}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2bf042,History as _0x5d395f,NoOperation as _0x5dd696,InsertOperation as _0x44c460,MarkerOperation as _0xc8e293,RootAttributeOperation as _0x53ed4f,transformOperationSets as _0x4179bf,OperationFactory as _0x287ee3}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as at,WEB_SOCKET_GATEWAY_STATES as _0x495437,CollaborativeEditingService as _0x660943,User as ht,CommentsService as _0x35a16d,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1d83a7,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x28cf58}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3063f7}from'es-toolkit/compat';class n extends _0x3bdf57{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>at)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x452da1];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x9b4bbc){super(_0x9b4bbc),this['set']('state',_0x495437['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x353b8b())();}['init'](){const _0x505a07=this['context'],_0x23904d=_0x505a07['plugins']['get']('CloudServices'),_0x2e0f30=_0x505a07['plugins']['get'](_0x452da1);if(!_0x23904d['token'])throw new _0x5d0ce2('websocketgateway-missing-token',this);if(!_0x23904d['webSocketUrl'])throw new _0x5d0ce2('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),n['WebSocketGateway']['connect'](_0x23904d['token'],_0x23904d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x25fed1=>{if(this['connection']=_0x25fed1,this['bind']('state')['to'](_0x25fed1,'state',this,'_isBrowserOffline',(_0x2308cc,_0x36c2a8)=>('connected'!==_0x2308cc&&(this['_shouldPluginsReconnect']=!0x0),_0x36c2a8||_0x2308cc!==_0x495437['CONNECTED']?_0x495437['DISCONNECTED']:this['state']==_0x495437['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x495437['CONNECTING']):_0x495437['CONNECTED'])),this['connection']['on']('error',(_0x941424,_0x21c707)=>{if('limitExceeded'!==_0x21c707['code'])throw console['error'](_0x21c707),new _0x5d0ce2('cloudservices-init',null,{'originalError':_0x21c707});_0x2e0f30['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'});}),!_0x25fed1['me'])return new Promise(_0x22d250=>_0x25fed1['on']('change:me',_0x22d250));})['catch'](_0x8f65b3=>{throw console['error'](_0x8f65b3),new _0x5d0ce2('cloudservices-init',null,{'originalError':_0x8f65b3});});}['addToReconnectionStack'](_0x4cebff){if('function'!=typeof _0x4cebff['reconnect'])throw new _0x5d0ce2('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4cebff))throw new _0x5d0ce2('websocketgateway-plugin-already-registered',this,{'name':_0x4cebff['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4cebff);}['removeFromReconnectionStack'](_0x597577){this['_reconnectionStack']['delete'](_0x597577);}['isInReconnectionStack'](_0x5df197){return this['_reconnectionStack']['has'](_0x5df197);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1572fa=>_0x1572fa['reconnect']())))['then'](()=>this['state']=_0x495437['CONNECTED'])['catch'](_0x55c51b=>{throw console['error'](_0x55c51b),new _0x5d0ce2('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x495437['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3bdf57{['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[n,_0x1d83a7];}constructor(_0x4c3b95){super(_0x4c3b95),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x9d9df4(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1d83a7);}['init'](){const _0x4b00f3=this['context']['plugins']['get'](n);this['listenTo'](_0x4b00f3,'change:state',(_0x2b0dc3,_0x216d35,_0xa59dd5)=>{if('connected'!==_0xa59dd5)this['channelSessions']['forEach'](_0x5d6005=>_0x5d6005['clear']()),this['channelConnectedUsers']['forEach'](_0x2ef3e2=>_0x2ef3e2['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x114a92,_0x26f7ba]of this['_registeredSessions'])for(const _0x48bcae of _0x26f7ba)this['_handleSessionAdd'](_0x114a92,_0x48bcae);}}),this['_createUser'](_0x4b00f3['connection']['me'],!0x0);}['register'](_0x27df37,_0x170725){if(this['_registeredSessions']['has'](_0x27df37))throw new _0x5d0ce2('sessions-register-already-registered',null,{'channelId':_0x27df37});this['_registeredSessions']['set'](_0x27df37,_0x170725),this['channelSessions']['set'](_0x27df37,new _0x9d9df4()),this['channelConnectedUsers']['set'](_0x27df37,new _0x9d9df4()),this['listenTo'](_0x170725,'add',(_0x10cc86,_0x31b0f4)=>this['_handleSessionAdd'](_0x27df37,_0x31b0f4)),this['listenTo'](_0x170725,'remove',(_0x94d45e,_0x3717f1)=>this['_handleSessionRemove'](_0x27df37,_0x3717f1));for(const _0x5d49df of _0x170725)this['_handleSessionAdd'](_0x27df37,_0x5d49df);}['unregister'](_0x1cbd39){if(!this['_registeredSessions']['has'](_0x1cbd39))throw new _0x5d0ce2('sessions-unregister-not-exist',null,{'channelId':_0x1cbd39});const _0x33f692=this['_registeredSessions']['get'](_0x1cbd39);this['stopListening'](_0x33f692);for(const _0x3d1e5c of _0x33f692)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1cbd39,_0x3d1e5c);this['_registeredSessions']['delete'](_0x1cbd39),this['channelSessions']['delete'](_0x1cbd39),this['channelConnectedUsers']['delete'](_0x1cbd39);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0xe0e1db){for(const _0x1df18b of this['channelSessions']['values']())for(const _0x9eacad of _0x1df18b)if(_0x9eacad['id']===_0xe0e1db)return _0x9eacad['user'];}['getUserSessions'](_0xbfcb2c,_0xe621d1){const _0x82b693=_0xe621d1?[this['channelSessions']['get'](_0xe621d1)]:this['channelSessions']['values'](),_0x123aa2=new Set();for(const _0x40b4f7 of _0x82b693)for(const _0x158cc7 of _0x40b4f7)_0x158cc7['user']['id']===_0xbfcb2c['id']&&_0x123aa2['add'](_0x158cc7['id']);return _0x123aa2;}['getUserRole'](_0x4180ae){for(const _0x3e7aa9 of this['channelSessions']['values']())for(const _0x588af3 of _0x3e7aa9)if(_0x588af3['user']===_0x4180ae)return _0x588af3['role'];}['_handleSessionAdd'](_0x33697a,_0x113bd2){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5b3107=_0x113bd2['user'],_0x5b19b1=this['_users']['getUser'](_0x5b3107['id'])||this['_createUser'](_0x5b3107),_0x4917d5=Object['assign']({},_0x113bd2,{'user':_0x5b19b1});if(this['channelSessions']['get'](_0x33697a)['add'](_0x4917d5),!_0x5b3107['hiddenInPresenceList']){const _0x642f05=this['channelConnectedUsers']['get'](_0x33697a);_0x642f05['has'](_0x5b19b1['id'])||_0x642f05['add'](_0x5b19b1),this['allConnectedUsers']['has'](_0x5b19b1['id'])||_0x5b3107['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5b19b1,_0x5b19b1['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x33697a,{'channelId':_0x33697a,'session':_0x4917d5});}['_handleSessionRemove'](_0x139445,_0x2ae7d1){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x679de1=this['channelConnectedUsers']['get'](_0x139445),_0x228036=_0x2ae7d1['user'];_0x228036['id']&&(this['channelSessions']['get'](_0x139445)['remove'](_0x2ae7d1['id']),_0x679de1['has'](_0x228036['id'])&&!this['getUserSessions'](_0x228036,_0x139445)['size']&&_0x679de1['remove'](_0x228036['id']),this['allConnectedUsers']['get'](_0x228036['id'])&&!this['getUserSessions'](_0x228036)['size']&&this['allConnectedUsers']['remove'](_0x228036['id']));}['_createUser'](_0x5cac7c,_0x2d0256){const _0x54e8e7=this['_users']['addUser'](_0x5cac7c);return _0x2d0256&&this['_users']['defineMe'](_0x5cac7c['id']),_0x54e8e7['orderNumber']=this['_uniqueUsersCount']++,_0x54e8e7;}}class k extends _0x3332be{['_domEmitter']=new(_0x353b8b())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x47b9c3=this['editor'],_0x19ca72=_0x47b9c3['plugins']['get'](i);_0x47b9c3['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1a74d0,{writer:_0x2ad035})=>function(_0x2fc635,_0x4043d,_0x31a83a,_0x11bdf0){const _0x26570e=_0x2fc635['markerName']['split'](':')[0x2],_0x89f437=_0x31a83a['getUserBySessionId'](_0x26570e);if(!_0x89f437||_0x26570e===_0x31a83a['mySessionId'])return;if(!_0x11bdf0['model']['schema']['checkChild'](_0x2fc635['markerRange']['start'],'$text'))return;const _0x3ccff0={'class':'ck-user__marker\x20'+_0x89f437['color']['getMarkerClass'](),'data-name':_0x89f437['name'],'data-session-id':_0x26570e},_0xc52b65=_0x11bdf0['model']['markers']['get'](_0x2fc635['markerName']),_0x6a96bd=_0xc52b65['getStart'](),_0x3befd5=_0x6a96bd['nodeAfter'],_0x4b4e24=_0x11bdf0['model']['schema'];if(_0x3befd5&&_0x4b4e24['isObject'](_0x3befd5)&&_0x4b4e24['isInline'](_0x3befd5)&&!_0x11bdf0['model']['markers']['get']('user:range:'+_0x26570e)['getRange']()['isCollapsed'])return;const _0x1e04d6=_0x6a96bd['parent'];return _0x11bdf0['model']['schema']['isLimit'](_0x1e04d6)&&!_0x11bdf0['model']['hasContent'](_0x1e04d6)&&(_0x3ccff0['contenteditable']=!0x1),function(_0x1b97b4,_0xf78131,_0x58253a){const _0x3575cd=_0x1b97b4['createUIElement']('span',_0xf78131);return _0x1b97b4['setCustomProperty']('userPositionMarker',!0x0,_0x3575cd),_0x3575cd['render']=function(_0x235f6b){const _0x5d4b3f=this['toDomElement'](_0x235f6b),_0x539fcd=document['createElement']('span');return _0x539fcd['classList']['add']('ck-user__marker-tooltip'),_0x539fcd['setAttribute']('contenteditable','false'),_0x539fcd['setAttribute']('spellcheck','false'),_0x539fcd['textContent']=_0x58253a['name'],_0x5d4b3f['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x539fcd['outerHTML']+'⁠',_0x5d4b3f['addEventListener']('mouseenter',()=>{_0x5d4b3f['classList']['add']('ck-user__marker_hovered');}),_0x5d4b3f['addEventListener']('mouseleave',()=>{_0x5d4b3f['classList']['remove']('ck-user__marker_hovered');}),_0x5d4b3f;},_0x3575cd['isSimilar']=function(_0xbf74cb){return!(!this['getCustomProperty']('userPositionMarker')||!_0xbf74cb['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xbf74cb['getAttribute']('data-session-id'));},_0x3575cd;}(_0x4043d,_0x3ccff0,_0x89f437);}(_0x1a74d0,_0x2ad035,_0x19ca72,_0x47b9c3)}),_0x47b9c3['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x331303=>function(_0x8edeaf,_0x180390){const _0x16469c=_0x8edeaf['markerName']['split'](':')[0x2];if(_0x16469c===_0x180390['mySessionId'])return null;const _0x578cd6=_0x180390['getUserBySessionId'](_0x16469c);if(!_0x578cd6)return{'id':_0x16469c,'classes':[]};return{'id':_0x16469c,'classes':['ck-user__selection',_0x578cd6['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x16469c},'priority':0x7d0+_0x578cd6['orderNumber']};}(_0x331303,_0x19ca72)}),function(_0x2a5ee9){const _0x48c828=_0x2a5ee9['model'],_0x19221a=new Map(),_0x206450=_0x2a5ee9['plugins']['get'](i);_0x48c828['markers']['on']('update:user:range',(_0x47fb6e,_0x276cb5,_0x581f55,_0x19f1b8)=>{if(!_0x19f1b8&&_0x19221a['get'](_0x276cb5['name']))return _0x19221a['get'](_0x276cb5['name'])['detach'](),void _0x19221a['delete'](_0x276cb5['name']);const _0x27034b=_0x276cb5['name']['split'](':')[0x2];if(_0x27034b===_0x206450['mySessionId'])return;const _0x26e7e6='user:position:'+_0x27034b;_0x48c828['markers']['has'](_0x26e7e6)&&_0x2a5ee9['editing']['reconvertMarker'](_0x26e7e6),_0x276cb5['on']('change:range',(_0x5f0ead,_0x4da703,_0x1a8886)=>{if('$graveyard'!=_0x4da703['root']['rootName']&&'$graveyard'==_0x276cb5['getRange']()['root']['rootName']&&!_0x19221a['has'](_0x276cb5['name'])){const _0x2f8c1b=_0x48c828['schema']['getNearestSelectionRange'](_0x1a8886['deletionPosition']);if(_0x2f8c1b){const _0x36c0ec=_0x2bf042['fromRange'](_0x2f8c1b);_0x19221a['set'](_0x276cb5['name'],_0x36c0ec),_0x36c0ec['on']('change:range',(_0x2d23d5,_0xc23baf,_0x2fcdcd)=>{if('$graveyard'==_0x36c0ec['root']['rootName']){const _0x5e4cb3=_0x48c828['schema']['getNearestSelectionRange'](_0x2fcdcd['deletionPosition']);_0x5e4cb3?(_0x36c0ec['start']=_0x5e4cb3['start'],_0x36c0ec['end']=_0x5e4cb3['end']):(_0x19221a['delete'](_0x276cb5['name']),_0x36c0ec['detach']());}});}}});}),_0x48c828['document']['on']('change',()=>{_0x19221a['size']>0x0&&_0x48c828['enqueueChange']({'isUndoable':!0x1},_0x293b05=>{for(const [_0x404cd5,_0x447937]of _0x19221a)'$graveyard'==_0x48c828['markers']['get'](_0x404cd5)['getRange']()['root']['rootName']&&(x(_0x404cd5['split'](':')[0x2],_0x447937['toRange'](),_0x48c828,_0x293b05),_0x447937['detach']());_0x19221a['clear']();});});}(_0x47b9c3),this['_domEmitter']['listenTo'](_0x1b8319['document'],'keydown',(_0x152eab,{key:_0x56f6bf})=>{'Escape'===_0x56f6bf&&function(_0x28aad8){_0x28aad8['editing']['view']['change'](_0x5a8117=>{for(const _0x4e275e of _0x28aad8['model']['markers']){if(!_0x4e275e['name']['startsWith']('user:position'))continue;const _0x54668a=_0x28aad8['editing']['mapper']['markerNameToElements'](_0x4e275e['name']);if(_0x54668a){for(const _0x29653d of _0x54668a)_0x5a8117['removeClass']('ck-user__marker_hovered',_0x29653d);}}});}(_0x47b9c3);},{'useCapture':!0x0});}['afterInit'](){const _0x249a60=this['editor'],_0x232bf6=_0x249a60['commands']['get']('undo');_0x232bf6&&_0x249a60['model']['on']('applyOperation',(_0x457326,_0x3e4d8d)=>{const _0x15c3f3=_0x3e4d8d[0x0];if(!_0x15c3f3['isDocumentOperation'])return;if('marker'!=_0x15c3f3['type']||!_0x15c3f3['name']['startsWith']('user:'))return;const _0x35d055=_0x15c3f3['batch'];_0x232bf6['_createdBatches']['has'](_0x35d055)&&(_0x15c3f3['newRange']=_0x15c3f3['oldRange']?_0x249a60['model']['createRange'](_0x15c3f3['oldRange']['start'],_0x15c3f3['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x383a9b=this['editor'],_0xfe5c3f=_0x383a9b['model']['document'],_0x37dd4a=_0x383a9b['plugins']['get'](i);_0x383a9b['model']['enqueueChange']({'isUndoable':!0x1},_0x56d30a=>{const _0x37113c='user:range:'+_0x37dd4a['mySessionId'],_0x5a4c98='user:position:'+_0x37dd4a['mySessionId'],_0x32b148=_0x383a9b['model']['markers']['has'](_0x37113c);_0x383a9b['editing']['view']['hasDomSelection']?x(_0x37dd4a['mySessionId'],_0xfe5c3f['selection']['getFirstRange'](),_0x383a9b['model'],_0x56d30a):_0x32b148&&(_0x56d30a['removeMarker'](_0x37113c),_0x56d30a['removeMarker'](_0x5a4c98));});}}function x(_0x28b303,_0xf949a0,_0x2a6e63,_0x25e47e){const _0x48e2f4='user:range:'+_0x28b303,_0x4b4f47='user:position:'+_0x28b303,_0x4868f3=_0xf949a0['getContainedElement']();let _0x5c95b9=_0xf949a0['start'];if(_0x4868f3&&_0x4868f3['is']('element','tableCell')){const _0x2f68d1=function(_0x58a4cc,_0x32af22){for(const _0x5ecf9d of _0x58a4cc['getPositions']())if(_0x32af22['schema']['checkChild'](_0x5ecf9d,'$text'))return _0x5ecf9d;}(_0xf949a0,_0x2a6e63);_0x2f68d1&&(_0x5c95b9=_0x2f68d1,_0xf949a0=_0x25e47e['createRange'](_0x5c95b9));}const _0x1aa3a5=_0x25e47e['createRange'](_0x5c95b9);_0x2a6e63['markers']['has'](_0x48e2f4)?(_0x25e47e['updateMarker'](_0x48e2f4,{'range':_0xf949a0}),_0x25e47e['updateMarker'](_0x4b4f47,{'range':_0x1aa3a5})):(_0x25e47e['addMarker'](_0x48e2f4,{'range':_0xf949a0,'usingOperation':!0x0}),_0x25e47e['addMarker'](_0x4b4f47,{'range':_0x1aa3a5,'usingOperation':!0x0}));}function R(_0x185dab,_0x28b1b7,_0x8b8799){const _0x435f5e=_0x185dab['t'],t=_0x185dab['t'];switch(_0x28b1b7){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 _0x435f5e({'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'},_0x8b8799);default:return'';}}let j=0x1;class l extends _0x3332be{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x660943)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,k,_0x442f90,_0x1d83a7,_0x452da1];}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 _0x3fdb34=this['serverHistory']['getOperations']();for(let _0x29e414=_0x3fdb34['length']-0x1;_0x29e414>=0x0;_0x29e414--){const _0x346a40=_0x3fdb34[_0x29e414];if(!this['_disconnectionOperations']['has'](_0x346a40))return _0x346a40['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x30c291){if(super(_0x30c291),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5d395f(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5d0ce2('collaboration-missing-channelid',this);const _0x554c0e=_0x30c291['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x554c0e,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x28cf58(),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 OperationIdentifier(this['_disconnectionOperations']);}['init'](){const _0x1d03ec=this['editor'],_0x478588=_0x1d03ec['plugins']['get'](_0x1d83a7),_0x1bee79=_0x1d03ec['plugins']['get'](n);this['listenTo'](_0x478588,'getOperationAuthor',(_0xa610,_0x419f50)=>{const _0x3d74d0=_0x419f50[0x0];_0x3d74d0['_authorId']&&(_0xa610['return']=_0x478588['getUser'](_0x3d74d0['_authorId']),_0xa610['stop']()),null===_0x3d74d0['_authorId']&&(_0xa610['return']=null,_0xa610['stop']());},{'priority':'high'}),this['listenTo'](_0x1d03ec['model']['document']['selection'],'change:range',(_0x4044b7,_0x1bb5c2)=>{_0x1bb5c2['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1d03ec['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1d03ec['model']['on']('applyOperation',(_0x225fd0,_0x13da4e)=>{const _0x2eaba2=_0x13da4e[0x0];_0x2eaba2['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2eaba2),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1bee79,'state',this,'_hasSynchronizationProblem',(_0x37d2f4,_0x4ba3a9)=>'connected'===_0x37d2f4&&!_0x4ba3a9),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1d03ec['disableReadOnlyMode']('rtc-offline'):_0x1d03ec['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1d03ec['disableReadOnlyMode']('rtc-offline'):_0x1d03ec['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xbf7d69=this['editor']['plugins']['get'](i),_0x4668ab=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0xbf7d69['unregister'](this['_channelId']);const _0x1c550a=await this['_service']['reconnect'](_0x4668ab['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1c550a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5ed837=await this['_service']['getConnectedSessions']();_0xbf7d69['register'](this['_channelId'],_0x5ed837),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2575a4){if(function(_0xaa76fa){return'404'===_0xaa76fa['code'];}(_0x2575a4)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x350e5f){return'409'===_0x350e5f['code'];}(_0x2575a4)){const _0x219549=R(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'](_0x219549);}else{if(!(_0x2575a4 instanceof ReconnectionError))throw _0x2575a4;this['_handleReconnectionError']();}}}}['destroy'](){const _0x25b645=this['editor']['plugins']['get'](n),_0x4597d6=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4597d6['channelSessions']['has'](this['_channelId'])&&_0x4597d6['unregister'](this['_channelId']),_0x25b645['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1e5de8){if(this['sessionId']!==_0x1e5de8['sessionId']&&this['_lastSyncedOperationId']!==_0x1e5de8['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x1e5de8['sessionId'],this['_handleServerResponse']([],{..._0x1e5de8,'wereChangesApplied':!0x1,'data':_0x1e5de8['data']},'reconnect');}async['_connectService'](_0x31752d,_0x1aaf5f=!0x1){const {connection:_0x16fcad}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x16fcad,this['_channelId'])['then'](_0x582dee=>this['_initSessionsHandling'](_0x582dee))['catch'](_0x4a6aa3=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4a6aa3);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0xff5fd9,_0x2f88ac)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2f88ac);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x7844=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x31752d);this['_isPendingUpdate']=!0x0;const _0x202fad=await this['_service']['connect'](_0x16fcad,this['_compressOperations'](_0x31752d),_0x7844);if(this['sessionId']=_0x202fad['sessionId'],_0x1aaf5f){if(!_0x202fad['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x202fad['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x31752d,_0x202fad,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x202fad,_0x31752d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xa3bb79=this['editor']['plugins']['get'](i),_0xcd2ef7=this['editor']['plugins']['get'](k),_0x314274=_0xa3bb79['channelSessions']['get'](this['_channelId']);_0x314274&&_0x314274['length']>0x1?_0xcd2ef7['createUserMarkerOperations']():this['listenTo'](_0xa3bb79,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xa3bb79['channelSessions']['get'](this['_channelId'])['length']&&_0xcd2ef7['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x36b97b,_0x3fe60a,_0x1c6d1d,_0x881d4c){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3fe60a){const _0x11ad3a=this['_decompressOperations'](_0x1c6d1d,_0x881d4c);await this['_fetchMissingUsers'](_0x11ad3a),this['_handleExternalOperations'](_0x11ad3a,_0x3fe60a,_0x1c6d1d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x44d53b}=this['editor'];let _0x4cec64;try{_0x4cec64=await this['_service']['getDocumentDetails']();}catch{const _0x274d3e=R(_0x44d53b,'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'](_0x274d3e);}const _0x3a1759=_0x4cec64['currentDocumentSession']||_0x4cec64['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3a1759['lastOperationId']){const _0x58eb22=R(_0x44d53b,'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'](_0x58eb22);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3d9a06){const _0x4f38fb=this['editor']['plugins']['get'](i);this['listenTo'](_0x4f38fb,'sessionAdd:'+this['_channelId'],(_0x312e91,{session:_0x8bd5db})=>{if(_0x8bd5db['id']===_0x4f38fb['mySessionId']){_0x312e91['off']();const _0x41e86f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x41e760=_0x8bd5db['permissions'];_0x41e86f&&_0x41e86f['isEnabled']&&(_0x41e760=_0x41e760['filter'](_0x32b567=>'document:write'!==_0x32b567)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x41e760,this['_channelId']);}}),_0x4f38fb['register'](this['_channelId'],_0x3d9a06);}['_initThrowingOnDataSet'](){const _0x30810c=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x8b6c9c)=>{if(!_0x8b6c9c[_0x8b6c9c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5d0ce2('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x30810c['apply'](this['editor']['data'],_0x8b6c9c);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x218568,[_0x45c54a])=>{if(this['_document']['version'])throw new _0x5d0ce2('realtimecollaborationclient-init-document-already-initialized',this);_0x218568['stop'](),this['_setPendingAction']();const _0x5e0249=this['editor']['config']['get']('rootsAttributes'),_0x5a96c2=this['_getOperationsFromInitData'](_0x45c54a,_0x5e0249);0x0==_0x5a96c2['length']&&_0x5a96c2['push'](new _0x5dd696(0x0)),_0x218568['return']=this['_connectService'](_0x5a96c2)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x53ba17=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x53ba17))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x451241,[_0x21f9b8,_0x37d630])=>{_0x451241['stop']();const _0x17b12f=this['editor']['model']['document']['getRoot'](_0x21f9b8);if(!this['_knownRootNames']['has'](_0x21f9b8)){const _0x28a1d5=_0x37d630&&_0x37d630['data']?_0x37d630['data']:'',_0xe0d6f7=_0x37d630&&_0x37d630['attributes']?_0x37d630['attributes']:{};await this['_loadRoot'](_0x21f9b8,_0x28a1d5,_0xe0d6f7);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x17b12f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x17b12f);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x155326){const _0x7d7bc9=this['editor']['plugins']['get'](_0x1d83a7),{connection:_0x2a4c7c}=this['editor']['plugins']['get'](n),_0x556b2f=new Set();for(const _0x4be550 of _0x155326){const _0x30a567=_0x4be550['_authorId'];_0x30a567&&!_0x7d7bc9['getUser'](_0x30a567)&&_0x556b2f['add'](_0x30a567);}if(0x0===_0x556b2f['size'])return;const _0x20b7de=await ht['getMany'](_0x2a4c7c,Array['from'](_0x556b2f));for(const _0x4d6447 of _0x20b7de)_0x7d7bc9['getUser'](_0x4d6447['id'])||_0x7d7bc9['addUser'](_0x4d6447);}['_getOperationsFromInitData'](_0x505307,_0x432d28={}){const _0x28ede4=this['editor']['model'],_0x4f7be9=[];let _0x3556bd=0x0;const _0x472eb2='string'==typeof _0x505307?{'main':_0x505307}:_0x505307;for(const _0x2ce86a of Object['keys'](_0x472eb2)){if(!this['_document']['roots']['has'](_0x2ce86a))throw new _0x5d0ce2('realtimecollaborationclient-init-non-existent-root',this);const _0x20af55=this['editor']['data']['parse'](_0x472eb2[_0x2ce86a]),_0x5bc084=this['_document']['getRoot'](_0x2ce86a),_0x6f61d9=new _0x44c460(_0x28ede4['createPositionAt'](_0x5bc084,0x0),_0x20af55,_0x3556bd++);_0x4f7be9['push'](_0x6f61d9);for(const [_0x309b1a,_0x5f4121]of _0x20af55['markers']){const _0x37f9cf=_0x28ede4['createRange'](_0x28ede4['createPositionFromPath'](_0x5bc084,_0x5f4121['start']['path']['slice']()),_0x28ede4['createPositionFromPath'](_0x5bc084,_0x5f4121['end']['path']['slice']())),_0x3a6222=new _0xc8e293(_0x309b1a,null,_0x37f9cf,_0x28ede4['markers'],!0x0,_0x3556bd++);_0x4f7be9['push'](_0x3a6222);}}if(_0x432d28)for(const [_0x3d031d,_0x35d64f]of Object['entries'](_0x432d28)){const _0x576a92=_0x28ede4['document']['getRoot'](_0x3d031d);if(!_0x576a92)throw new _0x5d0ce2('multi-root-editor-root-attributes-no-root',null);for(const [_0x1a61cb,_0x1a2ca9]of Object['entries'](_0x35d64f))if(null!==_0x1a2ca9){const _0x580479=new _0x53ed4f(_0x576a92,_0x1a61cb,null,_0x1a2ca9,_0x3556bd++);_0x4f7be9['push'](_0x580479);}}return _0x4f7be9;}async['_loadRoot'](_0x17b26b,_0x2b72df,_0x24251f){this['_getOperationsFromInitData']({[_0x17b26b]:_0x2b72df},{[_0x17b26b]:_0x24251f})['forEach']((_0x2af9b8,_0x55bf4f)=>{_0x2af9b8['baseVersion']=this['_document']['version']+_0x55bf4f,_0x2af9b8['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2af9b8);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1b5ffd,_0x34ea2d){let _0x53a5f0;this['_offset']=_0x1b5ffd['offset'];const _0x4ae5e8=_0x1b5ffd['wereChangesApplied']&&!_0x1b5ffd['initData'],_0x1428b8=_0x4ae5e8?0x0:_0x1b5ffd['data']['baseVersion'];if(_0x34ea2d['forEach'](_0x30f3ff=>{_0x30f3ff['_isInit']=!0x0,_0x30f3ff['createdAt']=_0x1b5ffd['sessionCreatedAt'],_0x30f3ff['_authorId']=null;}),_0x4ae5e8)_0x53a5f0=_0x34ea2d,this['_applyOperationsSet'](_0x53a5f0,_0x4ae5e8);else{if(_0x1b5ffd['initData']){const _0x568197=this['_getOperationsFromInitData'](_0x1b5ffd['initData']);this['_document']['history']['version']=-_0x568197['length'],_0x568197['forEach'](_0x1bc938=>{_0x1bc938['baseVersion']-=_0x568197['length'],_0x1bc938['createdAt']=_0x1b5ffd['sessionCreatedAt'],_0x1bc938['_isInit']=!0x0,_0x1bc938['_authorId']=null;}),this['_applyOperationsSet'](_0x568197,!0x0),this['serverHistory']['version']=-_0x568197['length']+this['_offset'],this['_updateServerHistory'](_0x568197);}this['_document']['history']['version']=_0x1428b8,_0x53a5f0=this['_decompressOperations'](_0x1b5ffd['data'],_0x1b5ffd['metadata']),await this['_fetchMissingUsers'](_0x53a5f0),this['_applyOperationsSet'](_0x53a5f0,_0x4ae5e8);}_0x1b5ffd['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x53a5f0,_0x1b5ffd['lastOperationId']),this['_lastSyncedOperationId']=_0x1b5ffd['lastOperationId']),this['serverHistory']['version']=_0x1428b8+this['_offset'],this['_updateServerHistory'](_0x53a5f0),_0x34ea2d['filter'](_0x3e56b7=>{const _0x1a5cd8=this['_getAffectedRoot'](_0x3e56b7);return _0x1a5cd8&&!this['_knownRootNames']['has'](_0x1a5cd8);})['forEach']((_0x3a93e2,_0x282e59)=>{_0x3a93e2['baseVersion']=this['_document']['version']+_0x282e59,this['_saveOperationInBuffer'](_0x3a93e2);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x48f353,_0x19042c){const _0x14510a=_0x19042c&&_0x19042c['message'];if(_0x14510a&&_0x14510a['startsWith']('realtimecollaborationclient'))throw _0x19042c;const _0x4da8cb=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x4da8cb['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5d0ce2(_0x48f353,this['editor'],_0x14510a?{'originalError':_0x14510a}:void 0x0);}['_saveOperationInBuffer'](_0x2de4e1){this['_knownOperations']['has'](_0x2de4e1)||(this['_knownOperations']['add'](_0x2de4e1),this['_bufferedOperations']['push'](_0x2de4e1),this['_pendingAction']||'marker'==_0x2de4e1['type']&&!_0x2de4e1['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3ed6c0=!0x1){!_0x3ed6c0&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3e1ca6=>{_0x3e1ca6&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x66851b=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x969358){return _0x969358['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x969358['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x969358['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x66851b)||this['_crash'](_0x66851b['message'],_0x66851b);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1256f0=>{this['on']('change:_isPendingUpdate',()=>{_0x1256f0();});});}async['_sendBufferedOperations'](){const _0x7780a6=this['editor']['plugins']['get'](k);if(this['_shouldSendSelectionUpdate']()&&(_0x7780a6['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x12009a=[...this['_bufferedOperations']];for(const _0x351707 of _0x12009a)_0x351707['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x351707);const _0x45c072=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x12009a),_0x3ef26e=j++,_0x5e779c=this['_compressOperations'](_0x12009a),_0x54a56c=await this['_service']['sendOperations'](_0x5e779c,_0x5e779c['baseVersion'],_0x45c072);try{return await this['_handleServerResponse'](_0x12009a,_0x54a56c,_0x3ef26e);}catch(_0x409fc1){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x409fc1);}}async['_handleServerResponse'](_0x384c0c,_0x923a5d,_0x373c06){if('error'in _0x923a5d)throw _0x923a5d['error'];let _0x5d0e83=!0x1;if(_0x923a5d['wereChangesApplied']){_0x923a5d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x923a5d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x42fffd=>!_0x384c0c['includes'](_0x42fffd));for(const _0x42eb12 of _0x384c0c)_0x42eb12['createdAt']='lastOperationAcceptedAt'in _0x923a5d&&_0x923a5d['lastOperationAcceptedAt']||void 0x0;D(_0x384c0c,_0x923a5d['version']-_0x384c0c['length']),this['_updateServerHistory'](_0x384c0c);const _0x26fd45=_0x384c0c['filter'](_0x5278ed=>{if(!_0x5278ed['_isInit'])return!0x1;const _0x43fbb2=this['_getAffectedRoot'](_0x5278ed);return _0x43fbb2&&!this['_knownRootNames']['has'](_0x43fbb2);});D(_0x26fd45,this['_document']['version']),this['_applyOperationsSet'](_0x26fd45),_0x5d0e83=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3c139e=this['_decompressOperations'](_0x923a5d['data'],_0x923a5d['metadata'])['filter'](_0x4cd877=>_0x4cd877['baseVersion']>=this['_lastServerVersion']);_0x3c139e['forEach'](_0x39d374=>this['_addKnownRoot'](_0x39d374)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x351e13=>!_0x351e13['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x351e13))),this['_bufferedOperations']['length']&&D(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3c139e),_0x5d0e83=this['_handleExternalOperations'](_0x3c139e,_0x923a5d['version'],_0x923a5d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5d0e83?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1f0c9f,_0x534012,_0x3e9637){try{const _0x547d8a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5ae186,operationsB:_0x390b68,originalOperations:_0xd5ebee}=_0x4179bf(_0x1f0c9f,this['_bufferedOperations'],_0x547d8a);D(_0x5ae186,this['_document']['version']),D(_0x390b68,_0x534012);for(const _0x9d6a64 of _0x5ae186){const _0x377811=_0xd5ebee['get'](_0x9d6a64);_0x9d6a64['_authorId']=_0x377811?_0x377811['_authorId']:null;}_0x3e9637&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f0c9f,_0x3e9637),this['_lastSyncedOperationId']=_0x3e9637),this['_bufferedOperations']=[..._0x390b68],this['_applyOperationsSet'](_0x5ae186),this['_updateServerHistory'](_0x1f0c9f);}catch(_0x443a7d){return console['error'](_0x443a7d),!0x1;}return!0x0;}['_applyOperationsSet'](_0x37e4c1,_0x9b230f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1523da=>{for(const _0x22d2a6 of _0x37e4c1)this['_knownOperations']['add'](_0x22d2a6),this['_addKnownRoot'](_0x22d2a6),_0x1523da['batch']['addOperation'](_0x22d2a6),this['editor']['model']['applyOperation'](_0x22d2a6);});}['_addKnownRoot'](_0x1fc8b8){const _0x47ac2d=this['_getAffectedRoot'](_0x1fc8b8);_0x47ac2d&&this['_knownRootNames']['add'](_0x47ac2d);}['_getAffectedRoot'](_0x46356a){let _0x257f6b,_0x4cf0ea;switch(_0x46356a['type']){case'insert':_0x257f6b=_0x46356a['position']['root'];break;case'marker':if(_0x4cf0ea=_0x46356a['newRange'],!_0x4cf0ea)return null;_0x257f6b=_0x4cf0ea['root'];break;case'addRootAttribute':_0x257f6b=_0x46356a['root'];break;case'addRoot':_0x257f6b=_0x46356a['affectedSelectable'];break;case'move':_0x257f6b=_0x46356a['targetPosition']['root'];break;default:return null;}return _0x257f6b['rootName'];}['_updateServerHistory'](_0x119183){_0x119183['forEach'](_0x14ad68=>{const _0xe2bc5b=_0x14ad68['clone']();_0xe2bc5b['_authorId']=_0x14ad68['_authorId'],_0xe2bc5b['_isInit']=!!_0x14ad68['_isInit'],_0xe2bc5b['createdAt']=_0x14ad68['createdAt'],_0xe2bc5b['baseVersion']+=this['_offset'],_0x14ad68['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xe2bc5b),this['serverHistory']['addOperation'](_0xe2bc5b);});}['_handleReconnectionError'](_0x598977){const _0x3da053=this['editor']['plugins']['get']('Notification'),_0xfdcfcd=this['editor']['locale'];_0x598977||(_0x598977=R(_0xfdcfcd,'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.')),_0x3da053['showWarning'](_0x598977,{'title':R(_0xfdcfcd,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x442f90)['add'](R(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x442f90)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x39a549){const _0xdb2945=_0x39a549['map'](_0x111a05=>_0x111a05['toJSON']());return this['_compressor']['compress'](_0xdb2945);}['_decompressOperations'](_0x1a15d0,_0x21317d){return this['_compressor']['decompress'](_0x1a15d0)['map']((_0x2e6db9,_0x5754af)=>{const _0x22d7f7='init'==_0x21317d[_0x5754af]['type'];if('InsertOperation'==_0x2e6db9['__className']){const _0x3afad5=_0x2e6db9['position']['root'];!this['_document']['getRoot'](_0x3afad5)&&(this['_document']['createRoot']('$root',_0x3afad5)['_isAttached']=!0x1);}const _0x564f13=_0x287ee3['fromJSON'](_0x2e6db9,this['_document']);return _0x564f13['wasUndone']=_0x2e6db9['wasUndone'],_0x564f13['_isInit']=_0x22d7f7,_0x564f13['_authorId']=_0x22d7f7?null:_0x21317d[_0x5754af]['userId'],_0x564f13['_isDisconnection']='cs:removeUser'===_0x21317d[_0x5754af]['type'],_0x564f13['createdAt']=_0x21317d[_0x5754af]['createdAt'],_0x564f13;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4ae32e=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4ae32e&&_0x4ae32e['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function D(_0x2b6dfc,_0x3eb5a7){for(const _0xdde325 of _0x2b6dfc)_0xdde325['baseVersion']=_0x3eb5a7++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x11c7d3){this['_ignoredOperations']=_0x11c7d3,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3bf7c4){let _0xf9f0c3=_0x3bf7c4['length'];for(;_0xf9f0c3--;){const _0x2a78e2=_0x3bf7c4[_0xf9f0c3];if(!this['_ignoredOperations']['has'](_0x2a78e2)){if(!this['_operationToId']['has'](_0x2a78e2)){const _0x3b3564=_0x91b62c()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2a78e2,_0x3b3564);}return this['_operationToId']['get'](_0x2a78e2);}}}['setIdForTheLastOperation'](_0x57da7e,_0x5a9a31){if(!_0x5a9a31)return;let _0x1111bd=_0x57da7e['length'];for(;_0x1111bd--;){const _0x4d36c4=_0x57da7e[_0x1111bd];this['_ignoredOperations']['has'](_0x4d36c4)||this['_operationToId']['set'](_0x4d36c4,_0x5a9a31);}}}class a extends _0x3332be{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x3bdf57{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x35a16d)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1d83a7];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x392bb1){super(_0x392bb1),this['_services']=new Map();}async['init'](){const _0x1d8716=this['context'],_0xd6e760=_0x1d8716['plugins']['get']('CommentsRepository');if(_0x1d8716['plugins']['get'](n)['addToReconnectionStack'](this),_0xd6e760['adapter']={'addCommentThread':async({channelId:_0x216dcd,threadId:_0x2eb5e0,comments:_0x31d136,resolvedAt:_0x401226,resolvedBy:_0x402355,context:_0x974e3f,attributes:_0x451db1})=>{const _0x2a0f84=await this['_getService'](_0x216dcd)['addCommentThread']({'commentThreadId':_0x2eb5e0,'comments':_0x31d136['map'](_0x4576ba=>function(_0x66fd1c,_0x86835b,_0x113fa0){return{'commentThreadId':_0x113fa0,'commentId':_0x66fd1c['commentId'],'userId':_0x66fd1c['authorId'],'content':_0x66fd1c['content'],'documentId':_0x86835b,'createdAt':_0x66fd1c['createdAt'],'attributes':_0x66fd1c['attributes']||{}};}(_0x4576ba,_0x216dcd,_0x2eb5e0)),'resolvedAt':_0x401226,'resolvedBy':_0x402355,'context':_0x974e3f,'attributes':_0x451db1})['catch'](lt);return{'threadId':_0x2a0f84['commentThreadId'],'comments':_0x2a0f84['comments']};},'getCommentThread':async({channelId:_0x1c91e2,threadId:_0x4a2143})=>{const _0x1dc964=await this['_getService'](_0x1c91e2)['getCommentThread'](_0x4a2143)['catch'](X)['catch'](lt);return _0x1dc964?_0x1dc964['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1dc964]),{'threadId':_0x1dc964['commentThreadId'],'comments':_0x1dc964['comments']['map'](Z),'context':_0x1dc964['context'],'resolvedAt':_0x1dc964['resolvedAt'],'resolvedBy':_0x1dc964['resolvedBy'],'attributes':_0x1dc964['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x37a873,threadId:_0x284d79,context:_0x236cab,unlinkedAt:_0x487808,attributes:_0x5e3b8d})=>this['_getService'](_0x37a873)['updateCommentThread']({'commentThreadId':_0x284d79,'context':_0x236cab,'attributes':_0x5e3b8d,'unlinkedAt':_0x487808})['catch'](X)['catch'](lt),'resolveCommentThread':async({channelId:_0x351e26,threadId:_0x5542ff})=>{const _0x16ca63=await this['_getService'](_0x351e26)['resolveCommentThread'](_0x5542ff)['catch'](X)['catch'](lt);return{'threadId':_0x16ca63['commentThreadId'],'resolvedAt':_0x16ca63['resolvedAt'],'resolvedBy':_0x16ca63['resolvedBy']};},'reopenCommentThread':async({channelId:_0x116865,threadId:_0x555c4c})=>this['_getService'](_0x116865)['reopenCommentThread'](_0x555c4c)['catch'](X)['catch'](lt),'removeCommentThread':({channelId:_0x54ca7d,threadId:_0x13535b})=>this['_getService'](_0x54ca7d)['removeCommentThread'](_0x13535b)['catch'](X)['catch'](lt),'addComment':({channelId:_0x3b3358,threadId:_0x89fbb0,commentId:_0xc81d8a,content:_0x220c09,attributes:_0x53a4a1})=>this['_getService'](_0x3b3358)['addComment'](_0x89fbb0,_0xc81d8a,_0x220c09,_0x53a4a1)['catch'](lt),'updateComment':({channelId:_0x37688b,threadId:_0x5f261d,commentId:_0x36d62e,content:_0xc77c03,attributes:_0x4d08d7})=>this['_getService'](_0x37688b)['updateComment'](_0x5f261d,_0x36d62e,_0xc77c03,_0x4d08d7)['catch'](X)['catch'](lt),'removeComment':({channelId:_0x1780ae,threadId:_0x1cef70,commentId:_0x1b3d97})=>this['_getService'](_0x1780ae)['removeComment'](_0x1cef70,_0x1b3d97)['catch'](X)['catch'](lt)},_0x1d8716 instanceof _0x1dce13){const _0x1da2e4=_0x1d8716['config']['get']('collaboration.channelId'),_0x2ba257=_0x1d8716['plugins']['get'](i);await this['_setUpService'](_0x1da2e4);const _0x221096=await this['_services']['get'](_0x1da2e4)['getConnectedSessions']();this['listenTo'](_0x2ba257,'sessionAdd:'+_0x1da2e4,(_0x2cb42e,{session:_0x503bab})=>{_0x503bab['id']===_0x2ba257['mySessionId']&&(_0x2cb42e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x503bab['permissions'],_0x1da2e4));}),_0x2ba257['register'](_0x1da2e4,_0x221096);}}async['_setUpService'](_0xc638b9){if(this['_services']['has'](_0xc638b9))throw new _0x5d0ce2('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xc638b9});const _0x48d998=this['context']['plugins']['get']('CommentsRepository'),_0x13c413=new s['CommentsService'](_0xc638b9);this['_services']['set'](_0xc638b9,_0x13c413),this['listenTo'](_0x13c413,'commentThreadAdded',(_0x1f9e70,_0x1a1f73)=>{const {commentThreadId:_0x19a61c,documentId:_0x5b8bca,context:_0x2fed02,attributes:_0x35e456,resolvedAt:_0x33ef3,resolvedBy:_0x50fea0,comments:_0x2db765}=_0x1a1f73;_0x48d998['getCommentThread'](_0x19a61c)||_0x48d998['addCommentThread']({'threadId':_0x19a61c,'channelId':_0x5b8bca,'comments':_0x2db765?_0x2db765['map'](Z):[],'context':_0x2fed02,'attributes':_0x35e456,'resolvedAt':_0x33ef3,'resolvedBy':_0x50fea0,'isFromAdapter':!0x0});}),this['listenTo'](_0x13c413,'commentThreadUpdated',(_0x4ae9a6,{commentThreadId:_0x9d39cc,documentId:_0x222cd3,context:_0x122503,unlinkedAt:_0x501b7a,attributes:_0x51a10c})=>{_0x48d998['getCommentThread'](_0x9d39cc)&&_0x48d998['updateCommentThread']({'threadId':_0x9d39cc,'channelId':_0x222cd3,'context':_0x122503,'unlinkedAt':_0x501b7a,'attributes':_0x51a10c,'isFromAdapter':!0x0});}),this['listenTo'](_0x13c413,'commentThreadResolved',(_0x49a380,{commentThreadId:_0x2b5b3d,resolvedBy:_0x20f9aa,resolvedAt:_0x3696d7})=>{const _0x19a660=_0x48d998['getCommentThread'](_0x2b5b3d);_0x19a660&&_0x19a660['resolve']({'resolvedBy':_0x20f9aa,'resolvedAt':_0x3696d7,'isFromAdapter':!0x0});}),this['listenTo'](_0x13c413,'commentThreadReopened',(_0x19bb11,{commentThreadId:_0x4dfd6a})=>{const _0x26a2dd=_0x48d998['getCommentThread'](_0x4dfd6a);_0x26a2dd&&_0x26a2dd['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13c413,'commentThreadRemoved',(_0x3a107c,{commentThreadId:_0x462415})=>{const _0x5c3c8c=_0x48d998['getCommentThread'](_0x462415);_0x5c3c8c&&_0x5c3c8c['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13c413,'commentAdded',(_0x4789a8,_0x12e69a)=>{const _0x3122ba=_0x12e69a['commentThreadId'],_0x1d9642=_0x48d998['getCommentThread'](_0x3122ba);_0x1d9642&&_0x1d9642['addComment']({...Z(_0x12e69a),'isFromAdapter':!0x0});}),this['listenTo'](_0x13c413,'commentUpdated',(_0xe39273,{commentThreadId:_0x50e91e,commentId:_0x10fdee,content:_0x2513a1,attributes:_0x1d526b})=>{const _0x423fa4=_0x48d998['getCommentThread'](_0x50e91e);if(_0x423fa4){const _0x504eff=_0x423fa4['getComment'](_0x10fdee);_0x504eff&&_0x504eff['update']({'content':_0x2513a1,'attributes':_0x1d526b,'isFromAdapter':!0x0});}}),this['listenTo'](_0x13c413,'commentRemoved',(_0x3d4f7d,{commentThreadId:_0x18dc14,commentId:_0x2ac99b})=>{const _0x1732d1=_0x48d998['getCommentThread'](_0x18dc14);if(_0x1732d1){const _0x4eb53a=_0x1732d1['getComment'](_0x2ac99b);_0x4eb53a&&_0x4eb53a['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xc638b9);}['destroy'](){if(this['context']instanceof _0x1dce13){const _0x49ff67=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x49ff67);}}['_terminateService'](_0x30c04d){if(!this['_services']['has'](_0x30c04d))throw new _0x5d0ce2('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x30c04d});this['_getService'](_0x30c04d)['disconnect'](),this['_services']['delete'](_0x30c04d);}async['reconnect'](){for(const _0x4a0bad of this['_services']['keys']())await this['_connectService'](_0x4a0bad);if(this['context']instanceof _0x1dce13){const _0x3bd3dc=this['context']['config']['get']('collaboration.channelId'),_0x4398da=this['context']['plugins']['get'](i);_0x4398da['unregister'](_0x3bd3dc);const _0x501616=await this['_services']['get'](_0x3bd3dc)['getConnectedSessions']();_0x4398da['register'](_0x3bd3dc,_0x501616);}}async['_connectService'](_0x7468d0){const {connection:_0xd77112}=this['context']['plugins']['get'](n),_0x50cf70=this['context']['plugins']['get']('CommentsRepository'),_0x2c812b=this['_services']['get'](_0x7468d0),_0x30e5af=await _0x2c812b['connect'](_0xd77112);await this['_fetchMissingUsersForThreads'](_0x30e5af);const _0xe2a77a=new Set(Array['from'](_0x50cf70['getCommentThreads']({'channelId':_0x7468d0}),_0x5255f3=>_0x5255f3['id']));for(const _0x40965f of _0x30e5af)_0x40965f['deletedAt']||_0xe2a77a['delete'](_0x40965f['commentThreadId']);for(const _0xd746fb of _0xe2a77a)_0x50cf70['getCommentThread'](_0xd746fb)['remove']({'isFromAdapter':!0x0});for(const _0x15e92c of _0x30e5af){let _0x1c8108=_0x50cf70['getCommentThread'](_0x15e92c['commentThreadId']);const {commentThreadId:_0x47694e,context:_0x48eb93,attributes:_0x1c60a0,resolvedBy:_0x4103a6,resolvedAt:_0xbdb24a,unlinkedAt:_0x5a411d,deletedAt:_0x102c1d}=_0x15e92c;if(_0x102c1d)continue;_0x1c8108||(_0x1c8108=_0x50cf70['addCommentThread']({'channelId':_0x7468d0,'threadId':_0x47694e,'context':_0x48eb93,'attributes':_0x1c60a0||{},'resolvedBy':_0x4103a6,'resolvedAt':_0xbdb24a,'unlinkedAt':_0x5a411d,'isFromAdapter':!0x0}));const _0x39b23e=new Set(Array['from'](_0x1c8108['comments'],_0x2749ed=>_0x2749ed['id']));for(const _0x343f78 of _0x15e92c['comments'])_0x39b23e['delete'](_0x343f78['commentId']);for(const _0x2132ac of _0x39b23e)_0x1c8108['getComment'](_0x2132ac)['remove']({'isFromAdapter':!0x0});for(const _0x1a388c of _0x15e92c['comments']){const _0x4832ba=_0x1c8108['getComment'](_0x1a388c['commentId']);_0x4832ba?_0x4832ba['content']!==_0x1a388c['content']&&_0x4832ba['update']({'content':_0x1a388c['content'],'isFromAdapter':!0x0}):_0x1c8108['addComment'](Object['assign'](Z(_0x1a388c),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5a8e65){if(!this['_services']['has'](_0x5a8e65))throw new _0x5d0ce2('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5a8e65});return this['_services']['get'](_0x5a8e65);}async['_fetchMissingUsersForThreads'](_0xa3960c){const _0x90344e=this['context']['plugins']['get'](_0x1d83a7),{connection:_0x1ad0d3}=this['context']['plugins']['get'](n),_0x1069f8=new Set();for(const {resolvedBy:_0x2269c7,comments:_0x1487c2}of _0xa3960c){_0x2269c7&&!_0x90344e['getUser'](_0x2269c7)&&_0x1069f8['add'](_0x2269c7);for(const {userId:_0x55846c}of _0x1487c2)_0x90344e['getUser'](_0x55846c)||_0x1069f8['add'](_0x55846c);}if(0x0===_0x1069f8['size'])return;const _0x22b964=await ht['getMany'](_0x1ad0d3,Array['from'](_0x1069f8));for(const _0x311138 of _0x22b964)_0x90344e['getUser'](_0x311138['id'])||_0x90344e['addUser'](_0x311138);}}async function X(_0x182606){if('404'!==_0x182606['code'])throw _0x182606;}function lt(_0x295cb5){if((_0x4d532c=_0x295cb5)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4d532c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4d532c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4d532c;throw _0x295cb5;}function Z(_0x576bd8){return{'threadId':_0x576bd8['commentThreadId'],'commentId':_0x576bd8['commentId'],'content':_0x576bd8['content'],'createdAt':_0x576bd8['createdAt'],'authorId':_0x576bd8['userId'],'attributes':_0x576bd8['attributes']||{}};}class m extends _0x3332be{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1011fb){super(_0x1011fb);const _0x19acde=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x19acde);}['init'](){const _0x5856f8=this['editor']['plugins']['get'](n),_0x11c1a6=this['editor']['plugins']['get']('TrackChangesEditing');return _0x11c1a6['adapter']={'getSuggestion':async _0x8986c2=>{await this['_waitForServiceReady']();const _0x51962e=await this['_trackChangesService']['get'](_0x8986c2)['catch'](Y);return await this['_fetchMissingUsersForThreads']([_0x51962e]),_0x51962e;},'addSuggestion':async({id:_0x5bc14c,type:_0x50290d,data:_0x3615a5,originalSuggestionId:_0x3a8c2e,attributes:_0x676985})=>{await this['_waitForServiceReady']();const _0x48bdbc={'id':_0x5bc14c,'type':_0x50290d,'data':_0x3615a5,'originalSuggestionId':_0x3a8c2e,'attributes':_0x676985},_0x4524dc=await this['_trackChangesService']['add'](_0x5bc14c,_0x50290d,_0x3615a5,_0x3a8c2e,_0x676985)['catch'](_0x5701dc=>{if(dt(_0x5701dc))return new Promise(_0x40a7cb=>{this['_bufferedRequests']['set'](_0x5bc14c,{'resolve':_0x40a7cb,'suggestionData':_0x48bdbc});});throw _0x5701dc;});return this['_bufferedRequests']['delete'](_0x5bc14c),_0x4524dc;},'updateSuggestion':async(_0x13bdd8,_0x4a5613)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4a5613['state'])return this['_trackChangesService']['update'](_0x13bdd8,_0x4a5613)['catch'](Y);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1c4d9c,_0x11b2b3)=>{_0x11c1a6['hasSuggestion'](_0x11b2b3['id'])&&(_0x11c1a6['getSuggestion'](_0x11b2b3['id'])['attributes']=_0x11b2b3['attributes']);}),this['_trackChangesService']['connect'](_0x5856f8['connection'])['then'](_0x42dcc1=>(_0x5856f8['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x42dcc1)['then'](()=>{for(const _0x270d3d of _0x42dcc1){_0x11c1a6['addSuggestionData'](_0x270d3d)['_saved']=!0x0;}})));}async['reconnect'](){const _0x42ced0=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1b718d}=this['editor']['plugins']['get'](n),_0xa2b766=await this['_trackChangesService']['connect'](_0x1b718d);await this['_fetchMissingUsersForThreads'](_0xa2b766);for(const {suggestionData:_0xe976f2,resolve:_0x553ee7}of this['_bufferedRequests']['values']()){let _0x241add=_0xa2b766['find'](_0x539a98=>_0x539a98['id']===_0xe976f2['id']);_0x241add||(_0x241add=await this['_trackChangesService']['add'](_0xe976f2['id'],_0xe976f2['type'],_0xe976f2['data'],_0xe976f2['originalSuggestionId'])),_0x553ee7(_0x241add);}for(const _0x35f86c of _0xa2b766)_0x42ced0['hasSuggestion'](_0x35f86c['id'])||_0x42ced0['addSuggestionData'](_0x35f86c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x1c83cd=>{this['listenTo'](this['_trackChangesService'],'connected',_0x42a8a2=>{_0x42a8a2['off'](),_0x1c83cd();});});}async['_fetchMissingUsersForThreads'](_0x41a0be){const _0x59df4a=this['editor']['plugins']['get'](_0x1d83a7),{connection:_0x23fdc4}=this['editor']['plugins']['get'](n),_0xcc34cc=new Set();for(const {authorId:_0x55a90a}of _0x41a0be)_0x59df4a['getUser'](_0x55a90a)||_0xcc34cc['add'](_0x55a90a);if(0x0===_0xcc34cc['size'])return;const _0x19b2ad=await ht['getMany'](_0x23fdc4,Array['from'](_0xcc34cc));for(const _0x3489db of _0x19b2ad)_0x59df4a['getUser'](_0x3489db['id'])||_0x59df4a['addUser'](_0x3489db);}}function Y(_0x31cf09){if(dt(_0x31cf09))return new Promise(()=>{});throw _0x31cf09;}function dt(_0x5a6a30){return _0x5a6a30['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5a6a30['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3332be{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3090dd=this['editor']['plugins']['get'](n),_0x1c510b=this['editor']['plugins']['get']('CommentsEditing'),_0x17125b=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3090dd,'change:state',(_0x49bd19,_0x4829d2,_0x211d86)=>{_0x1c510b['isThreadsLoadingPaused']='connected'!==_0x211d86;});}),this['listenTo'](_0x3090dd,'change:state',(_0x2981cf,_0x1862bc,_0x334239)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x334239);}),_0x17125b['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class RealTimeCollaborativeTrackChanges extends _0x3332be{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x3332be{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1d83a7];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x80fd00){super(_0x80fd00);const _0x29d053=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x29d053);}async['init'](){const _0xd8c3c2=this['editor']['plugins']['get'](l),_0x39270a=_0xd8c3c2['serverHistory'],_0x221076=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x39270a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xd8c3c2['sessionId']});const _0x4607b0=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x2385c7=await tt['isBundleUploaded'](_0x221076['connection'],_0x4607b0);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x5073a1})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5073a1)),'updateRevisions':async _0xa9fb55=>{await this['_waitForServiceReady']();const _0x89fcb5=this['_revisionTracker']['currentRevision'];if(_0x2385c7&&0x1===_0xa9fb55['length']&&_0xa9fb55[0x0]['id']===_0x89fcb5['id'])return _0xa9fb55;for(const _0x544a7d of _0xa9fb55)_0x544a7d['id']===_0x89fcb5['id']&&(_0x544a7d['isEmptyCurrent']=_0x544a7d['fromVersion']===_0x544a7d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xa9fb55,this['_lastRequestId'])['then'](_0x58b01b=>(this['_lastRequestId']=_0x58b01b,_0xa9fb55))['catch'](_0x19782b=>{if(st(_0x19782b)||'400'===_0x19782b['code']&&void 0x0!==_0x19782b['data']['wrongRequestId']){for(const _0x3ec713 of _0xa9fb55){!this['_revisionTracker']['repository']['getRevision'](_0x3ec713['id'])||this['_revisionTracker']['_bufferUpdate'](_0x3ec713['id'],_0x3ec713,!0x1);}if(st(_0x19782b))throw _0x19782b;return _0xa9fb55;}throw _0x19782b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x44e11d,{revisionsData:_0xed2875,requestId:_0x48c1b5})=>{Math['max'](..._0xed2875['map'](_0x17a5dd=>_0x17a5dd['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xed2875,_0x48c1b5);}):this['_handleRevisionsUpdate'](_0xed2875,_0x48c1b5);});const {revisions:_0x101be8,requestId:_0x401e4a}=await this['_revisionHistoryService']['connect'](_0x221076['connection']);_0x221076['addToReconnectionStack'](this),this['_lastRequestId']=_0x401e4a,await this['_fetchMissingUsers'](_0x101be8);for(const _0x3ebc7c of _0x101be8)this['_revisionTracker']['addRevisionData'](_0x3ebc7c);this['listenTo'](_0xd8c3c2,'change:_isConnected',(_0x283754,_0x14567b,_0x5106d6)=>{_0x5106d6&&(this['_oldOffset']=_0xd8c3c2['_offset'],_0x283754['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x221076,'state',_0x459dc8=>_0x459dc8===_0x495437['CONNECTED']);}async['reconnect'](){const _0x39d052=this['editor']['plugins']['get'](n),_0x4dda0d=this['editor']['plugins']['get'](l),_0xa6ee07=async()=>{const _0x4e0979=this['_revisionTracker']['currentRevision'],_0x223878=_0x4e0979['id'],_0x5a485a=_0x223878!==_0x4dda0d['sessionId'];if(_0x5a485a){const _0x21951f=_0x4dda0d['_offset']-this['_oldOffset'],_0x1b944e=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4e0979['toVersion']+_0x21951f!==_0x1b944e){const _0x309f61=_0x4e0979['fromVersion']+_0x21951f,_0x3cce7b=this['editor']['plugins']['get'](_0x1d83a7),_0x53a9b3=this['_revisionTracker']['buildRevisionData']({'revision':_0x4e0979,'from':_0x309f61,'to':_0x1b944e});_0x53a9b3['id']=_0x4e0979['id'];const _0x421463=_0x53a9b3['authorsIds']['map'](_0x1c1d49=>_0x3cce7b['getUser'](_0x1c1d49));_0x4e0979['_update']({..._0x53a9b3,'authors':_0x421463},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4e0979['id'],_0x53a9b3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1b944e,(_0x4e0979['toVersion']===_0x4e0979['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x223878)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x223878),this['_revisionTracker']['_createCurrentRevision'](_0x1b944e));}const {revisions:_0x4bc677,requestId:_0x3ac256}=await this['_revisionHistoryService']['reconnect'](_0x39d052['connection'],this['_lastRequestId']);_0x5a485a&&_0x4bc677['length']>0x0?_0x4dda0d['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4bc677),this['_handleRevisionsUpdate'](_0x4bc677,_0x3ac256),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4dda0d['_isConnected']?_0xa6ee07():new Promise((_0x1819b1,_0x1e9589)=>{_0x4dda0d['once']('change:_isConnected',()=>{_0xa6ee07()['then'](_0x1819b1)['catch'](_0x1e9589);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4eacea=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5c2a3b=>{_0x5c2a3b['off'](),_0x4eacea();});});}['_getLatestVersionFromServerOperations'](){const _0x525a20=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x79d24b of _0x525a20)if('marker'!==_0x79d24b['type']||_0x79d24b['affectsData'])return _0x79d24b['baseVersion']+0x1;}['_getLatestVersion'](){const _0x12bfaf=this['editor']['plugins']['get'](l);return new Promise(_0x24d763=>{_0x12bfaf['_isPendingUpdate']?_0x12bfaf['once']('change:_isPendingUpdate',()=>{_0x24d763(this['_getLatestVersionFromServerOperations']());}):_0x24d763(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1e0161,_0x3ba2ad){const _0x466b2f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3ba2ad;for(const _0x296797 of _0x1e0161){const _0x47fb97=_0x466b2f['getRevision'](_0x296797['id']);if(_0x47fb97){if((_0x296797['fromVersion']||_0x296797['toVersion'])&&(_0x296797['diffData']=null),_0x47fb97===this['_revisionTracker']['currentRevision']){const _0x1f7a33=Math['max'](_0x47fb97['toVersion'],_0x296797['toVersion']),_0x1a324c=Math['max'](_0x47fb97['fromVersion'],_0x296797['fromVersion']);let _0x4672bd;_0x47fb97['toVersion']===_0x296797['toVersion']&&_0x47fb97['fromVersion']===_0x296797['fromVersion']?(_0x4672bd=!0x0,this['_preventResendingRevisionData'](_0x296797)):_0x296797['toVersion']===_0x1f7a33&&_0x296797['fromVersion']===_0x1a324c?_0x4672bd=!0x1:(_0x47fb97['toVersion']===_0x1f7a33&&_0x47fb97['fromVersion']===_0x1a324c||this['_fixRevision']({'revision':_0x47fb97,'from':_0x1a324c,'to':_0x1f7a33}),_0x4672bd=!0x0),_0x4672bd&&(delete _0x296797['fromVersion'],delete _0x296797['toVersion'],delete _0x296797['diffData'],delete _0x296797['createdAt'],delete _0x296797['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x296797),this['_preventResendingRevisionData'](_0x296797);}else this['_revisionTracker']['addRevisionData'](_0x296797);}const _0x212144=_0x466b2f['getRevisions']();_0x212144['reverse']();for(let _0x3fd9f6=0x0;_0x3fd9f6<_0x212144['length']-0x1;_0x3fd9f6++){const _0x25d846=_0x212144[_0x3fd9f6],_0x25a613=_0x212144[_0x3fd9f6+0x1];if(_0x25d846['fromVersion']<_0x25a613['toVersion']){const _0x533082=_0x25a613['toVersion'],_0x34d20b=Math['max'](_0x533082,_0x25d846['toVersion']);this['_fixRevision']({'revision':_0x25d846,'from':_0x533082,'to':_0x34d20b});}}}['_fixRevision']({revision:_0x4827d0,from:_0x710838,to:_0x1ca8b7}={}){const _0x1b527a=this['editor']['plugins']['get'](_0x1d83a7),_0x25e8da=this['_revisionTracker']['buildRevisionData']({'revision':_0x4827d0,'from':_0x710838,'to':_0x1ca8b7});_0x25e8da['authors']=_0x25e8da['authorsIds']['map'](_0x3c50f8=>_0x1b527a['getUser'](_0x3c50f8)),_0x4827d0['_update'](_0x25e8da);}['_preventResendingRevisionData'](_0x326297){const _0x46caa4={};_0x46caa4['id']=_0x326297['id'];for(const _0x2b4185 of Object['keys'](_0x326297))'id'!==_0x2b4185&&(_0x46caa4[_0x2b4185]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x46caa4['id'],_0x46caa4,!0x0);}async['_fetchMissingUsers'](_0x24eb16){const _0x339a50=this['editor']['plugins']['get'](_0x1d83a7),{connection:_0x47e00f}=this['editor']['plugins']['get'](n),_0x2ef23e=new Set();for(const _0x15655f of _0x24eb16){for(const _0x5aab58 of _0x15655f['authorsIds'])_0x473443(_0x5aab58);_0x15655f['creatorId']&&_0x473443(_0x15655f['creatorId']);}if(0x0===_0x2ef23e['size'])return;const _0x2382af=await ht['getMany'](_0x47e00f,Array['from'](_0x2ef23e));for(const _0x245742 of _0x2382af)_0x339a50['getUser'](_0x245742['id'])||_0x339a50['addUser'](_0x245742);function _0x473443(_0x53f97e){_0x339a50['getUser'](_0x53f97e)||_0x2ef23e['add'](_0x53f97e);}}}function st(_0x39be54){return _0x39be54['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x39be54['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x39be54['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x3332be{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class N extends _0x512b3c{['_collapseAt'];constructor(_0x87c68,_0x12b3b5=0x6){super(_0x87c68);const _0x3fae1a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x12b3b5,this['bind']('isHidden')['to'](this,'usersCount',_0x359fcd=>_0x359fcd<_0x12b3b5),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3fae1a['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':_0x3fae1a['to']('usersCount',_0x1d4d9f=>'+'+(_0x1d4d9f-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x512b3c{['items'];['keystrokes'];constructor(_0x358187){super(_0x358187);const _0x160548=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x45cc9b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x160548['if']('hasPopup'),'aria-expanded':_0x160548['to']('isExpanded',_0x26ce3b=>this['hasPopup']&&String(_0x26ce3b)),'aria-label':_0x160548['to']('hasPopup',_0x2e9966=>R(_0x358187,_0x2e9966?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x160548['to']('hasPopup',_0x303076=>!!_0x303076&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x160548['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x160548['to'](_0x4c3088=>{const _0x3032d9=_0x4c3088,_0x3eb32b=document['querySelector']('.ck-presence-list__dropdown-list'),_0x281689=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3eb32b?.['contains'](_0x3032d9['relatedTarget'])||_0x281689?.['contains'](_0x3032d9['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0xa1674a,_0x59afaa,_0x2c1b64)=>{this['element']&&(_0x2c1b64?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 q extends _0x512b3c{['counterView'];['inlineListView'];constructor(_0x48f538,_0x18b20c=0x6){super(_0x48f538);const _0x381196=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new N(this['locale'],_0x18b20c),this['inlineListView']=new is(_0x48f538),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2a2fd6 of this['inlineListView']['items'])_0x2a2fd6['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',_0x381196['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class z extends _0x512b3c{['listWrapperView'];constructor(_0xeafbe,_0x27e3cc){super(_0xeafbe);const _0x5eefbb=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0xeafbe,_0x27e3cc),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':R(_0xeafbe,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5eefbb['to'](_0x284952=>{const _0x5ab49b=_0x284952,_0x2a302b=document['querySelector']('.ck-presence-list__list'),_0x49f1ab=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2a302b?.['contains'](_0x5ab49b['relatedTarget'])||_0x49f1ab?.['contains'](_0x5ab49b['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x477aad{constructor(_0x56cf01,_0x268b42){super(_0x56cf01);const _0x25692a=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x268b42?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x25692a['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x25692a['to']('role'),'aria-label':_0x25692a['to']('ariaLabel'),'aria-labelledby':_0x25692a['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1b8319['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x20467c=this['element'];_0x20467c&&(this['_isScrollable']=Math['max'](_0x20467c['scrollHeight'],_0x20467c['clientHeight'])>0.8*window['innerHeight']);}}class B extends rt{['userView'];constructor(_0xf3108b,_0x419518,_0x2915a2){super(_0xf3108b);const _0x4a8e6c=this['bindTemplate'];this['userView']=new ct(_0xf3108b,_0x419518);const _0x4ae608={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x419518['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x419518['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x419518['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2915a2&&(_0x4ae608['tag']='button',_0x4ae608['on']={'click':_0x4a8e6c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4ae608);}['focus'](){this['element']['focus']();}}class H extends _0x512b3c{['userView'];['markerView'];constructor(_0x564b27,_0x1d49a9,_0x4934e2){super(_0x564b27);const _0x23f9f0=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x564b27,_0x1d49a9),this['markerView']=new MarkerView(_0x564b27,_0x1d49a9);const _0x37562e=new ot(_0x564b27);_0x37562e['template']['tag']='span',_0x37562e['text']=_0x1d49a9['name'];const _0x3d35bb={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x23f9f0['to']('isFocusable',_0x3d91de=>!!_0x3d91de&&0x0),'aria-labelledby':_0x37562e['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x23f9f0['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x23f9f0['to']('hasTooltip',_0x38ab5e=>!_0x38ab5e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x37562e]};_0x4934e2&&(_0x3d35bb['tag']='button',_0x3d35bb['on']={'click':_0x23f9f0['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d35bb);}}class MarkerView extends _0x512b3c{constructor(_0x201073,_0x1a0e1d){super(_0x201073),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1a0e1d['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const J={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3bdf57{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2348f4){super(_0x2348f4),this['context']['config']['define']('presenceList',J);const _0x2b1674=_0x2348f4['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2b1674)throw new _0x5d0ce2('presencelist-collapseat-invalid-format',this);if(_0x2b1674<0x1)throw new _0x5d0ce2('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x9d9df4(),this['balloonPanelView']=new _0x4371c1(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x4be74d of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4be74d);this['listenTo'](this['_allConnectedUsers'],'add',(_0x293e8b,_0x18b53a)=>{this['_handleUserAdd'](_0x18b53a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xd2088b,_0x49f1e3)=>{this['_handleUserRemove'](_0x49f1e3);});}['_createView'](){const _0x36c438=this['context'],_0x2f9f90=new q(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3afcba=this['balloonPanelView'];if(!_0x3063f7(_0x36c438['config']['get']('presenceList.container')))throw new _0x5d0ce2('presencelist-missing-container',this);return _0x2f9f90['counterView']['bind']('usersCount')['to'](this),_0x2f9f90['bind']('isCollapsed')['to'](this,'usersCount',_0x382519=>{const {collapseAt:_0x32e27f}=_0x36c438['config']['get']('presenceList'),_0x53901d=_0x382519>=_0x32e27f;if(_0x53901d&&!_0x2f9f90['inlineListView']['items']['find'](_0x9a6d49=>_0x9a6d49 instanceof N)){const _0x6090bb=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x6090bb&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2f9f90['inlineListView']['items']['add'](_0x2f9f90['counterView']);}return _0x53901d||this['hideDropdown'](),_0x53901d;}),_0x2f9f90['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x425ca4=>{const _0xadf46e=_0x36c438['config']['get']('presenceList'),_0x30c4b9=new H(_0x36c438['locale'],_0x425ca4,!!_0xadf46e['onClick']);return _0x30c4b9['bind']('hasTooltip')['to'](_0x2f9f90,'isCollapsed',_0x2fb0e0=>!_0x2fb0e0),_0x30c4b9['bind']('isFocusable')['to'](_0x2f9f90,'isCollapsed',_0x3e794b=>!_0x3e794b),_0xadf46e['onClick']&&this['listenTo'](_0x30c4b9,'execute',()=>{this['view']['isCollapsed']||_0xadf46e['onClick'](_0x425ca4,_0x30c4b9['element']);}),_0x30c4b9;}),this['listenTo'](_0x2f9f90['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2f9f90['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2f9f90['inlineListView']['keystrokes']['set']('Enter',(_0xce6258,_0x5e292d)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5e292d());}),_0x2f9f90['render'](),_0x3afcba['render'](),_0x2a979d({'emitter':_0x2f9f90,'activator':()=>_0x3afcba['isVisible'],'contextElements':[_0x3afcba['element'],_0x2f9f90['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x36c438['config']['get']('presenceList.container')['appendChild'](_0x2f9f90['element']),this['_bodyCollection']=new _0x2b3d32(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2f9f90;}['_handleUserAdd'](_0x41b07a){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x41b07a['isMe'])return;const _0x596e7c=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x596e7c-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4c683e=_0x41b07a['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x41b07a,_0x4c683e);}['_handleUserRemove'](_0x3934cb){this['usersCount']--;const {collapseAt:_0x18c347}=this['context']['config']['get']('presenceList'),_0x328e7d=this['usersCount']>=_0x18c347;if(this['currentDisplayedUsers']['get'](_0x3934cb['id']))this['currentDisplayedUsers']['remove'](_0x3934cb['id']);else{if(_0x328e7d&&this['currentDisplayedUsers']['length']+0x1===_0x18c347-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x328e7d?0x1:0x0)<this['usersCount']){for(const _0x91933b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x91933b['id'])&&(this['currentDisplayedUsers']['add'](_0x91933b,Math['min'](this['currentDisplayedUsers']['length']-(_0x328e7d?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x328e7d?0x1:0x0)===_0x18c347-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x25b84f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new z(this['context']['locale'],!!_0x25b84f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x282a36}=this['presenceDropdownView'];_0x282a36['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4638af=>{if(!_0x25b84f['displayMe']&&_0x4638af['isMe'])return null;const _0x3a6c6e=new B(this['context']['locale'],_0x4638af,!!_0x25b84f['onClick']);return _0x25b84f['onClick']&&this['listenTo'](_0x3a6c6e,'execute',()=>{_0x25b84f['onClick'](_0x4638af,_0x3a6c6e['element']);}),_0x3a6c6e;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x282a36['focus'](),_0x282a36['checkIfScrollable']();const _0x35256f=(_0x3346f8,_0x595934)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x595934();};_0x282a36['keystrokes']['set']('Esc',_0x35256f),_0x282a36['keystrokes']['set']('Shift+Tab',_0x35256f),_0x282a36['keystrokes']['set']('Tab',(_0x50e8c1,_0x256015)=>{!function(_0x4989ce){const _0x273628=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x40c637=>_0x40c637+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1737c1=[...document['body']['querySelectorAll'](_0x273628)]['filter'](_0x194362=>_0x194362===document['activeElement']||_0x194362['offsetWidth']+_0x194362['offsetHeight']>0x0)['sort']((_0x5f40be,_0x37f212)=>(_0x5f40be['tabIndex']||0x0)-(_0x37f212['tabIndex']||0x0)),_0x4c939d=_0x1737c1['indexOf'](_0x4989ce),_0x9d0e50=_0x1737c1[(_0x4c939d+0x1)%_0x1737c1['length']];_0x9d0e50&&_0x9d0e50['focus']();}(this['view']['element']),this['hideDropdown'](),_0x256015();}),_0x282a36['focusTracker']['add'](this['view']['element']),_0x282a36['focusTracker']['on']('change:isFocused',(_0x4e7fc2,_0x27beef,_0x223957)=>{_0x223957||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 PresenceList extends _0x3bdf57{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,i as Sessions,n 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':_0x488a09=>0x1!=_0x488a09}};
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':_0x559048=>0x1!=_0x559048}};