@ckeditor/ckeditor5-real-time-collaboration 48.3.0 → 48.3.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +13 -13
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Context as _0x313231,ContextPlugin as _0x221616,PendingActions as _0x766066,Plugin as _0x5f1cf5}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x50e9a5,Collection as _0x33f44f,DomEmitterMixin as _0x2f79df,KeystrokeHandler as _0x20ead0,global as _0x439457,uid as _0x470f23,version as _0x41d6e0}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x10bbaa,BodyCollection as _0x1807ae,LabelView as _0x1d152c,ListItemView as _0x53e056,ListView as _0x25af46,Notification as _0x1c3502,View as _0x35c92d,clickOutsideHandler as _0x78d497}from'@ckeditor/ckeditor5-ui';import{History as _0x3f6fe1,InsertOperation as _0x43440d,MarkerOperation as _0xb42fcd,ModelLiveRange as _0x3229fc,NoOperation as _0x4581f8,OperationFactory as _0x51b2ec,RootAttributeOperation as _0x4d3eb0,transformOperationSets as _0x398a9c}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x1682be}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x254adb,CommentsService as _0x81b75c,EditorService as _0x2e6152,RevisionHistoryService as _0x33def3,TrackChangesService as _0x4fa6f3,User as _0x4ada42,WEB_SOCKET_GATEWAY_STATES as _0x4e234c,WebSocketGateway as _0x3c6e33}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x5945f1,Users as _0xf7f8c7}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x2f5550}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x4adb42,TrackChangesEditing as _0x190ac6}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x49c2f5,CommentsEditing as _0x1afef8,CommentsRepository as _0x57d3f8}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x4ca2bb}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x551d97}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x221616{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x3c6e33)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x1682be,_0x1c3502];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1af8ea){super(_0x1af8ea),this['set']('state',_0x4e234c['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2f79df())();}['init'](){const _0x4d91d1=this['context'],_0x18c532=_0x4d91d1['plugins']['get'](_0x1682be),_0x4e5248=_0x4d91d1['plugins']['get'](_0x1c3502);if(!_0x18c532['token'])throw new _0x50e9a5('websocketgateway-missing-token',this);if(!_0x18c532['webSocketUrl'])throw new _0x50e9a5('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x18c532['token'],_0x18c532['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x12a4db=>{if(this['connection']=_0x12a4db,this['bind']('state')['to'](_0x12a4db,'state',this,'_isBrowserOffline',(_0x33aad3,_0xb2daa)=>('connected'!==_0x33aad3&&(this['_shouldPluginsReconnect']=!0x0),_0xb2daa||_0x33aad3!==_0x4e234c['CONNECTED']?_0x4e234c['DISCONNECTED']:this['state']==_0x4e234c['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4e234c['CONNECTING']):_0x4e234c['CONNECTED'])),this['connection']['on']('error',(_0x5835fc,_0x3e2042)=>{if('limitExceeded'!==_0x3e2042['code'])throw console['error'](_0x3e2042),new _0x50e9a5('cloudservices-init',null,{'originalError':_0x3e2042});_0x4e5248['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'});}),!_0x12a4db['me'])return new Promise(_0x2e7fd3=>_0x12a4db['on']('change:me',_0x2e7fd3));})['catch'](_0x1c2977=>{throw console['error'](_0x1c2977),new _0x50e9a5('cloudservices-init',null,{'originalError':_0x1c2977});});}['addToReconnectionStack'](_0xbf37e4){if('function'!=typeof _0xbf37e4['reconnect'])throw new _0x50e9a5('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xbf37e4))throw new _0x50e9a5('websocketgateway-plugin-already-registered',this,{'name':_0xbf37e4['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xbf37e4);}['removeFromReconnectionStack'](_0x37d7e4){this['_reconnectionStack']['delete'](_0x37d7e4);}['isInReconnectionStack'](_0x48a720){return this['_reconnectionStack']['has'](_0x48a720);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1b5086=>_0x1b5086['reconnect']())))['then'](()=>this['state']=_0x4e234c['CONNECTED'])['catch'](_0x56534e=>{throw console['error'](_0x56534e),new _0x50e9a5('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4e234c['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x221616{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[z,_0xf7f8c7];}constructor(_0x527670){super(_0x527670),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x33f44f(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0xf7f8c7);}['init'](){const _0xa605f6=this['context']['plugins']['get'](z);this['listenTo'](_0xa605f6,'change:state',(_0x5186cc,_0x484c0b,_0xcb5309)=>{if('connected'!==_0xcb5309)this['channelSessions']['forEach'](_0x291bf4=>_0x291bf4['clear']()),this['channelConnectedUsers']['forEach'](_0xf8c534=>_0xf8c534['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1d77cb,_0x15bbca]of this['_registeredSessions'])for(const _0x4fc207 of _0x15bbca)this['_handleSessionAdd'](_0x1d77cb,_0x4fc207);}}),this['_createUser'](_0xa605f6['connection']['me'],!0x0);}['register'](_0x4f2f15,_0x5b08fb){if(this['_registeredSessions']['has'](_0x4f2f15))throw new _0x50e9a5('sessions-register-already-registered',null,{'channelId':_0x4f2f15});this['_registeredSessions']['set'](_0x4f2f15,_0x5b08fb),this['channelSessions']['set'](_0x4f2f15,new _0x33f44f()),this['channelConnectedUsers']['set'](_0x4f2f15,new _0x33f44f()),this['listenTo'](_0x5b08fb,'add',(_0x182f34,_0xf9c460)=>this['_handleSessionAdd'](_0x4f2f15,_0xf9c460)),this['listenTo'](_0x5b08fb,'remove',(_0x28eb85,_0x5019ec)=>this['_handleSessionRemove'](_0x4f2f15,_0x5019ec));for(const _0x764b3c of _0x5b08fb)this['_handleSessionAdd'](_0x4f2f15,_0x764b3c);}['unregister'](_0x36ff1f){if(!this['_registeredSessions']['has'](_0x36ff1f))throw new _0x50e9a5('sessions-unregister-not-exist',null,{'channelId':_0x36ff1f});const _0x1761fd=this['_registeredSessions']['get'](_0x36ff1f);this['stopListening'](_0x1761fd);for(const _0x3dbfbd of _0x1761fd)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x36ff1f,_0x3dbfbd);this['_registeredSessions']['delete'](_0x36ff1f),this['channelSessions']['delete'](_0x36ff1f),this['channelConnectedUsers']['delete'](_0x36ff1f);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0xe423d9){for(const _0x48439d of this['channelSessions']['values']())for(const _0x5314e7 of _0x48439d)if(_0x5314e7['id']===_0xe423d9)return _0x5314e7['user'];}['getUserSessions'](_0x11d76f,_0x48134f){const _0x5dd702=_0x48134f?[this['channelSessions']['get'](_0x48134f)]:this['channelSessions']['values'](),_0x2f58fe=new Set();for(const _0x1a81c1 of _0x5dd702)for(const _0x6378e8 of _0x1a81c1)_0x6378e8['user']['id']===_0x11d76f['id']&&_0x2f58fe['add'](_0x6378e8['id']);return _0x2f58fe;}['getUserRole'](_0x2c1ae0){for(const _0x5ee461 of this['channelSessions']['values']())for(const _0x3ca901 of _0x5ee461)if(_0x3ca901['user']===_0x2c1ae0)return _0x3ca901['role'];}['_handleSessionAdd'](_0x16a844,_0xeb0b64){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x31f43c=_0xeb0b64['user'],_0x3ac546=this['_users']['getUser'](_0x31f43c['id'])||this['_createUser'](_0x31f43c),_0x53bce1=Object['assign']({},_0xeb0b64,{'user':_0x3ac546});if(this['channelSessions']['get'](_0x16a844)['add'](_0x53bce1),!_0x31f43c['hiddenInPresenceList']){const _0x2c9268=this['channelConnectedUsers']['get'](_0x16a844);_0x2c9268['has'](_0x3ac546['id'])||_0x2c9268['add'](_0x3ac546),this['allConnectedUsers']['has'](_0x3ac546['id'])||_0x31f43c['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3ac546,_0x3ac546['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x16a844,{'channelId':_0x16a844,'session':_0x53bce1});}['_handleSessionRemove'](_0x1c0be9,_0x501f4e){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x28d999=this['channelConnectedUsers']['get'](_0x1c0be9),_0x21f613=_0x501f4e['user'];_0x21f613['id']&&(this['channelSessions']['get'](_0x1c0be9)['remove'](_0x501f4e['id']),_0x28d999['has'](_0x21f613['id'])&&!this['getUserSessions'](_0x21f613,_0x1c0be9)['size']&&_0x28d999['remove'](_0x21f613['id']),this['allConnectedUsers']['get'](_0x21f613['id'])&&!this['getUserSessions'](_0x21f613)['size']&&this['allConnectedUsers']['remove'](_0x21f613['id']));}['_createUser'](_0x45592d,_0x24db02){const _0x3459bb=this['_users']['addUser'](_0x45592d);return _0x24db02&&this['_users']['defineMe'](_0x45592d['id']),_0x3459bb['orderNumber']=this['_uniqueUsersCount']++,_0x3459bb;}},K=class extends _0x5f1cf5{['_domEmitter']=new(_0x2f79df())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xb746a1=this['editor'],_0x5b2cb3=_0xb746a1['plugins']['get'](Y);_0xb746a1['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xcc54cb,{writer:_0x478687})=>function(_0x558c3c,_0x3141ef,_0x362f14,_0x382b9c){const _0x327bd8=_0x558c3c['markerName']['split'](':')[0x2],_0xb216e=_0x362f14['getUserBySessionId'](_0x327bd8);if(!_0xb216e||_0x327bd8===_0x362f14['mySessionId'])return;if(!_0x382b9c['model']['schema']['checkChild'](_0x558c3c['markerRange']['start'],'$text'))return;const _0x45af20={'class':'ck-user__marker\x20'+_0xb216e['color']['getMarkerClass'](),'style':Q(_0xb216e),'data-name':_0xb216e['name'],'data-session-id':_0x327bd8},_0x2d252a=_0x382b9c['model']['markers']['get'](_0x558c3c['markerName'])['getStart'](),_0x225358=_0x2d252a['nodeAfter'],_0x1aff38=_0x382b9c['model']['schema'];if(_0x225358&&_0x1aff38['isObject'](_0x225358)&&_0x1aff38['isInline'](_0x225358)&&!_0x382b9c['model']['markers']['get']('user:range:'+_0x327bd8)['getRange']()['isCollapsed'])return;const _0x39f034=_0x2d252a['parent'];return _0x382b9c['model']['schema']['isLimit'](_0x39f034)&&!_0x382b9c['model']['hasContent'](_0x39f034)&&(_0x45af20['contenteditable']=!0x1),function(_0x328a13,_0x4fb0f2,_0x29efc6){const _0x268c88=_0x328a13['createUIElement']('span',_0x4fb0f2);return _0x328a13['setCustomProperty']('userPositionMarker',!0x0,_0x268c88),_0x268c88['render']=function(_0x557db2){const _0x543285=this['toDomElement'](_0x557db2),_0x343a98=document['createElement']('span');return _0x343a98['classList']['add']('ck-user__marker-tooltip'),_0x343a98['setAttribute']('contenteditable','false'),_0x343a98['setAttribute']('spellcheck','false'),_0x343a98['textContent']=_0x29efc6['name'],_0x543285['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x343a98['outerHTML']+'⁠',_0x543285['addEventListener']('mouseenter',()=>{_0x543285['classList']['add']('ck-user__marker_hovered');}),_0x543285['addEventListener']('mouseleave',()=>{_0x543285['classList']['remove']('ck-user__marker_hovered');}),_0x543285;},_0x268c88['isSimilar']=function(_0x12e063){return!(!this['getCustomProperty']('userPositionMarker')||!_0x12e063['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x12e063['getAttribute']('data-session-id'));},_0x268c88;}(_0x3141ef,_0x45af20,_0xb216e);}(_0xcc54cb,_0x478687,_0x5b2cb3,_0xb746a1)}),_0xb746a1['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xdc86b3=>function(_0x560df0,_0x3eec57){const _0x342a10=_0x560df0['markerName']['split'](':')[0x2];if(_0x342a10===_0x3eec57['mySessionId'])return null;const _0x44f306=_0x3eec57['getUserBySessionId'](_0x342a10);return _0x44f306?{'id':_0x342a10,'classes':['ck-user__selection',_0x44f306['color']['getSelectionClass']()],'attributes':{'style':Q(_0x44f306),'data-session-id':_0x342a10},'priority':0x7d0+_0x44f306['orderNumber']}:{'id':_0x342a10,'classes':[]};}(_0xdc86b3,_0x5b2cb3)}),function(_0x4689b0){const _0x1383f8=_0x4689b0['model'],_0x1f131a=new Map(),_0x46e114=_0x4689b0['plugins']['get'](Y);_0x1383f8['markers']['on']('update:user:range',(_0x5dfd06,_0x19ccb9,_0x5ce2d4,_0x2a6183)=>{if(!_0x2a6183&&_0x1f131a['get'](_0x19ccb9['name']))return _0x1f131a['get'](_0x19ccb9['name'])['detach'](),void _0x1f131a['delete'](_0x19ccb9['name']);const _0x337028=_0x19ccb9['name']['split'](':')[0x2];if(_0x337028===_0x46e114['mySessionId'])return;const _0x399270='user:position:'+_0x337028;_0x1383f8['markers']['has'](_0x399270)&&_0x4689b0['editing']['reconvertMarker'](_0x399270),_0x19ccb9['on']('change:range',(_0x10b873,_0x112530,_0x35b0a6)=>{if('$graveyard'!=_0x112530['root']['rootName']&&'$graveyard'==_0x19ccb9['getRange']()['root']['rootName']&&!_0x1f131a['has'](_0x19ccb9['name'])){const _0x343549=_0x1383f8['schema']['getNearestSelectionRange'](_0x35b0a6['deletionPosition']);if(_0x343549){const _0x4a3f16=_0x3229fc['fromRange'](_0x343549);_0x1f131a['set'](_0x19ccb9['name'],_0x4a3f16),_0x4a3f16['on']('change:range',(_0x39981e,_0x45fee6,_0x5da234)=>{if('$graveyard'==_0x4a3f16['root']['rootName']){const _0xf69d64=_0x1383f8['schema']['getNearestSelectionRange'](_0x5da234['deletionPosition']);_0xf69d64?(_0x4a3f16['start']=_0xf69d64['start'],_0x4a3f16['end']=_0xf69d64['end']):(_0x1f131a['delete'](_0x19ccb9['name']),_0x4a3f16['detach']());}});}}});}),_0x1383f8['document']['on']('change',()=>{_0x1f131a['size']>0x0&&_0x1383f8['enqueueChange']({'isUndoable':!0x1},_0x441d92=>{for(const [_0x5d64a5,_0x1ad0ea]of _0x1f131a)'$graveyard'==_0x1383f8['markers']['get'](_0x5d64a5)['getRange']()['root']['rootName']&&(J(_0x5d64a5['split'](':')[0x2],_0x1ad0ea['toRange'](),_0x1383f8,_0x441d92),_0x1ad0ea['detach']());_0x1f131a['clear']();});});}(_0xb746a1),this['_domEmitter']['listenTo'](_0x439457['document'],'keydown',(_0x21d06a,{key:_0x3a90c8})=>{'Escape'===_0x3a90c8&&function(_0x10822c){_0x10822c['editing']['view']['change'](_0x241ec0=>{for(const _0x31f4a6 of _0x10822c['model']['markers']){if(!_0x31f4a6['name']['startsWith']('user:position'))continue;const _0x417e59=_0x10822c['editing']['mapper']['markerNameToElements'](_0x31f4a6['name']);if(_0x417e59){for(const _0x2ba340 of _0x417e59)_0x241ec0['removeClass']('ck-user__marker_hovered',_0x2ba340);}}});}(_0xb746a1);},{'useCapture':!0x0});}['afterInit'](){const _0xcd736a=this['editor'],_0x57665e=_0xcd736a['commands']['get']('undo');_0x57665e&&_0xcd736a['model']['on']('applyOperation',(_0x4550a8,_0xf1f4f7)=>{const _0x98e79c=_0xf1f4f7[0x0];if(!_0x98e79c['isDocumentOperation'])return;if('marker'!=_0x98e79c['type']||!_0x98e79c['name']['startsWith']('user:'))return;const _0x3aa13c=_0x98e79c['batch'];_0x57665e['_createdBatches']['has'](_0x3aa13c)&&(_0x98e79c['newRange']=_0x98e79c['oldRange']?_0xcd736a['model']['createRange'](_0x98e79c['oldRange']['start'],_0x98e79c['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x284123=this['editor'],_0x27b146=_0x284123['model']['document'],_0x574caa=_0x284123['plugins']['get'](Y);_0x284123['model']['enqueueChange']({'isUndoable':!0x1},_0x199420=>{const _0xbfe09f='user:range:'+_0x574caa['mySessionId'],_0x417f04='user:position:'+_0x574caa['mySessionId'],_0xb2649a=_0x284123['model']['markers']['has'](_0xbfe09f);_0x284123['editing']['view']['hasDomSelection']?J(_0x574caa['mySessionId'],_0x27b146['selection']['getFirstRange'](),_0x284123['model'],_0x199420):_0xb2649a&&(_0x199420['removeMarker'](_0xbfe09f),_0x199420['removeMarker'](_0x417f04));});}};function J(_0x2dec2f,_0x5480bf,_0x2bf831,_0x50b250){const _0x389533='user:range:'+_0x2dec2f,_0x4957b9='user:position:'+_0x2dec2f,_0x3f6dd0=_0x5480bf['getContainedElement']();let _0x10a8ef=_0x5480bf['start'];if(_0x3f6dd0&&_0x3f6dd0['is']('element','tableCell')){const _0x3c3451=function(_0x26256d,_0x41737d){for(const _0x3105ad of _0x26256d['getPositions']())if(_0x41737d['schema']['checkChild'](_0x3105ad,'$text'))return _0x3105ad;}(_0x5480bf,_0x2bf831);_0x3c3451&&(_0x10a8ef=_0x3c3451,_0x5480bf=_0x50b250['createRange'](_0x10a8ef));}const _0x205138=_0x50b250['createRange'](_0x10a8ef);_0x2bf831['markers']['has'](_0x389533)?(_0x50b250['updateMarker'](_0x389533,{'range':_0x5480bf}),_0x50b250['updateMarker'](_0x4957b9,{'range':_0x205138})):(_0x50b250['addMarker'](_0x389533,{'range':_0x5480bf,'usingOperation':!0x0}),_0x50b250['addMarker'](_0x4957b9,{'range':_0x205138,'usingOperation':!0x0}));}function Q(_0x3153da){return'--ck-user-color:'+_0x3153da['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3153da['color']['getColorAlphaVariable']()+';';}function X(_0x596843,_0x4ad949,_0x55198c){const _0x4df3f4=_0x596843['t'],t=_0x596843['t'];switch(_0x4ad949){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 _0x4df3f4({'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'},_0x55198c);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x5f1cf5{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x254adb)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x766066,_0xf7f8c7,_0x1c3502];}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 _0x36125b=this['serverHistory']['getOperations']();for(let _0x189e0a=_0x36125b['length']-0x1;_0x189e0a>=0x0;_0x189e0a--){const _0x383e4f=_0x36125b[_0x189e0a];if(!this['_disconnectionOperations']['has'](_0x383e4f))return _0x383e4f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x310625){if(super(_0x310625),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3f6fe1(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x50e9a5('collaboration-missing-channelid',this);const _0x51a9f7=_0x310625['config']['get']('cloudServices.bundleVersion')||_0x41d6e0;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x51a9f7,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2f5550(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}['init'](){const _0x13b901=this['editor'],_0x2d2b7c=_0x13b901['plugins']['get'](_0xf7f8c7),_0x23a3a1=_0x13b901['plugins']['get'](z);this['listenTo'](_0x2d2b7c,'getOperationAuthor',(_0x1d4f0a,_0x3599ac)=>{const _0x14c441=_0x3599ac[0x0];_0x14c441['_authorId']&&(_0x1d4f0a['return']=_0x2d2b7c['getUser'](_0x14c441['_authorId']),_0x1d4f0a['stop']()),null===_0x14c441['_authorId']&&(_0x1d4f0a['return']=null,_0x1d4f0a['stop']());},{'priority':'high'}),this['listenTo'](_0x13b901['model']['document']['selection'],'change:range',(_0x39b397,_0x141afd)=>{_0x141afd['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x13b901['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x13b901['model']['on']('applyOperation',(_0x2ef380,_0x13e2fe)=>{const _0x554f39=_0x13e2fe[0x0];_0x554f39['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x554f39),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x23a3a1,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x913db6,_0xf7147c,_0x276186)=>'connected'===_0x913db6&&!_0xf7147c&&!_0x276186),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x13b901['disableReadOnlyMode']('rtc-offline'):_0x13b901['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x13b901['disableReadOnlyMode']('rtc-offline'):_0x13b901['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x36a38a=this['editor']['plugins']['get'](Y),_0x503754=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x36a38a['unregister'](this['_channelId']);const _0x2f690a=await this['_service']['reconnect'](_0x503754['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x2f690a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3afccd=await this['_service']['getConnectedSessions']();_0x36a38a['register'](this['_channelId'],_0x3afccd),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x7400cf){if(function(_0x21f5f0){return'404'===_0x21f5f0['code'];}(_0x7400cf)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xd3a6c0){return'409'===_0xd3a6c0['code'];}(_0x7400cf)){const _0x39d829=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x39d829);}else{if(!(_0x7400cf instanceof et))throw _0x7400cf;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1bfbbf=this['editor']['plugins']['get'](z),_0x5a3696=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5a3696['channelSessions']['has'](this['_channelId'])&&_0x5a3696['unregister'](this['_channelId']),_0x1bfbbf['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x231b60){if(this['sessionId']!==_0x231b60['sessionId']&&this['_lastSyncedOperationId']!==_0x231b60['lastOperationId'])throw new et();return this['sessionId']=_0x231b60['sessionId'],this['_handleServerResponse']([],{..._0x231b60,'wereChangesApplied':!0x1,'data':_0x231b60['data']},'reconnect');}async['_connectService'](_0x400e33,_0x5ca336=!0x1){const {connection:_0x3ccfbb}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x3ccfbb,this['_channelId'])['then'](_0x5d2d6d=>this['_initSessionsHandling'](_0x5d2d6d))['catch'](_0x5882b6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5882b6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x272fd1,_0x12547e)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x12547e);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x2e1c4e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x400e33);this['_isPendingUpdate']=!0x0;const _0xf4b45c=await this['_service']['connect'](_0x3ccfbb,this['_compressOperations'](_0x400e33),_0x2e1c4e);if(this['sessionId']=_0xf4b45c['sessionId'],_0x5ca336){if(!_0xf4b45c['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xf4b45c['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x400e33,_0xf4b45c,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xf4b45c,_0x400e33);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x14659f=this['editor']['plugins']['get'](Y),_0x136cc3=this['editor']['plugins']['get'](K),_0x3a303b=_0x14659f['channelSessions']['get'](this['_channelId']);_0x3a303b&&_0x3a303b['length']>0x1?_0x136cc3['createUserMarkerOperations']():this['listenTo'](_0x14659f,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x14659f['channelSessions']['get'](this['_channelId'])['length']&&_0x136cc3['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x18ce20,_0x18fb7f,_0x489c1f,_0x435124){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x18fb7f){const _0x53dec7=this['_decompressOperations'](_0x489c1f,_0x435124);await this['_fetchMissingUsers'](_0x53dec7),this['_handleExternalOperations'](_0x53dec7,_0x18fb7f,_0x489c1f['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3f7954}=this['editor'];let _0x4e1d5c;try{_0x4e1d5c=await this['_service']['getDocumentDetails']();}catch{const _0x40eacf=X(_0x3f7954,'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'](_0x40eacf);}const _0x1b7439=_0x4e1d5c['currentDocumentSession']||_0x4e1d5c['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1b7439['lastOperationId']){const _0x58f294=X(_0x3f7954,'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'](_0x58f294);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x348ba8=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x348ba8['connection']||'connected'!==_0x348ba8['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x409172=this['editor']['plugins']['get'](Y);_0x409172['channelSessions']['has'](this['_channelId'])&&_0x409172['unregister'](this['_channelId']),_0x348ba8['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4e93ad){const _0x354acf=this['editor']['plugins']['get'](Y);this['listenTo'](_0x354acf,'sessionAdd:'+this['_channelId'],(_0x2d0485,{session:_0x43c70a})=>{if(_0x43c70a['id']===_0x354acf['mySessionId']){_0x2d0485['off']();const _0xd19c7b=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x17e3b4=_0x43c70a['permissions'];_0xd19c7b&&_0xd19c7b['isEnabled']&&(_0x17e3b4=_0x17e3b4['filter'](_0x41901b=>'document:write'!==_0x41901b)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x17e3b4,this['_channelId']);}}),_0x354acf['register'](this['_channelId'],_0x4e93ad);}['_initThrowingOnDataSet'](){const _0xc88ee1=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xf00c28)=>{if(!_0xf00c28[_0xf00c28['length']-0x1]['suppressErrorInCollaboration'])throw new _0x50e9a5('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xc88ee1['apply'](this['editor']['data'],_0xf00c28);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2216de,[_0x36938c])=>{if(this['_document']['version'])throw new _0x50e9a5('realtimecollaborationclient-init-document-already-initialized',this);_0x2216de['stop'](),this['_setPendingAction']();const _0x2e1d24=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x4d4d25])=>!_0x4d4d25['lazyLoad'])['map'](([_0x315b41,_0x4b8464])=>[_0x315b41,_0x4b8464['modelAttributes']||{}])),_0x290048=this['_getOperationsFromInitData'](_0x36938c,_0x2e1d24);0x0==_0x290048['length']&&_0x290048['push'](new _0x4581f8(0x0)),_0x2216de['return']=this['_connectService'](_0x290048)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3c884d=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3c884d))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x29ec7a,[_0x3eb3b5,_0x598c7e])=>{_0x29ec7a['stop']();const _0x375f6e=this['editor']['model']['document']['getRoot'](_0x3eb3b5);if(!this['_knownRootNames']['has'](_0x3eb3b5)){const _0x46f642=_0x598c7e&&_0x598c7e['data']?_0x598c7e['data']:'',_0x5e1225=_0x598c7e&&_0x598c7e['attributes']?_0x598c7e['attributes']:{};await this['_loadRoot'](_0x3eb3b5,_0x46f642,_0x5e1225);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x375f6e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x375f6e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x36e232){const _0x5b0d32=this['editor']['plugins']['get'](_0xf7f8c7),{connection:_0x29fa6a}=this['editor']['plugins']['get'](z),_0x13c67a=new Set();for(const _0x31547c of _0x36e232){const _0x5056c0=_0x31547c['_authorId'];_0x5056c0&&!_0x5b0d32['getUser'](_0x5056c0)&&_0x13c67a['add'](_0x5056c0);}if(0x0===_0x13c67a['size'])return;const _0x413a28=await _0x4ada42['getMany'](_0x29fa6a,Array['from'](_0x13c67a));for(const _0x450901 of _0x413a28)_0x5b0d32['getUser'](_0x450901['id'])||_0x5b0d32['addUser'](_0x450901);}['_getOperationsFromInitData'](_0x455a84,_0x886c47={}){const _0x1951b2=this['editor']['model'],_0x324cbb=[];let _0x24e111=0x0;const _0x5696ae='string'==typeof _0x455a84?{'main':_0x455a84}:_0x455a84;for(const _0x5880ad of Object['keys'](_0x5696ae)){if(!this['_document']['roots']['has'](_0x5880ad))throw new _0x50e9a5('realtimecollaborationclient-init-non-existent-root',this);const _0x35fa68=this['_document']['getRoot'](_0x5880ad),_0x3e2267=this['editor']['data']['parse'](_0x5696ae[_0x5880ad],_0x35fa68),_0x41ff62=new _0x43440d(_0x1951b2['createPositionAt'](_0x35fa68,0x0),_0x3e2267,_0x24e111++);_0x324cbb['push'](_0x41ff62);for(const [_0x4b2a8c,_0xd10657]of _0x3e2267['markers']){const _0xd17705=new _0xb42fcd(_0x4b2a8c,null,_0x1951b2['createRange'](_0x1951b2['createPositionFromPath'](_0x35fa68,_0xd10657['start']['path']['slice']()),_0x1951b2['createPositionFromPath'](_0x35fa68,_0xd10657['end']['path']['slice']())),_0x1951b2['markers'],!0x0,_0x24e111++);_0x324cbb['push'](_0xd17705);}}if(_0x886c47)for(const [_0x45d79a,_0x108a7e]of Object['entries'](_0x886c47)){const _0x5af8c0=_0x1951b2['document']['getRoot'](_0x45d79a);if(!_0x5af8c0)throw new _0x50e9a5('multi-root-editor-root-attributes-no-root',null);for(const [_0xc239c3,_0x23c212]of Object['entries'](_0x108a7e))if(null!==_0x23c212){const _0x43620d=new _0x4d3eb0(_0x5af8c0,_0xc239c3,null,_0x23c212,_0x24e111++);_0x324cbb['push'](_0x43620d);}}return _0x324cbb;}async['_loadRoot'](_0x310e9d,_0x534679,_0x55be39){this['_getOperationsFromInitData']({[_0x310e9d]:_0x534679},{[_0x310e9d]:_0x55be39})['forEach']((_0x14a0c1,_0x381376)=>{_0x14a0c1['baseVersion']=this['_document']['version']+_0x381376,_0x14a0c1['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x14a0c1);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3284a4,_0x36ebd1){let _0x3daa7c;this['_offset']=_0x3284a4['offset'];const _0x598cb6=_0x3284a4['wereChangesApplied']&&!_0x3284a4['initData'],_0x549126=_0x598cb6?0x0:_0x3284a4['data']['baseVersion'];if(_0x36ebd1['forEach'](_0x1cbc20=>{_0x1cbc20['_isInit']=!0x0,_0x1cbc20['createdAt']=_0x3284a4['sessionCreatedAt'],_0x1cbc20['_authorId']=null;}),_0x598cb6)_0x3daa7c=_0x36ebd1,this['_applyOperationsSet'](_0x3daa7c,_0x598cb6);else{if(_0x3284a4['initData']){const _0x1824ea=this['_getOperationsFromInitData'](_0x3284a4['initData']);this['_document']['history']['version']=-_0x1824ea['length'],_0x1824ea['forEach'](_0x15b014=>{_0x15b014['baseVersion']-=_0x1824ea['length'],_0x15b014['createdAt']=_0x3284a4['sessionCreatedAt'],_0x15b014['_isInit']=!0x0,_0x15b014['_authorId']=null;}),this['_applyOperationsSet'](_0x1824ea,!0x0),this['serverHistory']['version']=-_0x1824ea['length']+this['_offset'],this['_updateServerHistory'](_0x1824ea);}this['_document']['history']['version']=_0x549126,_0x3daa7c=this['_decompressOperations'](_0x3284a4['data'],_0x3284a4['metadata']),await this['_fetchMissingUsers'](_0x3daa7c),this['_applyOperationsSet'](_0x3daa7c,_0x598cb6);}_0x3284a4['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3daa7c,_0x3284a4['lastOperationId']),this['_lastSyncedOperationId']=_0x3284a4['lastOperationId']),this['serverHistory']['version']=_0x549126+this['_offset'],this['_updateServerHistory'](_0x3daa7c),_0x36ebd1['filter'](_0x37a849=>{const _0x4b005c=this['_getAffectedRoot'](_0x37a849);return _0x4b005c&&!this['_knownRootNames']['has'](_0x4b005c);})['forEach']((_0x1e93ca,_0x2f2b2c)=>{_0x1e93ca['baseVersion']=this['_document']['version']+_0x2f2b2c,this['_saveOperationInBuffer'](_0x1e93ca);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2fde59,_0x2443bb){const _0xdf87d4=_0x2443bb&&_0x2443bb['message'];if(_0xdf87d4&&_0xdf87d4['startsWith']('realtimecollaborationclient'))throw _0x2443bb;const _0x1ec2f7=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1ec2f7['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x50e9a5(_0x2fde59,this['editor'],_0xdf87d4?{'originalError':_0xdf87d4}:void 0x0);}['_saveOperationInBuffer'](_0x49c815){this['_knownOperations']['has'](_0x49c815)||(this['_knownOperations']['add'](_0x49c815),this['_bufferedOperations']['push'](_0x49c815),this['_pendingAction']||'marker'==_0x49c815['type']&&!_0x49c815['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x52abca=!0x1){!_0x52abca&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x184a95=>{_0x184a95&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x313813=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5e1c74){return _0x5e1c74['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5e1c74['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5e1c74['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x313813)||this['_crash'](_0x313813['message'],_0x313813);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x22cbd6=>{this['on']('change:_isPendingUpdate',()=>{_0x22cbd6();});});}async['_sendBufferedOperations'](){const _0x5560b9=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5560b9['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5d03ec=[...this['_bufferedOperations']];for(const _0x5eafb3 of _0x5d03ec)_0x5eafb3['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5eafb3);const _0x25705a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5d03ec),_0x3b0045=Z++,_0x5b1288=this['_compressOperations'](_0x5d03ec),_0x13e000=await this['_service']['sendOperations'](_0x5b1288,_0x5b1288['baseVersion'],_0x25705a);try{return await this['_handleServerResponse'](_0x5d03ec,_0x13e000,_0x3b0045);}catch(_0x1ef26c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1ef26c);}}async['_handleServerResponse'](_0x30c6a5,_0x4134e0,_0x1d96ff){if('error'in _0x4134e0)throw _0x4134e0['error'];let _0x17119c=!0x1;if(_0x4134e0['wereChangesApplied']){_0x4134e0['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4134e0['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4654f1=>!_0x30c6a5['includes'](_0x4654f1));for(const _0x5304dc of _0x30c6a5)_0x5304dc['createdAt']='lastOperationAcceptedAt'in _0x4134e0&&_0x4134e0['lastOperationAcceptedAt']||void 0x0;st(_0x30c6a5,_0x4134e0['version']-_0x30c6a5['length']),this['_updateServerHistory'](_0x30c6a5);const _0xe7dc86=_0x30c6a5['filter'](_0x547c95=>{if(!_0x547c95['_isInit'])return!0x1;const _0x2629e0=this['_getAffectedRoot'](_0x547c95);return _0x2629e0&&!this['_knownRootNames']['has'](_0x2629e0);});st(_0xe7dc86,this['_document']['version']),this['_applyOperationsSet'](_0xe7dc86),_0x17119c=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4451cb=this['_decompressOperations'](_0x4134e0['data'],_0x4134e0['metadata'])['filter'](_0x3c2bd=>_0x3c2bd['baseVersion']>=this['_lastServerVersion']);_0x4451cb['forEach'](_0x156554=>this['_addKnownRoot'](_0x156554)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x97d14a=>!_0x97d14a['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x97d14a))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4451cb),_0x17119c=this['_handleExternalOperations'](_0x4451cb,_0x4134e0['version'],_0x4134e0['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x17119c?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xd4a06e,_0x29eb5b,_0x4f18bb){try{const _0x111839={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x58312d,operationsB:_0x3fb1ee,originalOperations:_0x6bd947}=_0x398a9c(_0xd4a06e,this['_bufferedOperations'],_0x111839);st(_0x58312d,this['_document']['version']),st(_0x3fb1ee,_0x29eb5b);for(const _0x5f2133 of _0x58312d){const _0x4a9178=_0x6bd947['get'](_0x5f2133);_0x4a9178?(_0x5f2133['_authorId']=_0x4a9178['_authorId'],'noop'!==_0x5f2133['type']&&(_0x5f2133['_aiSource']=_0x4a9178['_aiSource'])):_0x5f2133['_authorId']=null;}for(const _0x5c6c21 of _0x3fb1ee)'noop'!==_0x5c6c21['type']&&(_0x5c6c21['_aiSource']=_0x6bd947['get'](_0x5c6c21)?.['_aiSource']);_0x4f18bb&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xd4a06e,_0x4f18bb),this['_lastSyncedOperationId']=_0x4f18bb),this['_bufferedOperations']=[..._0x3fb1ee],this['_applyOperationsSet'](_0x58312d),this['_updateServerHistory'](_0xd4a06e);}catch(_0x135fc6){return console['error'](_0x135fc6),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5d5e7f,_0x3916fd=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x421c7b=>{for(const _0x3d7cf5 of _0x5d5e7f)this['_knownOperations']['add'](_0x3d7cf5),this['_addKnownRoot'](_0x3d7cf5),_0x421c7b['batch']['addOperation'](_0x3d7cf5),this['editor']['model']['applyOperation'](_0x3d7cf5);});}['_addKnownRoot'](_0xdf7f08){const _0x45195d=this['_getAffectedRoot'](_0xdf7f08);_0x45195d&&this['_knownRootNames']['add'](_0x45195d);}['_getAffectedRoot'](_0x801787){let _0x488813,_0x437573;switch(_0x801787['type']){case'insert':_0x488813=_0x801787['position']['root'];break;case'marker':if(_0x437573=_0x801787['newRange'],!_0x437573)return null;_0x488813=_0x437573['root'];break;case'addRootAttribute':_0x488813=_0x801787['root'];break;case'addRoot':_0x488813=_0x801787['affectedSelectable'];break;case'move':_0x488813=_0x801787['targetPosition']['root'];break;default:return null;}return _0x488813['rootName'];}['_updateServerHistory'](_0x4bc2e5){_0x4bc2e5['forEach'](_0x33548f=>{const _0x227939=_0x33548f['clone']();_0x227939['_authorId']=_0x33548f['_authorId'],_0x227939['_isInit']=!!_0x33548f['_isInit'],_0x227939['_aiSource']=_0x33548f['_aiSource'],_0x227939['createdAt']=_0x33548f['createdAt'],_0x227939['baseVersion']+=this['_offset'],_0x33548f['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x227939),this['serverHistory']['addOperation'](_0x227939);});}['_handleReconnectionError'](_0x4627ce){const _0x18079f=this['editor']['plugins']['get']('Notification'),_0x2d7174=this['editor']['locale'];_0x4627ce||(_0x4627ce=X(_0x2d7174,'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.')),_0x18079f['showWarning'](_0x4627ce,{'title':X(_0x2d7174,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x766066)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x766066)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2e9517){const _0x4ac241=_0x2e9517['map'](_0x24214e=>_0x24214e['toJSON']());return this['_compressor']['compress'](_0x4ac241);}['_decompressOperations'](_0x207f1b,_0x529248){return this['_compressor']['decompress'](_0x207f1b)['map']((_0xb4c9a3,_0x33f5dd)=>{const _0x2c6ba1='init'==_0x529248[_0x33f5dd]['type'];if('InsertOperation'==_0xb4c9a3['__className']){const _0x3c871e=_0xb4c9a3['position']['root'];!this['_document']['getRoot'](_0x3c871e)&&(this['_document']['createRoot']('$unknown',_0x3c871e)['_isAttached']=!0x1);}else{if('RootOperation'==_0xb4c9a3['__className']){const _0x1919d1=this['_document']['getRoot'](_0xb4c9a3['rootName']);_0x1919d1&&'$unknown'==_0x1919d1['name']&&_0xb4c9a3['elementName']!=_0x1919d1['name']&&(_0x1919d1['name']=_0xb4c9a3['elementName']);}}const _0x5e59bf=_0x51b2ec['fromJSON'](_0xb4c9a3,this['_document']);return _0x5e59bf['wasUndone']=_0xb4c9a3['wasUndone'],_0x5e59bf['_isInit']=_0x2c6ba1,_0x5e59bf['_authorId']=_0x2c6ba1?null:_0x529248[_0x33f5dd]['userId'],_0x5e59bf['_isDisconnection']='cs:removeUser'===_0x529248[_0x33f5dd]['type'],_0x5e59bf['_aiSource']=_0xb4c9a3['_aiSource']||void 0x0,_0x5e59bf['createdAt']=_0x529248[_0x33f5dd]['createdAt'],_0x5e59bf;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x14c04c=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x14c04c&&_0x14c04c['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x1ef8c0,_0x41647f){for(const _0x54c717 of _0x1ef8c0)_0x54c717['baseVersion']=_0x41647f++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x523aab){this['_ignoredOperations']=_0x523aab,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5072c6){let _0x61a94b=_0x5072c6['length'];for(;_0x61a94b--;){const _0xef14af=_0x5072c6[_0x61a94b];if(!this['_ignoredOperations']['has'](_0xef14af)){if(!this['_operationToId']['has'](_0xef14af)){const _0x543abb=_0x470f23()['slice'](0x1,0x12);this['_operationToId']['set'](_0xef14af,_0x543abb);}return this['_operationToId']['get'](_0xef14af);}}}['setIdForTheLastOperation'](_0x423e06,_0x42426b){if(!_0x42426b)return;let _0x4f5816=_0x423e06['length'];for(;_0x4f5816--;){const _0x12afff=_0x423e06[_0x4f5816];this['_ignoredOperations']['has'](_0x12afff)||this['_operationToId']['set'](_0x12afff,_0x42426b);}}},nt=class extends _0x5f1cf5{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x221616{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x81b75c)());['_services'];static get['requires'](){return[z,_0x57d3f8,Y,_0xf7f8c7];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe85c30){super(_0xe85c30),this['_services']=new Map();}async['init'](){const _0x2e8849=this['context'],_0x3e6676=_0x2e8849['plugins']['get'](_0x57d3f8);if(_0x2e8849['plugins']['get'](z)['addToReconnectionStack'](this),_0x3e6676['adapter']={'addCommentThread':async({channelId:_0x18578b,threadId:_0x5d7b7d,comments:_0x1cd691,resolvedAt:_0x169529,resolvedBy:_0x8611bb,context:_0x56b7c2,attributes:_0x2dbd79})=>{const _0x11bd07=await this['_getService'](_0x18578b)['addCommentThread']({'commentThreadId':_0x5d7b7d,'comments':_0x1cd691['map'](_0x354350=>function(_0x1f8980,_0x2d1a88,_0x3b80ed){return{'commentThreadId':_0x3b80ed,'commentId':_0x1f8980['commentId'],'userId':_0x1f8980['authorId'],'content':_0x1f8980['content'],'documentId':_0x2d1a88,'createdAt':_0x1f8980['createdAt'],'attributes':_0x1f8980['attributes']||{}};}(_0x354350,_0x18578b,_0x5d7b7d)),'resolvedAt':_0x169529,'resolvedBy':_0x8611bb,'context':_0x56b7c2,'attributes':_0x2dbd79})['catch'](ct);return{'threadId':_0x11bd07['commentThreadId'],'comments':_0x11bd07['comments']};},'getCommentThread':async({channelId:_0x372bc8,threadId:_0x2e5008})=>{const _0x2d6ba4=await this['_getService'](_0x372bc8)['getCommentThread'](_0x2e5008)['catch'](rt)['catch'](ct);return _0x2d6ba4?_0x2d6ba4['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2d6ba4]),{'threadId':_0x2d6ba4['commentThreadId'],'comments':_0x2d6ba4['comments']['map'](at),'context':_0x2d6ba4['context'],'resolvedAt':_0x2d6ba4['resolvedAt'],'resolvedBy':_0x2d6ba4['resolvedBy'],'attributes':_0x2d6ba4['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x52a6fa,threadId:_0xb13384,context:_0x5a2139,unlinkedAt:_0x28d437,attributes:_0x400253})=>this['_getService'](_0x52a6fa)['updateCommentThread']({'commentThreadId':_0xb13384,'context':_0x5a2139,'attributes':_0x400253,'unlinkedAt':_0x28d437})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x377b47,threadId:_0x53ac04})=>{const _0x53dd41=await this['_getService'](_0x377b47)['resolveCommentThread'](_0x53ac04)['catch'](rt)['catch'](ct);return{'threadId':_0x53dd41['commentThreadId'],'resolvedAt':_0x53dd41['resolvedAt'],'resolvedBy':_0x53dd41['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2c2650,threadId:_0x140c1c})=>this['_getService'](_0x2c2650)['reopenCommentThread'](_0x140c1c)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0xc26127,threadId:_0x115698})=>this['_getService'](_0xc26127)['removeCommentThread'](_0x115698)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x11ec92,threadId:_0x26495b,commentId:_0x2bebdc,content:_0x5496d4,attributes:_0x45c8d7})=>this['_getService'](_0x11ec92)['addComment'](_0x26495b,_0x2bebdc,_0x5496d4,_0x45c8d7)['catch'](ct),'updateComment':({channelId:_0x2702c0,threadId:_0x1d18f4,commentId:_0x246f1b,content:_0x27312a,attributes:_0x302932})=>this['_getService'](_0x2702c0)['updateComment'](_0x1d18f4,_0x246f1b,_0x27312a,_0x302932)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x5df528,threadId:_0x20af12,commentId:_0x22ddcf})=>this['_getService'](_0x5df528)['removeComment'](_0x20af12,_0x22ddcf)['catch'](rt)['catch'](ct)},_0x2e8849 instanceof _0x313231){const _0x51a829=_0x2e8849['config']['get']('collaboration.channelId'),_0x25c256=_0x2e8849['plugins']['get'](Y);await this['_setUpService'](_0x51a829);const _0x1c9246=await this['_services']['get'](_0x51a829)['getConnectedSessions']();this['listenTo'](_0x25c256,'sessionAdd:'+_0x51a829,(_0x1b82b4,{session:_0x1e95b1})=>{_0x1e95b1['id']===_0x25c256['mySessionId']&&(_0x1b82b4['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1e95b1['permissions'],_0x51a829));}),_0x25c256['register'](_0x51a829,_0x1c9246);}}async['_setUpService'](_0x1ca1f2){if(this['_services']['has'](_0x1ca1f2))throw new _0x50e9a5('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1ca1f2});const _0x22a2fa=this['context']['plugins']['get'](_0x57d3f8),_0x27b610=new CloudServicesCommentsAdapter['CommentsService'](_0x1ca1f2);this['_services']['set'](_0x1ca1f2,_0x27b610),this['listenTo'](_0x27b610,'commentThreadAdded',(_0x27a2ec,_0x5e67e7)=>{const {commentThreadId:_0x54d5ea,documentId:_0x291754,context:_0x27057,attributes:_0x1e7edf,resolvedAt:_0x49c56d,resolvedBy:_0x1ae056,comments:_0x135bab}=_0x5e67e7;_0x22a2fa['getCommentThread'](_0x54d5ea)||_0x22a2fa['addCommentThread']({'threadId':_0x54d5ea,'channelId':_0x291754,'comments':_0x135bab?_0x135bab['map'](at):[],'context':_0x27057,'attributes':_0x1e7edf,'resolvedAt':_0x49c56d,'resolvedBy':_0x1ae056,'isFromAdapter':!0x0});}),this['listenTo'](_0x27b610,'commentThreadUpdated',(_0xfc05fc,{commentThreadId:_0x18a75c,documentId:_0x6a8d9a,context:_0x485e08,unlinkedAt:_0xaba44f,attributes:_0x2f5120})=>{_0x22a2fa['getCommentThread'](_0x18a75c)&&_0x22a2fa['updateCommentThread']({'threadId':_0x18a75c,'channelId':_0x6a8d9a,'context':_0x485e08,'unlinkedAt':_0xaba44f,'attributes':_0x2f5120,'isFromAdapter':!0x0});}),this['listenTo'](_0x27b610,'commentThreadResolved',(_0x42cc16,{commentThreadId:_0x226df5,resolvedBy:_0x256a6c,resolvedAt:_0x2f5085})=>{const _0x4c53d7=_0x22a2fa['getCommentThread'](_0x226df5);_0x4c53d7&&_0x4c53d7['resolve']({'resolvedBy':_0x256a6c,'resolvedAt':_0x2f5085,'isFromAdapter':!0x0});}),this['listenTo'](_0x27b610,'commentThreadReopened',(_0x4fefca,{commentThreadId:_0x11ad44})=>{const _0x5a8125=_0x22a2fa['getCommentThread'](_0x11ad44);_0x5a8125&&_0x5a8125['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x27b610,'commentThreadRemoved',(_0x40b8e2,{commentThreadId:_0x17b3d5})=>{const _0x492868=_0x22a2fa['getCommentThread'](_0x17b3d5);_0x492868&&_0x492868['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x27b610,'commentAdded',(_0x5e3bf2,_0x5b431d)=>{const _0x43a41f=_0x5b431d['commentThreadId'],_0x15a324=_0x22a2fa['getCommentThread'](_0x43a41f);_0x15a324&&_0x15a324['addComment']({...at(_0x5b431d),'isFromAdapter':!0x0});}),this['listenTo'](_0x27b610,'commentUpdated',(_0x188e69,{commentThreadId:_0x1e146d,commentId:_0x38f40a,content:_0x3e06a8,attributes:_0x590683})=>{const _0x112a29=_0x22a2fa['getCommentThread'](_0x1e146d);if(_0x112a29){const _0x344eaf=_0x112a29['getComment'](_0x38f40a);_0x344eaf&&_0x344eaf['update']({'content':_0x3e06a8,'attributes':_0x590683,'isFromAdapter':!0x0});}}),this['listenTo'](_0x27b610,'commentRemoved',(_0x1427ba,{commentThreadId:_0xc418a8,commentId:_0x2cd3b3})=>{const _0x2fcff1=_0x22a2fa['getCommentThread'](_0xc418a8);if(_0x2fcff1){const _0x1a2f46=_0x2fcff1['getComment'](_0x2cd3b3);_0x1a2f46&&_0x1a2f46['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x27b610,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x1ca1f2),this['stopListening'](_0x27b610));}),await this['_connectService'](_0x1ca1f2);}['destroy'](){if(this['context']instanceof _0x313231){const _0xdfa3a0=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0xdfa3a0)&&this['_terminateService'](_0xdfa3a0);}}['_terminateService'](_0x3e332d){if(!this['_services']['has'](_0x3e332d))throw new _0x50e9a5('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3e332d});this['_getService'](_0x3e332d)['disconnect'](),this['_services']['delete'](_0x3e332d);}async['reconnect'](){for(const _0x3fdda0 of this['_services']['keys']())await this['_connectService'](_0x3fdda0);if(this['context']instanceof _0x313231){const _0x384ef3=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x384ef3)){const _0x5c71f7=this['context']['plugins']['get'](Y);_0x5c71f7['unregister'](_0x384ef3);const _0x47fadc=await this['_services']['get'](_0x384ef3)['getConnectedSessions']();_0x5c71f7['register'](_0x384ef3,_0x47fadc);}}}async['_connectService'](_0x560dbc){const {connection:_0x590bf6}=this['context']['plugins']['get'](z),_0x3c891d=this['context']['plugins']['get'](_0x57d3f8),_0x4b1df0=await this['_services']['get'](_0x560dbc)['connect'](_0x590bf6);await this['_fetchMissingUsersForThreads'](_0x4b1df0);const _0x27f09e=new Set(Array['from'](_0x3c891d['getCommentThreads']({'channelId':_0x560dbc}),_0x483f2d=>_0x483f2d['id']));for(const _0x2c2f2f of _0x4b1df0)_0x2c2f2f['deletedAt']||_0x27f09e['delete'](_0x2c2f2f['commentThreadId']);for(const _0x11b421 of _0x27f09e)_0x3c891d['getCommentThread'](_0x11b421)['remove']({'isFromAdapter':!0x0});for(const _0x48fd74 of _0x4b1df0){let _0x46aa93=_0x3c891d['getCommentThread'](_0x48fd74['commentThreadId']);const {commentThreadId:_0x69467b,context:_0x3f293a,attributes:_0x422e44,resolvedBy:_0x1c85da,resolvedAt:_0x337f4d,unlinkedAt:_0xe2db92,deletedAt:_0x182d79}=_0x48fd74;if(_0x182d79)continue;_0x46aa93||(_0x46aa93=_0x3c891d['addCommentThread']({'channelId':_0x560dbc,'threadId':_0x69467b,'context':_0x3f293a,'attributes':_0x422e44||{},'resolvedBy':_0x1c85da,'resolvedAt':_0x337f4d,'unlinkedAt':_0xe2db92,'isFromAdapter':!0x0}));const _0x4ab3ce=new Set(Array['from'](_0x46aa93['comments'],_0x338f71=>_0x338f71['id']));for(const _0x31011c of _0x48fd74['comments'])_0x4ab3ce['delete'](_0x31011c['commentId']);for(const _0x2a9b5c of _0x4ab3ce)_0x46aa93['getComment'](_0x2a9b5c)['remove']({'isFromAdapter':!0x0});for(const _0x2d3ba6 of _0x48fd74['comments']){const _0x6e805d=_0x46aa93['getComment'](_0x2d3ba6['commentId']);_0x6e805d?_0x6e805d['content']!==_0x2d3ba6['content']&&_0x6e805d['update']({'content':_0x2d3ba6['content'],'isFromAdapter':!0x0}):_0x46aa93['addComment'](Object['assign'](at(_0x2d3ba6),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5d053f){if(!this['_services']['has'](_0x5d053f))throw new _0x50e9a5('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5d053f});return this['_services']['get'](_0x5d053f);}async['_fetchMissingUsersForThreads'](_0x56db02){const _0x23d4b3=this['context']['plugins']['get'](_0xf7f8c7),{connection:_0x28bd0d}=this['context']['plugins']['get'](z),_0xfc9694=new Set();for(const {resolvedBy:_0x37a154,comments:_0x525ba3}of _0x56db02){_0x37a154&&!_0x23d4b3['getUser'](_0x37a154)&&_0xfc9694['add'](_0x37a154);for(const {userId:_0x3907c4}of _0x525ba3)_0x23d4b3['getUser'](_0x3907c4)||_0xfc9694['add'](_0x3907c4);}if(0x0===_0xfc9694['size'])return;const _0x1675e9=await _0x4ada42['getMany'](_0x28bd0d,Array['from'](_0xfc9694));for(const _0x1a17b2 of _0x1675e9)_0x23d4b3['getUser'](_0x1a17b2['id'])||_0x23d4b3['addUser'](_0x1a17b2);}};async function rt(_0xc1243d){if('404'!==_0xc1243d['code'])throw _0xc1243d;}function ct(_0x16c187){if((_0x1ed930=_0x16c187)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1ed930['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1ed930['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1ed930;throw _0x16c187;}function at(_0x483f7e){return{'threadId':_0x483f7e['commentThreadId'],'commentId':_0x483f7e['commentId'],'content':_0x483f7e['content'],'createdAt':_0x483f7e['createdAt'],'authorId':_0x483f7e['userId'],'attributes':_0x483f7e['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x5f1cf5{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x4fa6f3)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x190ac6,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x161f22){super(_0x161f22);const _0x3cc9eb=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x3cc9eb);}['init'](){const _0xb44f2=this['editor']['plugins']['get'](z),_0x62e9c4=this['editor']['plugins']['get'](_0x190ac6);return _0x62e9c4['adapter']={'getSuggestion':async _0x5c51e7=>{await this['_waitForServiceReady']();const _0x518d79=await this['_trackChangesService']['get'](_0x5c51e7)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x518d79]),_0x518d79;},'addSuggestion':async({id:_0x4a1afa,type:_0x81e06a,data:_0x5f173c,originalSuggestionId:_0x400c69,attributes:_0x1d8972})=>{await this['_waitForServiceReady']();const _0x53f6bf={'id':_0x4a1afa,'type':_0x81e06a,'data':_0x5f173c,'originalSuggestionId':_0x400c69,'attributes':_0x1d8972},_0x273241=await this['_trackChangesService']['add'](_0x4a1afa,_0x81e06a,_0x5f173c,_0x400c69,_0x1d8972)['catch'](_0x22fd80=>{if(dt(_0x22fd80))return new Promise(_0x2e4f2f=>{this['_bufferedRequests']['set'](_0x4a1afa,{'resolve':_0x2e4f2f,'suggestionData':_0x53f6bf});});throw _0x22fd80;});return this['_bufferedRequests']['delete'](_0x4a1afa),_0x273241;},'updateSuggestion':async(_0x3432ca,_0x119c21)=>{if(await this['_waitForServiceReady'](),'open'!==_0x119c21['state'])return this['_trackChangesService']['update'](_0x3432ca,_0x119c21)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x33c694,_0x2fcb55)=>{_0x62e9c4['hasSuggestion'](_0x2fcb55['id'])&&(_0x62e9c4['getSuggestion'](_0x2fcb55['id'])['attributes']=_0x2fcb55['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0xb44f2['connection']?.['state']&&(_0xb44f2['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0xb44f2['connection'])['then'](_0x41be81=>(_0xb44f2['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x41be81)['then'](()=>{for(const _0x10f993 of _0x41be81){_0x62e9c4['addSuggestionData'](_0x10f993)['_saved']=!0x0;}})));}async['reconnect'](){const _0x64abce=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4cbab1}=this['editor']['plugins']['get'](z),_0x362b5a=await this['_trackChangesService']['connect'](_0x4cbab1);await this['_fetchMissingUsersForThreads'](_0x362b5a);for(const {suggestionData:_0x53e571,resolve:_0x463dee}of this['_bufferedRequests']['values']()){let _0x1ea07f=_0x362b5a['find'](_0x10b38=>_0x10b38['id']===_0x53e571['id']);_0x1ea07f||(_0x1ea07f=await this['_trackChangesService']['add'](_0x53e571['id'],_0x53e571['type'],_0x53e571['data'],_0x53e571['originalSuggestionId'])),_0x463dee(_0x1ea07f);}for(const _0x3956e4 of _0x362b5a)_0x64abce['hasSuggestion'](_0x3956e4['id'])||_0x64abce['addSuggestionData'](_0x3956e4);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x36eaf8=>{this['listenTo'](this['_trackChangesService'],'connected',_0x508e31=>{_0x508e31['off'](),_0x36eaf8();});});}async['_fetchMissingUsersForThreads'](_0x10243b){const _0x5adca1=this['editor']['plugins']['get'](_0xf7f8c7),{connection:_0x402b5f}=this['editor']['plugins']['get'](z),_0x28a309=new Set();for(const {authorId:_0x52d541}of _0x10243b)_0x5adca1['getUser'](_0x52d541)||_0x28a309['add'](_0x52d541);if(0x0===_0x28a309['size'])return;const _0x18a6a7=await _0x4ada42['getMany'](_0x402b5f,Array['from'](_0x28a309));for(const _0x1bff3b of _0x18a6a7)_0x5adca1['getUser'](_0x1bff3b['id'])||_0x5adca1['addUser'](_0x1bff3b);}};function lt(_0x11d347){if(dt(_0x11d347))return new Promise(()=>{});throw _0x11d347;}function dt(_0x37ffd6){return _0x37ffd6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x37ffd6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x5f1cf5{static get['requires'](){return[_0x49c2f5,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x19cbb1=this['editor']['plugins']['get'](z),_0x55ad88=this['editor']['plugins']['get'](_0x1afef8),_0x3e9338=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x19cbb1,'change:state',(_0x209769,_0x4560c2,_0x5edbd5)=>{_0x55ad88['isThreadsLoadingPaused']='connected'!==_0x5edbd5;});}),this['listenTo'](_0x19cbb1,'change:state',(_0x229ebc,_0x6cd21f,_0x5872b0)=>{this['editor']['plugins']['get'](_0x57d3f8)['switchReadOnly']('connected'!==_0x5872b0);}),_0x3e9338['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x270c81=this['editor']['plugins']['get'](ot),_0x1b5389=this['editor']['config']['get']('collaboration.channelId');_0x270c81['_services']['has'](_0x1b5389)&&_0x270c81['_terminateService'](_0x1b5389),super['destroy']();}},ft=class extends _0x5f1cf5{static get['requires'](){return[ut,ht,_0x4adb42];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x5f1cf5{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x33def3)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x4ca2bb,Y,_0xf7f8c7];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x27d0ea){super(_0x27d0ea);const _0x5b9ccf=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x5b9ccf);}async['init'](){const _0x32da28=this['editor']['plugins']['get'](tt),_0x327ebb=_0x32da28['serverHistory'],_0x2edb65=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x327ebb,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x32da28['sessionId']});const _0x218fba=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x41d6e0,_0x1c51ba=await _0x2e6152['isBundleUploaded'](_0x2edb65['connection'],_0x218fba);this['editor']['plugins']['get'](_0x4ca2bb)['adapter']={'getRevision':async({revisionId:_0x3d29fa})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x3d29fa)),'updateRevisions':async _0x55aa37=>{await this['_waitForServiceReady']();const _0x1ffa18=this['_revisionTracker']['currentRevision'];if(_0x1c51ba&&0x1===_0x55aa37['length']&&_0x55aa37[0x0]['id']===_0x1ffa18['id'])return _0x55aa37;for(const _0x23a46b of _0x55aa37)_0x23a46b['id']===_0x1ffa18['id']&&(_0x23a46b['isEmptyCurrent']=_0x23a46b['fromVersion']===_0x23a46b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x55aa37,this['_lastRequestId'])['then'](_0x58e55d=>(this['_lastRequestId']=_0x58e55d,_0x55aa37))['catch'](_0x40e62d=>{if(pt(_0x40e62d)||'400'===_0x40e62d['code']&&void 0x0!==_0x40e62d['data']['wrongRequestId']){for(const _0x2fad60 of _0x55aa37)this['_revisionTracker']['repository']['getRevision'](_0x2fad60['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x2fad60['id'],_0x2fad60,!0x1);if(pt(_0x40e62d)&&'destroyed'!==this['editor']['state'])throw _0x40e62d;return _0x55aa37;}throw _0x40e62d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1556b6,{revisionsData:_0x2bcd41,requestId:_0x531f57})=>{Math['max'](..._0x2bcd41['map'](_0xadac7e=>_0xadac7e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2bcd41,_0x531f57);}):this['_handleRevisionsUpdate'](_0x2bcd41,_0x531f57);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x2edb65['connection']?.['state']&&(_0x2edb65['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x5d2d74,requestId:_0x1ccff7}=await this['_revisionHistoryService']['connect'](_0x2edb65['connection']);_0x2edb65['addToReconnectionStack'](this),this['_lastRequestId']=_0x1ccff7,await this['_fetchMissingUsers'](_0x5d2d74);for(const _0x4282cf of _0x5d2d74)this['_revisionTracker']['addRevisionData'](_0x4282cf);this['listenTo'](_0x32da28,'change:_isConnected',(_0xd8fc93,_0x52a5ec,_0x3458f9)=>{_0x3458f9&&(this['_oldOffset']=_0x32da28['_offset'],_0xd8fc93['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x4b65e1=this['editor']['plugins']['get'](z),_0x3b7775=this['editor']['plugins']['get'](tt),_0x3f8a4f=async()=>{const _0x4e399e=this['_revisionTracker']['currentRevision'],_0x4c851c=_0x4e399e['id'],_0x116445=_0x4c851c!==_0x3b7775['sessionId'];if(_0x116445){const _0x365bf6=_0x3b7775['_offset']-this['_oldOffset'],_0x934356=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x4e399e['toVersion']+_0x365bf6!==_0x934356){const _0x51f095=_0x4e399e['fromVersion']+_0x365bf6,_0xd6d73e=this['editor']['plugins']['get'](_0xf7f8c7),_0xbe8c5a=this['_revisionTracker']['buildRevisionData']({'revision':_0x4e399e,'from':_0x51f095,'to':_0x934356});_0xbe8c5a['id']=_0x4e399e['id'];const _0x390a94=_0xbe8c5a['authorsIds']['map'](_0x5ded80=>_0xd6d73e['getUser'](_0x5ded80));_0x4e399e['_update']({..._0xbe8c5a,'authors':_0x390a94},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4e399e['id'],_0xbe8c5a,!0x0);}this['_revisionTracker']['_startingVersion']=_0x934356,_0x4e399e['toVersion']!==_0x4e399e['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4c851c)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4c851c),this['_revisionTracker']['_createCurrentRevision'](_0x934356);}const {revisions:_0x113599,requestId:_0x26044d}=await this['_revisionHistoryService']['reconnect'](_0x4b65e1['connection'],this['_lastRequestId']);_0x116445&&_0x113599['length']>0x0?_0x3b7775['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x113599),this['_handleRevisionsUpdate'](_0x113599,_0x26044d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3b7775['_isConnected']?_0x3f8a4f():new Promise((_0x295605,_0x105840)=>{_0x3b7775['once']('change:_isConnected',()=>{_0x3f8a4f()['then'](_0x295605)['catch'](_0x105840);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2cfb29=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x31c213=>{_0x31c213['off'](),_0x2cfb29();});});}['_getLatestVersionFromServerOperations'](){const _0xc5be54=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x472a6b of _0xc5be54)if('marker'!==_0x472a6b['type']||_0x472a6b['affectsData'])return _0x472a6b['baseVersion']+0x1;}['_getLatestVersion'](){const _0x138b0e=this['editor']['plugins']['get'](tt);return new Promise(_0x29fe4d=>{_0x138b0e['_isPendingUpdate']?_0x138b0e['once']('change:_isPendingUpdate',()=>{_0x29fe4d(this['_getLatestVersionFromServerOperations']());}):_0x29fe4d(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x99d967,_0x762f57){const _0x23aa5a=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x762f57;for(const _0x45b038 of _0x99d967){const _0x494d33=_0x23aa5a['getRevision'](_0x45b038['id']);if(_0x494d33){if((_0x45b038['fromVersion']||_0x45b038['toVersion'])&&(_0x45b038['diffData']=null),_0x494d33===this['_revisionTracker']['currentRevision']){const _0x59bc3c=Math['max'](_0x494d33['toVersion'],_0x45b038['toVersion']),_0x183c83=Math['max'](_0x494d33['fromVersion'],_0x45b038['fromVersion']);let _0x2491f8;_0x494d33['toVersion']===_0x45b038['toVersion']&&_0x494d33['fromVersion']===_0x45b038['fromVersion']?(_0x2491f8=!0x0,this['_preventResendingRevisionData'](_0x45b038)):_0x45b038['toVersion']===_0x59bc3c&&_0x45b038['fromVersion']===_0x183c83?_0x2491f8=!0x1:(_0x494d33['toVersion']===_0x59bc3c&&_0x494d33['fromVersion']===_0x183c83||this['_fixRevision']({'revision':_0x494d33,'from':_0x183c83,'to':_0x59bc3c}),_0x2491f8=!0x0),_0x2491f8&&(delete _0x45b038['fromVersion'],delete _0x45b038['toVersion'],delete _0x45b038['diffData'],delete _0x45b038['createdAt'],delete _0x45b038['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x45b038),this['_preventResendingRevisionData'](_0x45b038);}else this['_revisionTracker']['addRevisionData'](_0x45b038);}const _0x1c5f13=_0x23aa5a['getRevisions']();_0x1c5f13['reverse']();for(let _0x3082ef=0x0;_0x3082ef<_0x1c5f13['length']-0x1;_0x3082ef++){const _0xd403e1=_0x1c5f13[_0x3082ef],_0x327fa7=_0x1c5f13[_0x3082ef+0x1];if(_0xd403e1['fromVersion']<_0x327fa7['toVersion']){const _0x59c8c6=_0x327fa7['toVersion'],_0x3f4d5d=Math['max'](_0x59c8c6,_0xd403e1['toVersion']);this['_fixRevision']({'revision':_0xd403e1,'from':_0x59c8c6,'to':_0x3f4d5d});}}}['_fixRevision']({revision:_0x34a8fb,from:_0xae3a46,to:_0x5ca572}={}){const _0x2652d6=this['editor']['plugins']['get'](_0xf7f8c7),_0x299dac=this['_revisionTracker']['buildRevisionData']({'revision':_0x34a8fb,'from':_0xae3a46,'to':_0x5ca572});_0x299dac['authors']=_0x299dac['authorsIds']['map'](_0x2794a3=>_0x2652d6['getUser'](_0x2794a3)),_0x34a8fb['_update'](_0x299dac);}['_preventResendingRevisionData'](_0x376cd9){const _0x404c9d={};_0x404c9d['id']=_0x376cd9['id'];for(const _0x25384e of Object['keys'](_0x376cd9))'id'!==_0x25384e&&(_0x404c9d[_0x25384e]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x404c9d['id'],_0x404c9d,!0x0);}async['_fetchMissingUsers'](_0x3c1be1){const _0x4e25ed=this['editor']['plugins']['get'](_0xf7f8c7),{connection:_0x3a7cbd}=this['editor']['plugins']['get'](z),_0x28a657=new Set();for(const _0x332b8a of _0x3c1be1){for(const _0x5c6731 of _0x332b8a['authorsIds'])_0x5aaaea(_0x5c6731);_0x332b8a['creatorId']&&_0x5aaaea(_0x332b8a['creatorId']);}if(0x0===_0x28a657['size'])return;const _0x35b722=await _0x4ada42['getMany'](_0x3a7cbd,Array['from'](_0x28a657));for(const _0x1151da of _0x35b722)_0x4e25ed['getUser'](_0x1151da['id'])||_0x4e25ed['addUser'](_0x1151da);function _0x5aaaea(_0x7d151){_0x4e25ed['getUser'](_0x7d151)||_0x28a657['add'](_0x7d151);}}};function pt(_0x3d37ad){return _0x3d37ad['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x3d37ad['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3d37ad['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x5f1cf5{static get['requires'](){return[_0x4ca2bb,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x35c92d{['_collapseAt'];constructor(_0x1f02ab,_0x30edaa=0x6){super(_0x1f02ab);const _0x51f6b1=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x30edaa,this['bind']('isHidden')['to'](this,'usersCount',_0x5d2905=>_0x5d2905<_0x30edaa),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x51f6b1['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':_0x51f6b1['to']('usersCount',_0x5e17df=>'+'+(_0x5e17df-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x35c92d{['items'];['keystrokes'];constructor(_0x34357d){super(_0x34357d);const _0x566737=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x20ead0(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x566737['if']('hasPopup'),'aria-expanded':_0x566737['to']('isExpanded',_0x4a373b=>this['hasPopup']&&String(_0x4a373b)),'aria-label':_0x566737['to']('hasPopup',_0x2852a9=>X(_0x34357d,_0x2852a9?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x566737['to']('hasPopup',_0x180bd7=>!!_0x180bd7&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x566737['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x566737['to'](_0x4a0c72=>{const _0x31f017=_0x4a0c72,_0x2b2f30=document['querySelector']('.ck-presence-list__dropdown-list'),_0xf96a07=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2b2f30?.['contains'](_0x31f017['relatedTarget'])||_0xf96a07?.['contains'](_0x31f017['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x5db2db,_0x45fa57,_0x1215d0)=>{this['element']&&(_0x1215d0?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x35c92d{['counterView'];['inlineListView'];constructor(_0x417059,_0x5ac504=0x6){super(_0x417059);const _0x47cbc5=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x5ac504),this['inlineListView']=new vt(_0x417059),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x359500 of this['inlineListView']['items'])_0x359500['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',_0x47cbc5['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x35c92d{['listWrapperView'];constructor(_0x2dcb2e,_0x52267a){super(_0x2dcb2e);const _0x5ae619=this['bindTemplate'];this['listWrapperView']=new bt(_0x2dcb2e,_0x52267a),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x2dcb2e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5ae619['to'](_0xf93d1e=>{const _0x310f6a=_0xf93d1e,_0x1ba94e=document['querySelector']('.ck-presence-list__list'),_0x52ff9a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1ba94e?.['contains'](_0x310f6a['relatedTarget'])||_0x52ff9a?.['contains'](_0x310f6a['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x25af46{constructor(_0x3f2a32,_0x242e48){super(_0x3f2a32);const _0x31b549=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x242e48?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x31b549['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x31b549['to']('role'),'aria-label':_0x31b549['to']('ariaLabel'),'aria-labelledby':_0x31b549['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x439457['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3e35c1=this['element'];_0x3e35c1&&(this['_isScrollable']=Math['max'](_0x3e35c1['scrollHeight'],_0x3e35c1['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x53e056{['userView'];constructor(_0x47241b,_0x9c1646,_0xbaa427){super(_0x47241b);const _0x3d138e=this['bindTemplate'];this['userView']=new _0x5945f1(_0x47241b,_0x9c1646);const _0x2291f0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x9c1646['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x9c1646['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x9c1646['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x9c1646['color']['getColorVariable'](),'--ck-user-color-alpha':_0x9c1646['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0xbaa427&&(_0x2291f0['tag']='button',_0x2291f0['on']={'click':_0x3d138e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2291f0);}['focus'](){this['element']['focus']();}},It=class extends _0x35c92d{['userView'];['markerView'];constructor(_0x428af2,_0x565cb0,_0xc26cfe){super(_0x428af2);const _0x331928=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5945f1(_0x428af2,_0x565cb0),this['markerView']=new St(_0x428af2,_0x565cb0);const _0x253f06=new _0x1d152c(_0x428af2);_0x253f06['template']['tag']='span',_0x253f06['text']=_0x565cb0['name'];const _0x257ee8={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x331928['to']('isFocusable',_0x2f930e=>!!_0x2f930e&&0x0),'aria-labelledby':_0x253f06['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x331928['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x331928['to']('hasTooltip',_0x4570b8=>!_0x4570b8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x253f06]};_0xc26cfe&&(_0x257ee8['tag']='button',_0x257ee8['on']={'click':_0x331928['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x257ee8);}},St=class extends _0x35c92d{constructor(_0x10ec70,_0x1b1018){super(_0x10ec70),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1b1018['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1b1018['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1b1018['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x221616{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5544e2){super(_0x5544e2),this['context']['config']['define']('presenceList',Tt);const _0x212047=_0x5544e2['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x212047)throw new _0x50e9a5('presencelist-collapseat-invalid-format',this);if(_0x212047<0x1)throw new _0x50e9a5('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x33f44f(),this['balloonPanelView']=new _0x10bbaa(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x5bb5d1 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5bb5d1);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1ec0f3,_0x356467)=>{this['_handleUserAdd'](_0x356467);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5b955d,_0x2be381)=>{this['_handleUserRemove'](_0x2be381);});}['_createView'](){const _0x4200b7=this['context'],_0x35e085=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3b9b5b=this['balloonPanelView'];if(!_0x551d97(_0x4200b7['config']['get']('presenceList.container')))throw new _0x50e9a5('presencelist-missing-container',this);return _0x35e085['counterView']['bind']('usersCount')['to'](this),_0x35e085['bind']('isCollapsed')['to'](this,'usersCount',_0x57d2b7=>{const {collapseAt:_0x1222ae}=_0x4200b7['config']['get']('presenceList'),_0xff04e8=_0x57d2b7>=_0x1222ae;if(_0xff04e8&&!_0x35e085['inlineListView']['items']['find'](_0x19fe8f=>_0x19fe8f instanceof wt)){const _0x331590=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x331590&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x35e085['inlineListView']['items']['add'](_0x35e085['counterView']);}return _0xff04e8||this['hideDropdown'](),_0xff04e8;}),_0x35e085['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2dcc42=>{const _0x598c9e=_0x4200b7['config']['get']('presenceList'),_0x40ec76=new It(_0x4200b7['locale'],_0x2dcc42,!!_0x598c9e['onClick']);return _0x40ec76['bind']('hasTooltip')['to'](_0x35e085,'isCollapsed',_0x115bca=>!_0x115bca),_0x40ec76['bind']('isFocusable')['to'](_0x35e085,'isCollapsed',_0x389670=>!_0x389670),_0x598c9e['onClick']&&this['listenTo'](_0x40ec76,'execute',()=>{this['view']['isCollapsed']||_0x598c9e['onClick'](_0x2dcc42,_0x40ec76['element']);}),_0x40ec76;}),this['listenTo'](_0x35e085['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x35e085['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x35e085['inlineListView']['keystrokes']['set']('Enter',(_0x443b62,_0x4fa083)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4fa083());}),_0x35e085['render'](),_0x3b9b5b['render'](),_0x78d497({'emitter':_0x35e085,'activator':()=>_0x3b9b5b['isVisible'],'contextElements':[_0x3b9b5b['element'],_0x35e085['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4200b7['config']['get']('presenceList.container')['appendChild'](_0x35e085['element']),this['_bodyCollection']=new _0x1807ae(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x35e085;}['_handleUserAdd'](_0xa1933d){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xa1933d['isMe'])return;const _0x2e78ad=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2e78ad-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4d74eb=_0xa1933d['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xa1933d,_0x4d74eb);}['_handleUserRemove'](_0x572336){this['usersCount']--;const {collapseAt:_0x2fe713}=this['context']['config']['get']('presenceList'),_0x42548a=this['usersCount']>=_0x2fe713;if(this['currentDisplayedUsers']['get'](_0x572336['id']))this['currentDisplayedUsers']['remove'](_0x572336['id']);else{if(_0x42548a&&this['currentDisplayedUsers']['length']+0x1===_0x2fe713-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x42548a?0x1:0x0)<this['usersCount']){for(const _0x32137d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x32137d['id'])&&(this['currentDisplayedUsers']['add'](_0x32137d,Math['min'](this['currentDisplayedUsers']['length']-(_0x42548a?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x42548a?0x1:0x0)===_0x2fe713-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x54c51d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x54c51d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x503a2f}=this['presenceDropdownView'];_0x503a2f['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x15910a=>{if(!_0x54c51d['displayMe']&&_0x15910a['isMe'])return null;const _0x493f90=new kt(this['context']['locale'],_0x15910a,!!_0x54c51d['onClick']);return _0x54c51d['onClick']&&this['listenTo'](_0x493f90,'execute',()=>{_0x54c51d['onClick'](_0x15910a,_0x493f90['element']);}),_0x493f90;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x503a2f['focus'](),_0x503a2f['checkIfScrollable']();const _0x48f26c=(_0x2bcd0d,_0x2ef39a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2ef39a();};_0x503a2f['keystrokes']['set']('Esc',_0x48f26c),_0x503a2f['keystrokes']['set']('Shift+Tab',_0x48f26c),_0x503a2f['keystrokes']['set']('Tab',(_0x15f5ef,_0x319e8c)=>{!function(_0x33a726){const _0x2b0d99=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xe23347=>_0xe23347+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x13516f=[...document['body']['querySelectorAll'](_0x2b0d99)]['filter'](_0x4a5605=>_0x4a5605===document['activeElement']||_0x4a5605['offsetWidth']+_0x4a5605['offsetHeight']>0x0)['sort']((_0x5b39a9,_0x5a7410)=>(_0x5b39a9['tabIndex']||0x0)-(_0x5a7410['tabIndex']||0x0)),_0x79d748=_0x13516f[(_0x13516f['indexOf'](_0x33a726)+0x1)%_0x13516f['length']];_0x79d748&&_0x79d748['focus']();}(this['view']['element']),this['hideDropdown'](),_0x319e8c();}),_0x503a2f['focusTracker']['add'](this['view']['element']),_0x503a2f['focusTracker']['on']('change:isFocused',(_0x4b5f48,_0x17474a,_0x5b1ad2)=>{_0x5b1ad2||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x221616{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{Context as _0x54a80b,ContextPlugin as _0x205d54,PendingActions as _0x404f2f,Plugin as _0x12753f}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x598d78,Collection as _0x22f614,DomEmitterMixin as _0x2b5a78,KeystrokeHandler as _0x1dd383,global as _0x50de14,uid as _0x1a4351,version as _0x9010bd}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x378580,BodyCollection as _0x276a01,LabelView as _0x361c56,ListItemView as _0x1cd3cf,ListView as _0x4912d4,Notification as _0x11a28f,View as _0x1a45ba,clickOutsideHandler as _0x370b5f}from'@ckeditor/ckeditor5-ui';import{History as _0x1130c0,InsertOperation as _0x43bd9a,MarkerOperation as _0x1cf862,ModelLiveRange as _0x4a7ea3,NoOperation as _0x21a0fe,OperationFactory as _0x5f362f,RootAttributeOperation as _0x296644,transformOperationSets as _0x26b393}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x714698}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x2d630b,CommentsService as _0x52be00,EditorService as _0x445268,RevisionHistoryService as _0x44490b,TrackChangesService as _0x57e547,User as _0x31677b,WEB_SOCKET_GATEWAY_STATES as _0x1efdad,WebSocketGateway as _0x463167}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x3ea6fd,Users as _0x536115}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x2d6326}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x17f75a,TrackChangesEditing as _0x381380}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x52df1c,CommentsEditing as _0x38b0cc,CommentsRepository as _0x8c7984}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x49c6d9}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x3201ca}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x205d54{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x463167)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x714698,_0x11a28f];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2a0aa1){super(_0x2a0aa1),this['set']('state',_0x1efdad['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2b5a78())();}['init'](){const _0x152b6f=this['context'],_0x11bda1=_0x152b6f['plugins']['get'](_0x714698),_0x4f0e70=_0x152b6f['plugins']['get'](_0x11a28f);if(!_0x11bda1['token'])throw new _0x598d78('websocketgateway-missing-token',this);if(!_0x11bda1['webSocketUrl'])throw new _0x598d78('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x11bda1['token'],_0x11bda1['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3af8b8=>{if(this['connection']=_0x3af8b8,this['bind']('state')['to'](_0x3af8b8,'state',this,'_isBrowserOffline',(_0x492574,_0x3ad291)=>('connected'!==_0x492574&&(this['_shouldPluginsReconnect']=!0x0),_0x3ad291||_0x492574!==_0x1efdad['CONNECTED']?_0x1efdad['DISCONNECTED']:this['state']==_0x1efdad['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x1efdad['CONNECTING']):_0x1efdad['CONNECTED'])),this['connection']['on']('error',(_0x19a3ed,_0x13d516)=>{if('limitExceeded'!==_0x13d516['code'])throw console['error'](_0x13d516),new _0x598d78('cloudservices-init',null,{'originalError':_0x13d516});_0x4f0e70['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'});}),!_0x3af8b8['me'])return new Promise(_0x46d986=>_0x3af8b8['on']('change:me',_0x46d986));})['catch'](_0x6292fd=>{throw console['error'](_0x6292fd),new _0x598d78('cloudservices-init',null,{'originalError':_0x6292fd});});}['addToReconnectionStack'](_0x181cea){if('function'!=typeof _0x181cea['reconnect'])throw new _0x598d78('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x181cea))throw new _0x598d78('websocketgateway-plugin-already-registered',this,{'name':_0x181cea['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x181cea);}['removeFromReconnectionStack'](_0x3375f3){this['_reconnectionStack']['delete'](_0x3375f3);}['isInReconnectionStack'](_0x21402b){return this['_reconnectionStack']['has'](_0x21402b);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3d787d=>_0x3d787d['reconnect']())))['then'](()=>this['state']=_0x1efdad['CONNECTED'])['catch'](_0x4c135f=>{throw console['error'](_0x4c135f),new _0x598d78('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x1efdad['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x205d54{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[z,_0x536115];}constructor(_0x7a54f8){super(_0x7a54f8),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x22f614(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x536115);}['init'](){const _0x4a68c3=this['context']['plugins']['get'](z);this['listenTo'](_0x4a68c3,'change:state',(_0x350aab,_0x56887d,_0x24f97a)=>{if('connected'!==_0x24f97a)this['channelSessions']['forEach'](_0x816fa3=>_0x816fa3['clear']()),this['channelConnectedUsers']['forEach'](_0x16de3f=>_0x16de3f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3c07aa,_0x473880]of this['_registeredSessions'])for(const _0x2ca246 of _0x473880)this['_handleSessionAdd'](_0x3c07aa,_0x2ca246);}}),this['_createUser'](_0x4a68c3['connection']['me'],!0x0);}['register'](_0xe2333a,_0x3b648e){if(this['_registeredSessions']['has'](_0xe2333a))throw new _0x598d78('sessions-register-already-registered',null,{'channelId':_0xe2333a});this['_registeredSessions']['set'](_0xe2333a,_0x3b648e),this['channelSessions']['set'](_0xe2333a,new _0x22f614()),this['channelConnectedUsers']['set'](_0xe2333a,new _0x22f614()),this['listenTo'](_0x3b648e,'add',(_0xcd35fe,_0x4db798)=>this['_handleSessionAdd'](_0xe2333a,_0x4db798)),this['listenTo'](_0x3b648e,'remove',(_0x1a242,_0x2b9874)=>this['_handleSessionRemove'](_0xe2333a,_0x2b9874));for(const _0x2069e2 of _0x3b648e)this['_handleSessionAdd'](_0xe2333a,_0x2069e2);}['unregister'](_0x33c427){if(!this['_registeredSessions']['has'](_0x33c427))throw new _0x598d78('sessions-unregister-not-exist',null,{'channelId':_0x33c427});const _0x2339ab=this['_registeredSessions']['get'](_0x33c427);this['stopListening'](_0x2339ab);for(const _0x170962 of _0x2339ab)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x33c427,_0x170962);this['_registeredSessions']['delete'](_0x33c427),this['channelSessions']['delete'](_0x33c427),this['channelConnectedUsers']['delete'](_0x33c427);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x3c22ba){for(const _0x1e1696 of this['channelSessions']['values']())for(const _0x888fd5 of _0x1e1696)if(_0x888fd5['id']===_0x3c22ba)return _0x888fd5['user'];}['getUserSessions'](_0x182a9e,_0x34df25){const _0x43134a=_0x34df25?[this['channelSessions']['get'](_0x34df25)]:this['channelSessions']['values'](),_0x29708a=new Set();for(const _0x2450f7 of _0x43134a)for(const _0x24326d of _0x2450f7)_0x24326d['user']['id']===_0x182a9e['id']&&_0x29708a['add'](_0x24326d['id']);return _0x29708a;}['getUserRole'](_0x51e00b){for(const _0x135bd1 of this['channelSessions']['values']())for(const _0xc0ca34 of _0x135bd1)if(_0xc0ca34['user']===_0x51e00b)return _0xc0ca34['role'];}['_handleSessionAdd'](_0x240538,_0x5b88b7){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x31dc61=_0x5b88b7['user'],_0x20f471=this['_users']['getUser'](_0x31dc61['id'])||this['_createUser'](_0x31dc61),_0x59df0b=Object['assign']({},_0x5b88b7,{'user':_0x20f471});if(this['channelSessions']['get'](_0x240538)['add'](_0x59df0b),!_0x31dc61['hiddenInPresenceList']){const _0x420055=this['channelConnectedUsers']['get'](_0x240538);_0x420055['has'](_0x20f471['id'])||_0x420055['add'](_0x20f471),this['allConnectedUsers']['has'](_0x20f471['id'])||_0x31dc61['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x20f471,_0x20f471['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x240538,{'channelId':_0x240538,'session':_0x59df0b});}['_handleSessionRemove'](_0xd844d2,_0x4efed5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x2b1d86=this['channelConnectedUsers']['get'](_0xd844d2),_0x6e66a=_0x4efed5['user'];_0x6e66a['id']&&(this['channelSessions']['get'](_0xd844d2)['remove'](_0x4efed5['id']),_0x2b1d86['has'](_0x6e66a['id'])&&!this['getUserSessions'](_0x6e66a,_0xd844d2)['size']&&_0x2b1d86['remove'](_0x6e66a['id']),this['allConnectedUsers']['get'](_0x6e66a['id'])&&!this['getUserSessions'](_0x6e66a)['size']&&this['allConnectedUsers']['remove'](_0x6e66a['id']));}['_createUser'](_0x1c4f7d,_0x4ac23b){const _0x340753=this['_users']['addUser'](_0x1c4f7d);return _0x4ac23b&&this['_users']['defineMe'](_0x1c4f7d['id']),_0x340753['orderNumber']=this['_uniqueUsersCount']++,_0x340753;}},K=class extends _0x12753f{['_domEmitter']=new(_0x2b5a78())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xa39f52=this['editor'],_0x48349e=_0xa39f52['plugins']['get'](Y);_0xa39f52['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x15d9da,{writer:_0x38af72})=>function(_0xa6cdbf,_0x177ca5,_0x1431f8,_0x3e6424){const _0x447cac=_0xa6cdbf['markerName']['split'](':')[0x2],_0x45a5bb=_0x1431f8['getUserBySessionId'](_0x447cac);if(!_0x45a5bb||_0x447cac===_0x1431f8['mySessionId'])return;if(!_0x3e6424['model']['schema']['checkChild'](_0xa6cdbf['markerRange']['start'],'$text'))return;const _0xa384c={'class':'ck-user__marker\x20'+_0x45a5bb['color']['getMarkerClass'](),'style':Q(_0x45a5bb),'data-name':_0x45a5bb['name'],'data-session-id':_0x447cac},_0xe19782=_0x3e6424['model']['markers']['get'](_0xa6cdbf['markerName'])['getStart'](),_0x1bf498=_0xe19782['nodeAfter'],_0x214ba4=_0x3e6424['model']['schema'];if(_0x1bf498&&_0x214ba4['isObject'](_0x1bf498)&&_0x214ba4['isInline'](_0x1bf498)&&!_0x3e6424['model']['markers']['get']('user:range:'+_0x447cac)['getRange']()['isCollapsed'])return;const _0x5681a5=_0xe19782['parent'];return _0x3e6424['model']['schema']['isLimit'](_0x5681a5)&&!_0x3e6424['model']['hasContent'](_0x5681a5)&&(_0xa384c['contenteditable']=!0x1),function(_0x17942e,_0x3f17bd,_0x2b3a6d){const _0x1f0505=_0x17942e['createUIElement']('span',_0x3f17bd);return _0x17942e['setCustomProperty']('userPositionMarker',!0x0,_0x1f0505),_0x1f0505['render']=function(_0x2d73f7){const _0x69a2c1=this['toDomElement'](_0x2d73f7),_0x22004f=document['createElement']('span');return _0x22004f['classList']['add']('ck-user__marker-tooltip'),_0x22004f['setAttribute']('contenteditable','false'),_0x22004f['setAttribute']('spellcheck','false'),_0x22004f['textContent']=_0x2b3a6d['name'],_0x69a2c1['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x22004f['outerHTML']+'⁠',_0x69a2c1['addEventListener']('mouseenter',()=>{_0x69a2c1['classList']['add']('ck-user__marker_hovered');}),_0x69a2c1['addEventListener']('mouseleave',()=>{_0x69a2c1['classList']['remove']('ck-user__marker_hovered');}),_0x69a2c1;},_0x1f0505['isSimilar']=function(_0x1c51ac){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1c51ac['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1c51ac['getAttribute']('data-session-id'));},_0x1f0505;}(_0x177ca5,_0xa384c,_0x45a5bb);}(_0x15d9da,_0x38af72,_0x48349e,_0xa39f52)}),_0xa39f52['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3edd71=>function(_0x334bcf,_0x327fee){const _0x2cc5ee=_0x334bcf['markerName']['split'](':')[0x2];if(_0x2cc5ee===_0x327fee['mySessionId'])return null;const _0x4fef55=_0x327fee['getUserBySessionId'](_0x2cc5ee);return _0x4fef55?{'id':_0x2cc5ee,'classes':['ck-user__selection',_0x4fef55['color']['getSelectionClass']()],'attributes':{'style':Q(_0x4fef55),'data-session-id':_0x2cc5ee},'priority':0x7d0+_0x4fef55['orderNumber']}:{'id':_0x2cc5ee,'classes':[]};}(_0x3edd71,_0x48349e)}),function(_0x332aae){const _0x1d2aac=_0x332aae['model'],_0xb3303b=new Map(),_0x3b0494=_0x332aae['plugins']['get'](Y);_0x1d2aac['markers']['on']('update:user:range',(_0x2cd193,_0x413cf4,_0x20db6a,_0x3aaeea)=>{if(!_0x3aaeea&&_0xb3303b['get'](_0x413cf4['name']))return _0xb3303b['get'](_0x413cf4['name'])['detach'](),void _0xb3303b['delete'](_0x413cf4['name']);const _0x1364d6=_0x413cf4['name']['split'](':')[0x2];if(_0x1364d6===_0x3b0494['mySessionId'])return;const _0x3d6084='user:position:'+_0x1364d6;_0x1d2aac['markers']['has'](_0x3d6084)&&_0x332aae['editing']['reconvertMarker'](_0x3d6084),_0x413cf4['on']('change:range',(_0x131451,_0x28b91a,_0x27fe06)=>{if('$graveyard'!=_0x28b91a['root']['rootName']&&'$graveyard'==_0x413cf4['getRange']()['root']['rootName']&&!_0xb3303b['has'](_0x413cf4['name'])){const _0x1b392d=_0x1d2aac['schema']['getNearestSelectionRange'](_0x27fe06['deletionPosition']);if(_0x1b392d){const _0x1d0e7e=_0x4a7ea3['fromRange'](_0x1b392d);_0xb3303b['set'](_0x413cf4['name'],_0x1d0e7e),_0x1d0e7e['on']('change:range',(_0x53b451,_0x5718f1,_0x4e2135)=>{if('$graveyard'==_0x1d0e7e['root']['rootName']){const _0x2a677c=_0x1d2aac['schema']['getNearestSelectionRange'](_0x4e2135['deletionPosition']);_0x2a677c?(_0x1d0e7e['start']=_0x2a677c['start'],_0x1d0e7e['end']=_0x2a677c['end']):(_0xb3303b['delete'](_0x413cf4['name']),_0x1d0e7e['detach']());}});}}});}),_0x1d2aac['document']['on']('change',()=>{_0xb3303b['size']>0x0&&_0x1d2aac['enqueueChange']({'isUndoable':!0x1},_0x107b51=>{for(const [_0x144c5f,_0x73b35a]of _0xb3303b)'$graveyard'==_0x1d2aac['markers']['get'](_0x144c5f)['getRange']()['root']['rootName']&&(J(_0x144c5f['split'](':')[0x2],_0x73b35a['toRange'](),_0x1d2aac,_0x107b51),_0x73b35a['detach']());_0xb3303b['clear']();});});}(_0xa39f52),this['_domEmitter']['listenTo'](_0x50de14['document'],'keydown',(_0x2eebfe,{key:_0x2e9eab})=>{'Escape'===_0x2e9eab&&function(_0x54eb2d){_0x54eb2d['editing']['view']['change'](_0x273b5=>{for(const _0x2a69f7 of _0x54eb2d['model']['markers']){if(!_0x2a69f7['name']['startsWith']('user:position'))continue;const _0xcbbb43=_0x54eb2d['editing']['mapper']['markerNameToElements'](_0x2a69f7['name']);if(_0xcbbb43){for(const _0x307961 of _0xcbbb43)_0x273b5['removeClass']('ck-user__marker_hovered',_0x307961);}}});}(_0xa39f52);},{'useCapture':!0x0});}['afterInit'](){const _0x42555d=this['editor'],_0x1ec3b9=_0x42555d['commands']['get']('undo');_0x1ec3b9&&_0x42555d['model']['on']('applyOperation',(_0x30baa2,_0x28da87)=>{const _0x11f02d=_0x28da87[0x0];if(!_0x11f02d['isDocumentOperation'])return;if('marker'!=_0x11f02d['type']||!_0x11f02d['name']['startsWith']('user:'))return;const _0x1cbc02=_0x11f02d['batch'];_0x1ec3b9['_createdBatches']['has'](_0x1cbc02)&&(_0x11f02d['newRange']=_0x11f02d['oldRange']?_0x42555d['model']['createRange'](_0x11f02d['oldRange']['start'],_0x11f02d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x19050d=this['editor'],_0x58d7d7=_0x19050d['model']['document'],_0x59a312=_0x19050d['plugins']['get'](Y);_0x19050d['model']['enqueueChange']({'isUndoable':!0x1},_0x2ef6ee=>{const _0x29eee5='user:range:'+_0x59a312['mySessionId'],_0x561dd7='user:position:'+_0x59a312['mySessionId'],_0x41f5e2=_0x19050d['model']['markers']['has'](_0x29eee5);_0x19050d['editing']['view']['hasDomSelection']?J(_0x59a312['mySessionId'],_0x58d7d7['selection']['getFirstRange'](),_0x19050d['model'],_0x2ef6ee):_0x41f5e2&&(_0x2ef6ee['removeMarker'](_0x29eee5),_0x2ef6ee['removeMarker'](_0x561dd7));});}};function J(_0x28b4f5,_0x129a62,_0x17965c,_0x269012){const _0x551445='user:range:'+_0x28b4f5,_0x493ed4='user:position:'+_0x28b4f5,_0x49f931=_0x129a62['getContainedElement']();let _0x21b4b0=_0x129a62['start'];if(_0x49f931&&_0x49f931['is']('element','tableCell')){const _0xd563f5=function(_0x5f065b,_0x3ce7bf){for(const _0x2a77d2 of _0x5f065b['getPositions']())if(_0x3ce7bf['schema']['checkChild'](_0x2a77d2,'$text'))return _0x2a77d2;}(_0x129a62,_0x17965c);_0xd563f5&&(_0x21b4b0=_0xd563f5,_0x129a62=_0x269012['createRange'](_0x21b4b0));}const _0x570ab6=_0x269012['createRange'](_0x21b4b0);_0x17965c['markers']['has'](_0x551445)?(_0x269012['updateMarker'](_0x551445,{'range':_0x129a62}),_0x269012['updateMarker'](_0x493ed4,{'range':_0x570ab6})):(_0x269012['addMarker'](_0x551445,{'range':_0x129a62,'usingOperation':!0x0}),_0x269012['addMarker'](_0x493ed4,{'range':_0x570ab6,'usingOperation':!0x0}));}function Q(_0x39da37){return'--ck-user-color:'+_0x39da37['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x39da37['color']['getColorAlphaVariable']()+';';}function X(_0x17c136,_0x244dad,_0x1415ed){const _0x2b5775=_0x17c136['t'],t=_0x17c136['t'];switch(_0x244dad){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 _0x2b5775({'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'},_0x1415ed);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x12753f{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x2d630b)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x404f2f,_0x536115,_0x11a28f];}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 _0x3e7a76=this['serverHistory']['getOperations']();for(let _0x386a80=_0x3e7a76['length']-0x1;_0x386a80>=0x0;_0x386a80--){const _0x2297dd=_0x3e7a76[_0x386a80];if(!this['_disconnectionOperations']['has'](_0x2297dd))return _0x2297dd['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x559edd){if(super(_0x559edd),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1130c0(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x598d78('collaboration-missing-channelid',this);const _0x3ad504=_0x559edd['config']['get']('cloudServices.bundleVersion')||_0x9010bd;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3ad504,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2d6326(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}['init'](){const _0xdd5cfa=this['editor'],_0x8701ac=_0xdd5cfa['plugins']['get'](_0x536115),_0x22874a=_0xdd5cfa['plugins']['get'](z);this['listenTo'](_0x8701ac,'getOperationAuthor',(_0x397660,_0x3b9aa2)=>{const _0x481b2a=_0x3b9aa2[0x0];_0x481b2a['_authorId']&&(_0x397660['return']=_0x8701ac['getUser'](_0x481b2a['_authorId']),_0x397660['stop']()),null===_0x481b2a['_authorId']&&(_0x397660['return']=null,_0x397660['stop']());},{'priority':'high'}),this['listenTo'](_0xdd5cfa['model']['document']['selection'],'change:range',(_0x248f30,_0xfcdcd2)=>{_0xfcdcd2['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xdd5cfa['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xdd5cfa['model']['on']('applyOperation',(_0x82ef91,_0x1a12f3)=>{const _0x1eb8ae=_0x1a12f3[0x0];_0x1eb8ae['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1eb8ae),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x22874a,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x404df1,_0x1dc6c9,_0x3d4f72)=>'connected'===_0x404df1&&!_0x1dc6c9&&!_0x3d4f72),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xdd5cfa['disableReadOnlyMode']('rtc-offline'):_0xdd5cfa['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xdd5cfa['disableReadOnlyMode']('rtc-offline'):_0xdd5cfa['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x196643=this['editor']['plugins']['get'](Y),_0x25510c=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x196643['unregister'](this['_channelId']);const _0x34e745=await this['_service']['reconnect'](_0x25510c['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x34e745)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3730ef=await this['_service']['getConnectedSessions']();_0x196643['register'](this['_channelId'],_0x3730ef),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2a1f3f){if(function(_0x2be86b){return'404'===_0x2be86b['code'];}(_0x2a1f3f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x181c55){return'409'===_0x181c55['code'];}(_0x2a1f3f)){const _0x5590cc=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x5590cc);}else{if(!(_0x2a1f3f instanceof et))throw _0x2a1f3f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x5e6da3=this['editor']['plugins']['get'](z),_0x28fa1a=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x28fa1a['channelSessions']['has'](this['_channelId'])&&_0x28fa1a['unregister'](this['_channelId']),_0x5e6da3['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x39cf88){if(this['sessionId']!==_0x39cf88['sessionId']&&this['_lastSyncedOperationId']!==_0x39cf88['lastOperationId'])throw new et();return this['sessionId']=_0x39cf88['sessionId'],this['_handleServerResponse']([],{..._0x39cf88,'wereChangesApplied':!0x1,'data':_0x39cf88['data']},'reconnect');}async['_connectService'](_0x1d1811,_0xa96338=!0x1){const {connection:_0xb03d51}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0xb03d51,this['_channelId'])['then'](_0x146da2=>this['_initSessionsHandling'](_0x146da2))['catch'](_0x4bb6f2=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4bb6f2);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x467acd,_0x177189)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x177189);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x324630=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1d1811);this['_isPendingUpdate']=!0x0;const _0xcefef7=await this['_service']['connect'](_0xb03d51,this['_compressOperations'](_0x1d1811),_0x324630);if(this['sessionId']=_0xcefef7['sessionId'],_0xa96338){if(!_0xcefef7['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xcefef7['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1d1811,_0xcefef7,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xcefef7,_0x1d1811);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3a98da=this['editor']['plugins']['get'](Y),_0x51ad84=this['editor']['plugins']['get'](K),_0x1e6efb=_0x3a98da['channelSessions']['get'](this['_channelId']);_0x1e6efb&&_0x1e6efb['length']>0x1?_0x51ad84['createUserMarkerOperations']():this['listenTo'](_0x3a98da,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3a98da['channelSessions']['get'](this['_channelId'])['length']&&_0x51ad84['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x37664d,_0x26da3d,_0x1e5de0,_0xd4d58a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x26da3d){const _0x5346a4=this['_decompressOperations'](_0x1e5de0,_0xd4d58a);await this['_fetchMissingUsers'](_0x5346a4),this['_handleExternalOperations'](_0x5346a4,_0x26da3d,_0x1e5de0['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4ad652}=this['editor'];let _0x196ad1;try{_0x196ad1=await this['_service']['getDocumentDetails']();}catch{const _0x2e17f9=X(_0x4ad652,'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'](_0x2e17f9);}const _0x350167=_0x196ad1['currentDocumentSession']||_0x196ad1['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x350167['lastOperationId']){const _0x5aead1=X(_0x4ad652,'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'](_0x5aead1);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x4f11cf=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x4f11cf['connection']||'connected'!==_0x4f11cf['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x11e5d1=this['editor']['plugins']['get'](Y);_0x11e5d1['channelSessions']['has'](this['_channelId'])&&_0x11e5d1['unregister'](this['_channelId']),_0x4f11cf['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xaaf166){const _0x441893=this['editor']['plugins']['get'](Y);this['listenTo'](_0x441893,'sessionAdd:'+this['_channelId'],(_0x4a61f5,{session:_0x17b6e0})=>{if(_0x17b6e0['id']===_0x441893['mySessionId']){_0x4a61f5['off']();const _0x352444=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4f5b50=_0x17b6e0['permissions'];_0x352444&&_0x352444['isEnabled']&&(_0x4f5b50=_0x4f5b50['filter'](_0x493fca=>'document:write'!==_0x493fca)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4f5b50,this['_channelId']);}}),_0x441893['register'](this['_channelId'],_0xaaf166);}['_initThrowingOnDataSet'](){const _0x16f53b=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x610d7b)=>{if(!_0x610d7b[_0x610d7b['length']-0x1]['suppressErrorInCollaboration'])throw new _0x598d78('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x16f53b['apply'](this['editor']['data'],_0x610d7b);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4f9217,[_0x2c0a33])=>{if(this['_document']['version'])throw new _0x598d78('realtimecollaborationclient-init-document-already-initialized',this);_0x4f9217['stop'](),this['_setPendingAction']();const _0xcb96b2=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x377829])=>!_0x377829['lazyLoad'])['map'](([_0x1638f4,_0x5ca25a])=>[_0x1638f4,_0x5ca25a['modelAttributes']||{}])),_0x25589b=this['_getOperationsFromInitData'](_0x2c0a33,_0xcb96b2);0x0==_0x25589b['length']&&_0x25589b['push'](new _0x21a0fe(0x0)),_0x4f9217['return']=this['_connectService'](_0x25589b)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xee1e84=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xee1e84))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1e5864,[_0x2a1be4,_0x4b3fea])=>{_0x1e5864['stop']();const _0x206e8e=this['editor']['model']['document']['getRoot'](_0x2a1be4);if(!this['_knownRootNames']['has'](_0x2a1be4)){const _0x1f506d=_0x4b3fea&&_0x4b3fea['data']?_0x4b3fea['data']:'',_0x4367a9=_0x4b3fea&&_0x4b3fea['attributes']?_0x4b3fea['attributes']:{};await this['_loadRoot'](_0x2a1be4,_0x1f506d,_0x4367a9);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x206e8e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x206e8e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xa8ea3f){const _0x61fadf=this['editor']['plugins']['get'](_0x536115),{connection:_0x46c72d}=this['editor']['plugins']['get'](z),_0xfe444e=new Set();for(const _0x3bacd4 of _0xa8ea3f){const _0x2295f3=_0x3bacd4['_authorId'];_0x2295f3&&!_0x61fadf['getUser'](_0x2295f3)&&_0xfe444e['add'](_0x2295f3);}if(0x0===_0xfe444e['size'])return;const _0xb54030=await _0x31677b['getMany'](_0x46c72d,Array['from'](_0xfe444e));for(const _0x1e596e of _0xb54030)_0x61fadf['getUser'](_0x1e596e['id'])||_0x61fadf['addUser'](_0x1e596e);}['_getOperationsFromInitData'](_0x2eefb1,_0x2156fa={}){const _0x44f5de=this['editor']['model'],_0x279244=[];let _0x58f5c8=0x0;const _0x56570d='string'==typeof _0x2eefb1?{'main':_0x2eefb1}:_0x2eefb1;for(const _0x1b0333 of Object['keys'](_0x56570d)){if(!this['_document']['roots']['has'](_0x1b0333))throw new _0x598d78('realtimecollaborationclient-init-non-existent-root',this);const _0x19958b=this['_document']['getRoot'](_0x1b0333),_0x42ed28=this['editor']['data']['parse'](_0x56570d[_0x1b0333],_0x19958b),_0x1cb24f=new _0x43bd9a(_0x44f5de['createPositionAt'](_0x19958b,0x0),_0x42ed28,_0x58f5c8++);_0x279244['push'](_0x1cb24f);for(const [_0x3a5166,_0x3d457e]of _0x42ed28['markers']){const _0x3565ff=new _0x1cf862(_0x3a5166,null,_0x44f5de['createRange'](_0x44f5de['createPositionFromPath'](_0x19958b,_0x3d457e['start']['path']['slice']()),_0x44f5de['createPositionFromPath'](_0x19958b,_0x3d457e['end']['path']['slice']())),_0x44f5de['markers'],!0x0,_0x58f5c8++);_0x279244['push'](_0x3565ff);}}if(_0x2156fa)for(const [_0x2b23bf,_0x20ee80]of Object['entries'](_0x2156fa)){const _0x5c900d=_0x44f5de['document']['getRoot'](_0x2b23bf);if(!_0x5c900d)throw new _0x598d78('multi-root-editor-root-attributes-no-root',null);for(const [_0x5f209,_0x3d80f6]of Object['entries'](_0x20ee80))if(null!==_0x3d80f6){const _0x1d12d0=new _0x296644(_0x5c900d,_0x5f209,null,_0x3d80f6,_0x58f5c8++);_0x279244['push'](_0x1d12d0);}}return _0x279244;}async['_loadRoot'](_0x51ceb8,_0x3b3663,_0x151bf9){this['_getOperationsFromInitData']({[_0x51ceb8]:_0x3b3663},{[_0x51ceb8]:_0x151bf9})['forEach']((_0x51d8c8,_0x5a7e54)=>{_0x51d8c8['baseVersion']=this['_document']['version']+_0x5a7e54,_0x51d8c8['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x51d8c8);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5b22dc,_0x215041){let _0x390074;this['_offset']=_0x5b22dc['offset'];const _0x4aaa27=_0x5b22dc['wereChangesApplied']&&!_0x5b22dc['initData'],_0x37e5dc=_0x4aaa27?0x0:_0x5b22dc['data']['baseVersion'];if(_0x215041['forEach'](_0x3f3793=>{_0x3f3793['_isInit']=!0x0,_0x3f3793['createdAt']=_0x5b22dc['sessionCreatedAt'],_0x3f3793['_authorId']=null;}),_0x4aaa27)_0x390074=_0x215041,this['_applyOperationsSet'](_0x390074,_0x4aaa27);else{if(_0x5b22dc['initData']){const _0x15ce06=this['_getOperationsFromInitData'](_0x5b22dc['initData']);this['_document']['history']['version']=-_0x15ce06['length'],_0x15ce06['forEach'](_0x10403c=>{_0x10403c['baseVersion']-=_0x15ce06['length'],_0x10403c['createdAt']=_0x5b22dc['sessionCreatedAt'],_0x10403c['_isInit']=!0x0,_0x10403c['_authorId']=null;}),this['_applyOperationsSet'](_0x15ce06,!0x0),this['serverHistory']['version']=-_0x15ce06['length']+this['_offset'],this['_updateServerHistory'](_0x15ce06);}this['_document']['history']['version']=_0x37e5dc,_0x390074=this['_decompressOperations'](_0x5b22dc['data'],_0x5b22dc['metadata']),await this['_fetchMissingUsers'](_0x390074),this['_applyOperationsSet'](_0x390074,_0x4aaa27);}_0x5b22dc['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x390074,_0x5b22dc['lastOperationId']),this['_lastSyncedOperationId']=_0x5b22dc['lastOperationId']),this['serverHistory']['version']=_0x37e5dc+this['_offset'],this['_updateServerHistory'](_0x390074),_0x215041['filter'](_0xbc4c0c=>{const _0x56a434=this['_getAffectedRoot'](_0xbc4c0c);return _0x56a434&&!this['_knownRootNames']['has'](_0x56a434);})['forEach']((_0x452458,_0x1e8531)=>{_0x452458['baseVersion']=this['_document']['version']+_0x1e8531,this['_saveOperationInBuffer'](_0x452458);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xda94a2,_0x57c7b4){const _0x356a7f=_0x57c7b4&&_0x57c7b4['message'];if(_0x356a7f&&_0x356a7f['startsWith']('realtimecollaborationclient'))throw _0x57c7b4;const _0x34b3f8=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x34b3f8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x598d78(_0xda94a2,this['editor'],_0x356a7f?{'originalError':_0x356a7f}:void 0x0);}['_saveOperationInBuffer'](_0x325a86){this['_knownOperations']['has'](_0x325a86)||(this['_knownOperations']['add'](_0x325a86),this['_bufferedOperations']['push'](_0x325a86),this['_pendingAction']||'marker'==_0x325a86['type']&&!_0x325a86['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x51ba61=!0x1){!_0x51ba61&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1f2566=>{_0x1f2566&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xdd15ac=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x27cb80){return _0x27cb80['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x27cb80['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x27cb80['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xdd15ac)||this['_crash'](_0xdd15ac['message'],_0xdd15ac);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x25f622=>{this['on']('change:_isPendingUpdate',()=>{_0x25f622();});});}async['_sendBufferedOperations'](){const _0x1aa732=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x1aa732['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x34ac01=[...this['_bufferedOperations']];for(const _0x4da84f of _0x34ac01)_0x4da84f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4da84f);const _0x32e5be=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x34ac01),_0x159640=Z++,_0x43d8b3=this['_compressOperations'](_0x34ac01),_0x2c610a=await this['_service']['sendOperations'](_0x43d8b3,_0x43d8b3['baseVersion'],_0x32e5be);try{return await this['_handleServerResponse'](_0x34ac01,_0x2c610a,_0x159640);}catch(_0x3bc46a){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3bc46a);}}async['_handleServerResponse'](_0x504016,_0x5e1118,_0x44db76){if('error'in _0x5e1118)throw _0x5e1118['error'];let _0x5b34a9=!0x1;if(_0x5e1118['wereChangesApplied']){_0x5e1118['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5e1118['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4849d3=>!_0x504016['includes'](_0x4849d3));for(const _0x1a4ba7 of _0x504016)_0x1a4ba7['createdAt']='lastOperationAcceptedAt'in _0x5e1118&&_0x5e1118['lastOperationAcceptedAt']||void 0x0;st(_0x504016,_0x5e1118['version']-_0x504016['length']),this['_updateServerHistory'](_0x504016);const _0x4472d9=_0x504016['filter'](_0x305c63=>{if(!_0x305c63['_isInit'])return!0x1;const _0x38eb4b=this['_getAffectedRoot'](_0x305c63);return _0x38eb4b&&!this['_knownRootNames']['has'](_0x38eb4b);});st(_0x4472d9,this['_document']['version']),this['_applyOperationsSet'](_0x4472d9),_0x5b34a9=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x454b1f=this['_decompressOperations'](_0x5e1118['data'],_0x5e1118['metadata'])['filter'](_0x375674=>_0x375674['baseVersion']>=this['_lastServerVersion']);_0x454b1f['forEach'](_0x4dfc0a=>this['_addKnownRoot'](_0x4dfc0a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3b5294=>!_0x3b5294['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3b5294))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x454b1f),_0x5b34a9=this['_handleExternalOperations'](_0x454b1f,_0x5e1118['version'],_0x5e1118['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5b34a9?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x8af6be,_0x2ae7e8,_0x3cd215){try{const _0x5a47b2={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2221a2,operationsB:_0x18a17b,originalOperations:_0x4fcc12}=_0x26b393(_0x8af6be,this['_bufferedOperations'],_0x5a47b2);st(_0x2221a2,this['_document']['version']),st(_0x18a17b,_0x2ae7e8);for(const _0xd7c2d0 of _0x2221a2){const _0x510ba5=_0x4fcc12['get'](_0xd7c2d0);_0x510ba5?(_0xd7c2d0['_authorId']=_0x510ba5['_authorId'],'noop'!==_0xd7c2d0['type']&&(_0xd7c2d0['_aiSource']=_0x510ba5['_aiSource'])):_0xd7c2d0['_authorId']=null;}for(const _0x4ea0aa of _0x18a17b)'noop'!==_0x4ea0aa['type']&&(_0x4ea0aa['_aiSource']=_0x4fcc12['get'](_0x4ea0aa)?.['_aiSource']);_0x3cd215&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x8af6be,_0x3cd215),this['_lastSyncedOperationId']=_0x3cd215),this['_bufferedOperations']=[..._0x18a17b],this['_applyOperationsSet'](_0x2221a2),this['_updateServerHistory'](_0x8af6be);}catch(_0xd35a78){return console['error'](_0xd35a78),!0x1;}return!0x0;}['_applyOperationsSet'](_0x511603,_0xdd9a69=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x47efcc=>{for(const _0x28e35c of _0x511603)this['_knownOperations']['add'](_0x28e35c),this['_addKnownRoot'](_0x28e35c),_0x47efcc['batch']['addOperation'](_0x28e35c),this['editor']['model']['applyOperation'](_0x28e35c);});}['_addKnownRoot'](_0x28baa3){const _0x406708=this['_getAffectedRoot'](_0x28baa3);_0x406708&&this['_knownRootNames']['add'](_0x406708);}['_getAffectedRoot'](_0x3ae803){let _0x4b4cab,_0x4aa879;switch(_0x3ae803['type']){case'insert':_0x4b4cab=_0x3ae803['position']['root'];break;case'marker':if(_0x4aa879=_0x3ae803['newRange'],!_0x4aa879)return null;_0x4b4cab=_0x4aa879['root'];break;case'addRootAttribute':_0x4b4cab=_0x3ae803['root'];break;case'addRoot':_0x4b4cab=_0x3ae803['affectedSelectable'];break;case'move':_0x4b4cab=_0x3ae803['targetPosition']['root'];break;default:return null;}return _0x4b4cab['rootName'];}['_updateServerHistory'](_0x1fb0fa){_0x1fb0fa['forEach'](_0x542ad8=>{const _0x4c85cb=_0x542ad8['clone']();_0x4c85cb['_authorId']=_0x542ad8['_authorId'],_0x4c85cb['_isInit']=!!_0x542ad8['_isInit'],_0x4c85cb['_aiSource']=_0x542ad8['_aiSource'],_0x4c85cb['createdAt']=_0x542ad8['createdAt'],_0x4c85cb['baseVersion']+=this['_offset'],_0x542ad8['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4c85cb),this['serverHistory']['addOperation'](_0x4c85cb);});}['_handleReconnectionError'](_0x29ef1a){const _0x5c71b2=this['editor']['plugins']['get']('Notification'),_0x412b19=this['editor']['locale'];_0x29ef1a||(_0x29ef1a=X(_0x412b19,'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.')),_0x5c71b2['showWarning'](_0x29ef1a,{'title':X(_0x412b19,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x404f2f)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x404f2f)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x29ac37){const _0x3d71f1=_0x29ac37['map'](_0x279791=>_0x279791['toJSON']());return this['_compressor']['compress'](_0x3d71f1);}['_decompressOperations'](_0x1257b4,_0x5b868d){return this['_compressor']['decompress'](_0x1257b4)['map']((_0x44ac40,_0x86d30)=>{const _0x51eed7='init'==_0x5b868d[_0x86d30]['type'];if('InsertOperation'==_0x44ac40['__className']){const _0x36cec1=_0x44ac40['position']['root'];!this['_document']['getRoot'](_0x36cec1)&&(this['_document']['createRoot']('$unknown',_0x36cec1)['_isAttached']=!0x1);}else{if('RootOperation'==_0x44ac40['__className']){const _0x299148=this['_document']['getRoot'](_0x44ac40['rootName']);_0x299148&&'$unknown'==_0x299148['name']&&_0x44ac40['elementName']!=_0x299148['name']&&(_0x299148['name']=_0x44ac40['elementName']);}}const _0x12ddcc=_0x5f362f['fromJSON'](_0x44ac40,this['_document']);return _0x12ddcc['wasUndone']=_0x44ac40['wasUndone'],_0x12ddcc['_isInit']=_0x51eed7,_0x12ddcc['_authorId']=_0x51eed7?null:_0x5b868d[_0x86d30]['userId'],_0x12ddcc['_isDisconnection']='cs:removeUser'===_0x5b868d[_0x86d30]['type'],_0x12ddcc['_aiSource']=_0x44ac40['_aiSource']||void 0x0,_0x12ddcc['createdAt']=_0x5b868d[_0x86d30]['createdAt'],_0x12ddcc;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x373c1a=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x373c1a&&_0x373c1a['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x2373cd,_0x1503ea){for(const _0xdc08ad of _0x2373cd)_0xdc08ad['baseVersion']=_0x1503ea++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x517cd3){this['_ignoredOperations']=_0x517cd3,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x29d93f){let _0x23d8a3=_0x29d93f['length'];for(;_0x23d8a3--;){const _0x36c7fa=_0x29d93f[_0x23d8a3];if(!this['_ignoredOperations']['has'](_0x36c7fa)){if(!this['_operationToId']['has'](_0x36c7fa)){const _0x1e00fd=_0x1a4351()['slice'](0x1,0x12);this['_operationToId']['set'](_0x36c7fa,_0x1e00fd);}return this['_operationToId']['get'](_0x36c7fa);}}}['setIdForTheLastOperation'](_0x2cb95b,_0x157e0d){if(!_0x157e0d)return;let _0x15cd69=_0x2cb95b['length'];for(;_0x15cd69--;){const _0x11edf8=_0x2cb95b[_0x15cd69];this['_ignoredOperations']['has'](_0x11edf8)||this['_operationToId']['set'](_0x11edf8,_0x157e0d);}}},nt=class extends _0x12753f{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x205d54{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x52be00)());['_services'];static get['requires'](){return[z,_0x8c7984,Y,_0x536115];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x195354){super(_0x195354),this['_services']=new Map();}async['init'](){const _0x433205=this['context'],_0x4ff488=_0x433205['plugins']['get'](_0x8c7984);if(_0x433205['plugins']['get'](z)['addToReconnectionStack'](this),_0x4ff488['adapter']={'addCommentThread':async({channelId:_0x579cb9,threadId:_0x4c0dc9,comments:_0x18a780,resolvedAt:_0x5bcea6,resolvedBy:_0x2f20ae,context:_0x42c622,attributes:_0x2e798b})=>{const _0x3809e7=await this['_getService'](_0x579cb9)['addCommentThread']({'commentThreadId':_0x4c0dc9,'comments':_0x18a780['map'](_0x200254=>function(_0x10bb7a,_0x24ab4d,_0x343aa5){return{'commentThreadId':_0x343aa5,'commentId':_0x10bb7a['commentId'],'userId':_0x10bb7a['authorId'],'content':_0x10bb7a['content'],'documentId':_0x24ab4d,'createdAt':_0x10bb7a['createdAt'],'attributes':_0x10bb7a['attributes']||{}};}(_0x200254,_0x579cb9,_0x4c0dc9)),'resolvedAt':_0x5bcea6,'resolvedBy':_0x2f20ae,'context':_0x42c622,'attributes':_0x2e798b})['catch'](ct);return{'threadId':_0x3809e7['commentThreadId'],'comments':_0x3809e7['comments']};},'getCommentThread':async({channelId:_0x2330ff,threadId:_0x552900})=>{const _0x552063=await this['_getService'](_0x2330ff)['getCommentThread'](_0x552900)['catch'](rt)['catch'](ct);return _0x552063?_0x552063['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x552063]),{'threadId':_0x552063['commentThreadId'],'comments':_0x552063['comments']['map'](at),'context':_0x552063['context'],'resolvedAt':_0x552063['resolvedAt'],'resolvedBy':_0x552063['resolvedBy'],'attributes':_0x552063['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x57a44d,threadId:_0x2453b5,context:_0x30c2df,unlinkedAt:_0x3c03cd,attributes:_0x58f044})=>this['_getService'](_0x57a44d)['updateCommentThread']({'commentThreadId':_0x2453b5,'context':_0x30c2df,'attributes':_0x58f044,'unlinkedAt':_0x3c03cd})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x449b65,threadId:_0xb711aa})=>{const _0x15fa44=await this['_getService'](_0x449b65)['resolveCommentThread'](_0xb711aa)['catch'](rt)['catch'](ct);return{'threadId':_0x15fa44['commentThreadId'],'resolvedAt':_0x15fa44['resolvedAt'],'resolvedBy':_0x15fa44['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3d9a52,threadId:_0x552287})=>this['_getService'](_0x3d9a52)['reopenCommentThread'](_0x552287)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3566a0,threadId:_0x2e6237})=>this['_getService'](_0x3566a0)['removeCommentThread'](_0x2e6237)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x1311a0,threadId:_0xb65bfa,commentId:_0x88d53b,content:_0x6639,attributes:_0xd851d0})=>this['_getService'](_0x1311a0)['addComment'](_0xb65bfa,_0x88d53b,_0x6639,_0xd851d0)['catch'](ct),'updateComment':({channelId:_0x46030f,threadId:_0x301b75,commentId:_0x3781bd,content:_0x3359c4,attributes:_0x40cb03})=>this['_getService'](_0x46030f)['updateComment'](_0x301b75,_0x3781bd,_0x3359c4,_0x40cb03)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x5d5f33,threadId:_0x59c41c,commentId:_0x17c92f})=>this['_getService'](_0x5d5f33)['removeComment'](_0x59c41c,_0x17c92f)['catch'](rt)['catch'](ct)},_0x433205 instanceof _0x54a80b){const _0x3eca1c=_0x433205['config']['get']('collaboration.channelId'),_0x346dd4=_0x433205['plugins']['get'](Y);await this['_setUpService'](_0x3eca1c);const _0xe6d275=await this['_services']['get'](_0x3eca1c)['getConnectedSessions']();this['listenTo'](_0x346dd4,'sessionAdd:'+_0x3eca1c,(_0x41e55d,{session:_0x31081d})=>{_0x31081d['id']===_0x346dd4['mySessionId']&&(_0x41e55d['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x31081d['permissions'],_0x3eca1c));}),_0x346dd4['register'](_0x3eca1c,_0xe6d275);}}async['_setUpService'](_0x5b3cd8){if(this['_services']['has'](_0x5b3cd8))throw new _0x598d78('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5b3cd8});const _0x29d238=this['context']['plugins']['get'](_0x8c7984),_0x30af84=new CloudServicesCommentsAdapter['CommentsService'](_0x5b3cd8);this['_services']['set'](_0x5b3cd8,_0x30af84),this['listenTo'](_0x30af84,'commentThreadAdded',(_0x45ca8e,_0x805fb3)=>{const {commentThreadId:_0x5b2e56,documentId:_0x56d992,context:_0x1e360a,attributes:_0x4baf54,resolvedAt:_0x3372cf,resolvedBy:_0x2e68a3,comments:_0x5e8eed}=_0x805fb3;_0x29d238['getCommentThread'](_0x5b2e56)||_0x29d238['addCommentThread']({'threadId':_0x5b2e56,'channelId':_0x56d992,'comments':_0x5e8eed?_0x5e8eed['map'](at):[],'context':_0x1e360a,'attributes':_0x4baf54,'resolvedAt':_0x3372cf,'resolvedBy':_0x2e68a3,'isFromAdapter':!0x0});}),this['listenTo'](_0x30af84,'commentThreadUpdated',(_0x4100c5,{commentThreadId:_0x15f7ca,documentId:_0x40d8cf,context:_0x535dc9,unlinkedAt:_0x4f1e28,attributes:_0x5a277f})=>{_0x29d238['getCommentThread'](_0x15f7ca)&&_0x29d238['updateCommentThread']({'threadId':_0x15f7ca,'channelId':_0x40d8cf,'context':_0x535dc9,'unlinkedAt':_0x4f1e28,'attributes':_0x5a277f,'isFromAdapter':!0x0});}),this['listenTo'](_0x30af84,'commentThreadResolved',(_0x121e26,{commentThreadId:_0x57eecf,resolvedBy:_0x3306b2,resolvedAt:_0x1dce8f})=>{const _0xf35740=_0x29d238['getCommentThread'](_0x57eecf);_0xf35740&&_0xf35740['resolve']({'resolvedBy':_0x3306b2,'resolvedAt':_0x1dce8f,'isFromAdapter':!0x0});}),this['listenTo'](_0x30af84,'commentThreadReopened',(_0x4f836d,{commentThreadId:_0x5881dd})=>{const _0x55a466=_0x29d238['getCommentThread'](_0x5881dd);_0x55a466&&_0x55a466['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30af84,'commentThreadRemoved',(_0x3c1fc4,{commentThreadId:_0x5d16a4})=>{const _0x2d4fe3=_0x29d238['getCommentThread'](_0x5d16a4);_0x2d4fe3&&_0x2d4fe3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30af84,'commentAdded',(_0x1e6535,_0x97ad75)=>{const _0x3152a4=_0x97ad75['commentThreadId'],_0x4a8736=_0x29d238['getCommentThread'](_0x3152a4);_0x4a8736&&_0x4a8736['addComment']({...at(_0x97ad75),'isFromAdapter':!0x0});}),this['listenTo'](_0x30af84,'commentUpdated',(_0x233db2,{commentThreadId:_0x26d7ed,commentId:_0x1189cd,content:_0x701cd0,attributes:_0x32ce62})=>{const _0x534106=_0x29d238['getCommentThread'](_0x26d7ed);if(_0x534106){const _0x213d96=_0x534106['getComment'](_0x1189cd);_0x213d96&&_0x213d96['update']({'content':_0x701cd0,'attributes':_0x32ce62,'isFromAdapter':!0x0});}}),this['listenTo'](_0x30af84,'commentRemoved',(_0x5a2a62,{commentThreadId:_0x15a016,commentId:_0x3e1e4b})=>{const _0x72925e=_0x29d238['getCommentThread'](_0x15a016);if(_0x72925e){const _0x41c877=_0x72925e['getComment'](_0x3e1e4b);_0x41c877&&_0x41c877['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x30af84,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x5b3cd8),this['stopListening'](_0x30af84));}),await this['_connectService'](_0x5b3cd8);}['destroy'](){if(this['context']instanceof _0x54a80b){const _0xfaa031=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0xfaa031)&&this['_terminateService'](_0xfaa031);}}['_terminateService'](_0xf372d1){if(!this['_services']['has'](_0xf372d1))throw new _0x598d78('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xf372d1});this['_getService'](_0xf372d1)['disconnect'](),this['_services']['delete'](_0xf372d1);}async['reconnect'](){for(const _0x3c2ceb of this['_services']['keys']())await this['_connectService'](_0x3c2ceb);if(this['context']instanceof _0x54a80b){const _0xbcf40b=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0xbcf40b)){const _0x544dc5=this['context']['plugins']['get'](Y);_0x544dc5['unregister'](_0xbcf40b);const _0x297121=await this['_services']['get'](_0xbcf40b)['getConnectedSessions']();_0x544dc5['register'](_0xbcf40b,_0x297121);}}}async['_connectService'](_0x16cf2a){const {connection:_0x2afe8f}=this['context']['plugins']['get'](z),_0x4475c0=this['context']['plugins']['get'](_0x8c7984),_0x44a332=await this['_services']['get'](_0x16cf2a)['connect'](_0x2afe8f);await this['_fetchMissingUsersForThreads'](_0x44a332);const _0x49a379=new Set(Array['from'](_0x4475c0['getCommentThreads']({'channelId':_0x16cf2a}),_0x5d8687=>_0x5d8687['id']));for(const _0x3534f3 of _0x44a332)_0x3534f3['deletedAt']||_0x49a379['delete'](_0x3534f3['commentThreadId']);for(const _0x89f1d5 of _0x49a379)_0x4475c0['getCommentThread'](_0x89f1d5)['remove']({'isFromAdapter':!0x0});for(const _0x43ea15 of _0x44a332){let _0x31a96f=_0x4475c0['getCommentThread'](_0x43ea15['commentThreadId']);const {commentThreadId:_0x2f3721,context:_0x311f4f,attributes:_0x531b1e,resolvedBy:_0x327a64,resolvedAt:_0x3f7900,unlinkedAt:_0xd68c5a,deletedAt:_0x117a82}=_0x43ea15;if(_0x117a82)continue;_0x31a96f||(_0x31a96f=_0x4475c0['addCommentThread']({'channelId':_0x16cf2a,'threadId':_0x2f3721,'context':_0x311f4f,'attributes':_0x531b1e||{},'resolvedBy':_0x327a64,'resolvedAt':_0x3f7900,'unlinkedAt':_0xd68c5a,'isFromAdapter':!0x0}));const _0x4fa6a7=new Set(Array['from'](_0x31a96f['comments'],_0x28af0d=>_0x28af0d['id']));for(const _0x316866 of _0x43ea15['comments'])_0x4fa6a7['delete'](_0x316866['commentId']);for(const _0x457d7b of _0x4fa6a7)_0x31a96f['getComment'](_0x457d7b)['remove']({'isFromAdapter':!0x0});for(const _0x3a973d of _0x43ea15['comments']){const _0x474349=_0x31a96f['getComment'](_0x3a973d['commentId']);_0x474349?_0x474349['content']!==_0x3a973d['content']&&_0x474349['update']({'content':_0x3a973d['content'],'isFromAdapter':!0x0}):_0x31a96f['addComment'](Object['assign'](at(_0x3a973d),{'isFromAdapter':!0x0}));}}}['_getService'](_0x29e69f){if(!this['_services']['has'](_0x29e69f))throw new _0x598d78('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x29e69f});return this['_services']['get'](_0x29e69f);}async['_fetchMissingUsersForThreads'](_0x3ebc18){const _0x4aa2fd=this['context']['plugins']['get'](_0x536115),{connection:_0x296154}=this['context']['plugins']['get'](z),_0x476dc0=new Set();for(const {resolvedBy:_0x18b8a9,comments:_0x19c92e}of _0x3ebc18){_0x18b8a9&&!_0x4aa2fd['getUser'](_0x18b8a9)&&_0x476dc0['add'](_0x18b8a9);for(const {userId:_0x4e1971}of _0x19c92e)_0x4aa2fd['getUser'](_0x4e1971)||_0x476dc0['add'](_0x4e1971);}if(0x0===_0x476dc0['size'])return;const _0x52b858=await _0x31677b['getMany'](_0x296154,Array['from'](_0x476dc0));for(const _0x2f5ffc of _0x52b858)_0x4aa2fd['getUser'](_0x2f5ffc['id'])||_0x4aa2fd['addUser'](_0x2f5ffc);}};async function rt(_0x529b7c){if('404'!==_0x529b7c['code'])throw _0x529b7c;}function ct(_0x423d80){if((_0x5147cc=_0x423d80)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x5147cc['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5147cc['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x5147cc;throw _0x423d80;}function at(_0x322d67){return{'threadId':_0x322d67['commentThreadId'],'commentId':_0x322d67['commentId'],'content':_0x322d67['content'],'createdAt':_0x322d67['createdAt'],'authorId':_0x322d67['userId'],'attributes':_0x322d67['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x12753f{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x57e547)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x381380,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x278287){super(_0x278287);const _0x5e0ece=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x5e0ece);}['init'](){const _0x19e98e=this['editor']['plugins']['get'](z),_0x14ba67=this['editor']['plugins']['get'](_0x381380);return _0x14ba67['adapter']={'getSuggestion':async _0x55cb96=>{await this['_waitForServiceReady']();const _0x28a213=await this['_trackChangesService']['get'](_0x55cb96)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x28a213]),_0x28a213;},'addSuggestion':async({id:_0x1d5b98,type:_0x5000dd,data:_0xbf8a86,originalSuggestionId:_0x7c3651,attributes:_0x4a5fa8})=>{await this['_waitForServiceReady']();const _0x5a6428={'id':_0x1d5b98,'type':_0x5000dd,'data':_0xbf8a86,'originalSuggestionId':_0x7c3651,'attributes':_0x4a5fa8},_0x5d00d0=await this['_trackChangesService']['add'](_0x1d5b98,_0x5000dd,_0xbf8a86,_0x7c3651,_0x4a5fa8)['catch'](_0x28a520=>{if(dt(_0x28a520))return new Promise(_0x2f4af0=>{this['_bufferedRequests']['set'](_0x1d5b98,{'resolve':_0x2f4af0,'suggestionData':_0x5a6428});});throw _0x28a520;});return this['_bufferedRequests']['delete'](_0x1d5b98),_0x5d00d0;},'updateSuggestion':async(_0x3978c9,_0x1fd768)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1fd768['state'])return this['_trackChangesService']['update'](_0x3978c9,_0x1fd768)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3b94fc,_0x431a36)=>{_0x14ba67['hasSuggestion'](_0x431a36['id'])&&(_0x14ba67['getSuggestion'](_0x431a36['id'])['attributes']=_0x431a36['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x19e98e['connection']?.['state']&&(_0x19e98e['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x19e98e['connection'])['then'](_0x3b2fc0=>(_0x19e98e['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3b2fc0)['then'](()=>{for(const _0x3eb1fb of _0x3b2fc0){_0x14ba67['addSuggestionData'](_0x3eb1fb)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5eef86=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3fff36}=this['editor']['plugins']['get'](z),_0x42c8a7=await this['_trackChangesService']['connect'](_0x3fff36);await this['_fetchMissingUsersForThreads'](_0x42c8a7);for(const {suggestionData:_0x244f22,resolve:_0x238a36}of this['_bufferedRequests']['values']()){let _0x2a7c7f=_0x42c8a7['find'](_0x2af747=>_0x2af747['id']===_0x244f22['id']);_0x2a7c7f||(_0x2a7c7f=await this['_trackChangesService']['add'](_0x244f22['id'],_0x244f22['type'],_0x244f22['data'],_0x244f22['originalSuggestionId'])),_0x238a36(_0x2a7c7f);}for(const _0x477e1a of _0x42c8a7)_0x5eef86['hasSuggestion'](_0x477e1a['id'])||_0x5eef86['addSuggestionData'](_0x477e1a);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x198eff=>{this['listenTo'](this['_trackChangesService'],'connected',_0xa46e3=>{_0xa46e3['off'](),_0x198eff();});});}async['_fetchMissingUsersForThreads'](_0x41a835){const _0x5b5fb9=this['editor']['plugins']['get'](_0x536115),{connection:_0x269e04}=this['editor']['plugins']['get'](z),_0x102fb1=new Set();for(const {authorId:_0x487f6e}of _0x41a835)_0x5b5fb9['getUser'](_0x487f6e)||_0x102fb1['add'](_0x487f6e);if(0x0===_0x102fb1['size'])return;const _0x198f8f=await _0x31677b['getMany'](_0x269e04,Array['from'](_0x102fb1));for(const _0x2ff7f2 of _0x198f8f)_0x5b5fb9['getUser'](_0x2ff7f2['id'])||_0x5b5fb9['addUser'](_0x2ff7f2);}};function lt(_0x59882b){if(dt(_0x59882b))return new Promise(()=>{});throw _0x59882b;}function dt(_0x3d0272){return _0x3d0272['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3d0272['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x12753f{static get['requires'](){return[_0x52df1c,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2e68dc=this['editor']['plugins']['get'](z),_0x4e4ce7=this['editor']['plugins']['get'](_0x38b0cc),_0x11d5fb=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2e68dc,'change:state',(_0x20e89e,_0x46e698,_0x9bc91b)=>{_0x4e4ce7['isThreadsLoadingPaused']='connected'!==_0x9bc91b;});}),this['listenTo'](_0x2e68dc,'change:state',(_0x21b7d4,_0x37827a,_0x771d38)=>{this['editor']['plugins']['get'](_0x8c7984)['switchReadOnly']('connected'!==_0x771d38);}),_0x11d5fb['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x5008f0=this['editor']['plugins']['get'](ot),_0x336a43=this['editor']['config']['get']('collaboration.channelId');_0x5008f0['_services']['has'](_0x336a43)&&_0x5008f0['_terminateService'](_0x336a43),super['destroy']();}},ft=class extends _0x12753f{static get['requires'](){return[ut,ht,_0x17f75a];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x12753f{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x44490b)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x49c6d9,Y,_0x536115];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x44bcdc){super(_0x44bcdc);const _0x1b31c2=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x1b31c2);}async['init'](){const _0x2acc5b=this['editor']['plugins']['get'](tt),_0x683101=_0x2acc5b['serverHistory'],_0x3198b9=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x683101,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2acc5b['sessionId']});const _0x337231=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x9010bd,_0x12a463=await _0x445268['isBundleUploaded'](_0x3198b9['connection'],_0x337231);this['editor']['plugins']['get'](_0x49c6d9)['adapter']={'getRevision':async({revisionId:_0x2b7a7f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2b7a7f)),'updateRevisions':async _0x4b7090=>{await this['_waitForServiceReady']();const _0x506093=this['_revisionTracker']['currentRevision'];if(_0x12a463&&0x1===_0x4b7090['length']&&_0x4b7090[0x0]['id']===_0x506093['id'])return _0x4b7090;for(const _0x3bf73b of _0x4b7090)_0x3bf73b['id']===_0x506093['id']&&(_0x3bf73b['isEmptyCurrent']=_0x3bf73b['fromVersion']===_0x3bf73b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4b7090,this['_lastRequestId'])['then'](_0x39151b=>(this['_lastRequestId']=_0x39151b,_0x4b7090))['catch'](_0x237f90=>{if(pt(_0x237f90)||'400'===_0x237f90['code']&&void 0x0!==_0x237f90['data']['wrongRequestId']){for(const _0x546cb3 of _0x4b7090)this['_revisionTracker']['repository']['getRevision'](_0x546cb3['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x546cb3['id'],_0x546cb3,!0x1);if(pt(_0x237f90)&&'destroyed'!==this['editor']['state'])throw _0x237f90;return _0x4b7090;}throw _0x237f90;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xa08de1,{revisionsData:_0x1cc931,requestId:_0x34e2f8})=>{Math['max'](..._0x1cc931['map'](_0x826531=>_0x826531['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1cc931,_0x34e2f8);}):this['_handleRevisionsUpdate'](_0x1cc931,_0x34e2f8);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3198b9['connection']?.['state']&&(_0x3198b9['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x279579,requestId:_0x2d1405}=await this['_revisionHistoryService']['connect'](_0x3198b9['connection']);_0x3198b9['addToReconnectionStack'](this),this['_lastRequestId']=_0x2d1405,await this['_fetchMissingUsers'](_0x279579);for(const _0x1d47ff of _0x279579)this['_revisionTracker']['addRevisionData'](_0x1d47ff);this['listenTo'](_0x2acc5b,'change:_isConnected',(_0x31d950,_0x3ca159,_0x169599)=>{_0x169599&&(this['_oldOffset']=_0x2acc5b['_offset'],_0x31d950['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x45c83c=this['editor']['plugins']['get'](z),_0x4ebbcf=this['editor']['plugins']['get'](tt),_0x2cd273=async()=>{const _0x4c750a=this['_revisionTracker']['currentRevision'],_0x592c9a=_0x4c750a['id'],_0x54041e=_0x592c9a!==_0x4ebbcf['sessionId'];if(_0x54041e){const _0xc8ccea=_0x4ebbcf['_offset']-this['_oldOffset'],_0x3ce183=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x4c750a['toVersion']+_0xc8ccea!==_0x3ce183){const _0x540cf1=_0x4c750a['fromVersion']+_0xc8ccea,_0x164a5a=this['editor']['plugins']['get'](_0x536115),_0x3a35b2=this['_revisionTracker']['buildRevisionData']({'revision':_0x4c750a,'from':_0x540cf1,'to':_0x3ce183});_0x3a35b2['id']=_0x4c750a['id'];const _0x5ae921=_0x3a35b2['authorsIds']['map'](_0x41a311=>_0x164a5a['getUser'](_0x41a311));_0x4c750a['_update']({..._0x3a35b2,'authors':_0x5ae921},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4c750a['id'],_0x3a35b2,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3ce183,_0x4c750a['toVersion']!==_0x4c750a['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x592c9a)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x592c9a),this['_revisionTracker']['_createCurrentRevision'](_0x3ce183);}const {revisions:_0xea30cf,requestId:_0x53fed1}=await this['_revisionHistoryService']['reconnect'](_0x45c83c['connection'],this['_lastRequestId']);_0x54041e&&_0xea30cf['length']>0x0?_0x4ebbcf['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xea30cf),this['_handleRevisionsUpdate'](_0xea30cf,_0x53fed1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4ebbcf['_isConnected']?_0x2cd273():new Promise((_0x15bf72,_0x50e26c)=>{_0x4ebbcf['once']('change:_isConnected',()=>{_0x2cd273()['then'](_0x15bf72)['catch'](_0x50e26c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x1d50c0=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x11b105=>{_0x11b105['off'](),_0x1d50c0();});});}['_getLatestVersionFromServerOperations'](){const _0x1f2325=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x423e3c of _0x1f2325)if('marker'!==_0x423e3c['type']||_0x423e3c['affectsData'])return _0x423e3c['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5a8966=this['editor']['plugins']['get'](tt);return new Promise(_0x550664=>{_0x5a8966['_isPendingUpdate']?_0x5a8966['once']('change:_isPendingUpdate',()=>{_0x550664(this['_getLatestVersionFromServerOperations']());}):_0x550664(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x2262e6,_0x1bbe1b){const _0x5d0e38=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1bbe1b;for(const _0x1fbb77 of _0x2262e6){const _0x53b102=_0x5d0e38['getRevision'](_0x1fbb77['id']);if(_0x53b102){if((_0x1fbb77['fromVersion']||_0x1fbb77['toVersion'])&&(_0x1fbb77['diffData']=null),_0x53b102===this['_revisionTracker']['currentRevision']){const _0x51faae=Math['max'](_0x53b102['toVersion'],_0x1fbb77['toVersion']),_0x169520=Math['max'](_0x53b102['fromVersion'],_0x1fbb77['fromVersion']);let _0x46e2a0;_0x53b102['toVersion']===_0x1fbb77['toVersion']&&_0x53b102['fromVersion']===_0x1fbb77['fromVersion']?(_0x46e2a0=!0x0,this['_preventResendingRevisionData'](_0x1fbb77)):_0x1fbb77['toVersion']===_0x51faae&&_0x1fbb77['fromVersion']===_0x169520?_0x46e2a0=!0x1:(_0x53b102['toVersion']===_0x51faae&&_0x53b102['fromVersion']===_0x169520||this['_fixRevision']({'revision':_0x53b102,'from':_0x169520,'to':_0x51faae}),_0x46e2a0=!0x0),_0x46e2a0&&(delete _0x1fbb77['fromVersion'],delete _0x1fbb77['toVersion'],delete _0x1fbb77['diffData'],delete _0x1fbb77['createdAt'],delete _0x1fbb77['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1fbb77),this['_preventResendingRevisionData'](_0x1fbb77);}else this['_revisionTracker']['addRevisionData'](_0x1fbb77);}const _0x347b85=_0x5d0e38['getRevisions']();_0x347b85['reverse']();for(let _0x1dc016=0x0;_0x1dc016<_0x347b85['length']-0x1;_0x1dc016++){const _0x3878fc=_0x347b85[_0x1dc016],_0x4e7482=_0x347b85[_0x1dc016+0x1];if(_0x3878fc['fromVersion']<_0x4e7482['toVersion']){const _0x2887fc=_0x4e7482['toVersion'],_0x33bfb8=Math['max'](_0x2887fc,_0x3878fc['toVersion']);this['_fixRevision']({'revision':_0x3878fc,'from':_0x2887fc,'to':_0x33bfb8});}}}['_fixRevision']({revision:_0x10cde5,from:_0x4c852f,to:_0x2547db}={}){const _0xfcf007=this['editor']['plugins']['get'](_0x536115),_0x1afd04=this['_revisionTracker']['buildRevisionData']({'revision':_0x10cde5,'from':_0x4c852f,'to':_0x2547db});_0x1afd04['authors']=_0x1afd04['authorsIds']['map'](_0x32a483=>_0xfcf007['getUser'](_0x32a483)),_0x10cde5['_update'](_0x1afd04);}['_preventResendingRevisionData'](_0x304ec3){const _0x3805b4={};_0x3805b4['id']=_0x304ec3['id'];for(const _0x4abc30 of Object['keys'](_0x304ec3))'id'!==_0x4abc30&&(_0x3805b4[_0x4abc30]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3805b4['id'],_0x3805b4,!0x0);}async['_fetchMissingUsers'](_0x120de2){const _0x2719ed=this['editor']['plugins']['get'](_0x536115),{connection:_0x2469af}=this['editor']['plugins']['get'](z),_0xa60039=new Set();for(const _0x20af19 of _0x120de2){for(const _0x4c4e93 of _0x20af19['authorsIds'])_0x42bbfc(_0x4c4e93);_0x20af19['creatorId']&&_0x42bbfc(_0x20af19['creatorId']);}if(0x0===_0xa60039['size'])return;const _0x3739b5=await _0x31677b['getMany'](_0x2469af,Array['from'](_0xa60039));for(const _0x3833ff of _0x3739b5)_0x2719ed['getUser'](_0x3833ff['id'])||_0x2719ed['addUser'](_0x3833ff);function _0x42bbfc(_0x3768db){_0x2719ed['getUser'](_0x3768db)||_0xa60039['add'](_0x3768db);}}};function pt(_0x5cdf5e){return _0x5cdf5e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5cdf5e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5cdf5e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x12753f{static get['requires'](){return[_0x49c6d9,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x1a45ba{['_collapseAt'];constructor(_0xb26b14,_0x696a90=0x6){super(_0xb26b14);const _0x22109f=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x696a90,this['bind']('isHidden')['to'](this,'usersCount',_0x38a47f=>_0x38a47f<_0x696a90),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x22109f['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':_0x22109f['to']('usersCount',_0x67f396=>'+'+(_0x67f396-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x1a45ba{['items'];['keystrokes'];constructor(_0x13adfc){super(_0x13adfc);const _0x31c676=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1dd383(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x31c676['if']('hasPopup'),'aria-expanded':_0x31c676['to']('isExpanded',_0x15d2de=>this['hasPopup']&&String(_0x15d2de)),'aria-label':_0x31c676['to']('hasPopup',_0x45e0fd=>X(_0x13adfc,_0x45e0fd?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x31c676['to']('hasPopup',_0x295bd3=>!!_0x295bd3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x31c676['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x31c676['to'](_0x3e7bda=>{const _0x458ba6=_0x3e7bda,_0x95ea4c=document['querySelector']('.ck-presence-list__dropdown-list'),_0x256acf=document['querySelector']('.ck-balloon-panel_with-arrow');_0x95ea4c?.['contains'](_0x458ba6['relatedTarget'])||_0x256acf?.['contains'](_0x458ba6['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2fd6fd,_0x373b46,_0x42aa1d)=>{this['element']&&(_0x42aa1d?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x1a45ba{['counterView'];['inlineListView'];constructor(_0x4ffdcf,_0x269ec6=0x6){super(_0x4ffdcf);const _0x4d13b1=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x269ec6),this['inlineListView']=new vt(_0x4ffdcf),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xfd4be9 of this['inlineListView']['items'])_0xfd4be9['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',_0x4d13b1['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x1a45ba{['listWrapperView'];constructor(_0x29096c,_0x329893){super(_0x29096c);const _0xa3e412=this['bindTemplate'];this['listWrapperView']=new bt(_0x29096c,_0x329893),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x29096c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xa3e412['to'](_0x59dba5=>{const _0x12621b=_0x59dba5,_0x15912d=document['querySelector']('.ck-presence-list__list'),_0x38e89e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x15912d?.['contains'](_0x12621b['relatedTarget'])||_0x38e89e?.['contains'](_0x12621b['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x4912d4{constructor(_0x5c946b,_0x59b256){super(_0x5c946b);const _0x55179d=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x59b256?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x55179d['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x55179d['to']('role'),'aria-label':_0x55179d['to']('ariaLabel'),'aria-labelledby':_0x55179d['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x50de14['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xf7988b=this['element'];_0xf7988b&&(this['_isScrollable']=Math['max'](_0xf7988b['scrollHeight'],_0xf7988b['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x1cd3cf{['userView'];constructor(_0x45b26b,_0x358e97,_0x1b0d16){super(_0x45b26b);const _0x4e97c3=this['bindTemplate'];this['userView']=new _0x3ea6fd(_0x45b26b,_0x358e97);const _0x596e4e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x358e97['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x358e97['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x358e97['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x358e97['color']['getColorVariable'](),'--ck-user-color-alpha':_0x358e97['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x1b0d16&&(_0x596e4e['tag']='button',_0x596e4e['on']={'click':_0x4e97c3['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x596e4e);}['focus'](){this['element']['focus']();}},It=class extends _0x1a45ba{['userView'];['markerView'];constructor(_0x4c2227,_0x3760a6,_0x13c41d){super(_0x4c2227);const _0x2c65f3=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3ea6fd(_0x4c2227,_0x3760a6),this['markerView']=new St(_0x4c2227,_0x3760a6);const _0x2451fc=new _0x361c56(_0x4c2227);_0x2451fc['template']['tag']='span',_0x2451fc['text']=_0x3760a6['name'];const _0x1e59dd={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2c65f3['to']('isFocusable',_0x4ffea7=>!!_0x4ffea7&&0x0),'aria-labelledby':_0x2451fc['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2c65f3['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2c65f3['to']('hasTooltip',_0x356af3=>!_0x356af3),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2451fc]};_0x13c41d&&(_0x1e59dd['tag']='button',_0x1e59dd['on']={'click':_0x2c65f3['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1e59dd);}},St=class extends _0x1a45ba{constructor(_0x52a3f7,_0x26ee5c){super(_0x52a3f7),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x26ee5c['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x26ee5c['color']['getColorVariable'](),'--ck-user-color-alpha':_0x26ee5c['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x205d54{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3b69ed){super(_0x3b69ed),this['context']['config']['define']('presenceList',Tt);const _0xe05405=_0x3b69ed['config']['get']('presenceList.collapseAt');if('number'!=typeof _0xe05405)throw new _0x598d78('presencelist-collapseat-invalid-format',this);if(_0xe05405<0x1)throw new _0x598d78('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x22f614(),this['balloonPanelView']=new _0x378580(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1489aa of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1489aa);this['listenTo'](this['_allConnectedUsers'],'add',(_0x545095,_0xf1883e)=>{this['_handleUserAdd'](_0xf1883e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1a630d,_0x19b708)=>{this['_handleUserRemove'](_0x19b708);});}['_createView'](){const _0x197835=this['context'],_0xe11214=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x20edb9=this['balloonPanelView'];if(!_0x3201ca(_0x197835['config']['get']('presenceList.container')))throw new _0x598d78('presencelist-missing-container',this);return _0xe11214['counterView']['bind']('usersCount')['to'](this),_0xe11214['bind']('isCollapsed')['to'](this,'usersCount',_0x5ed8aa=>{const {collapseAt:_0x2fedfc}=_0x197835['config']['get']('presenceList'),_0x2b0850=_0x5ed8aa>=_0x2fedfc;if(_0x2b0850&&!_0xe11214['inlineListView']['items']['find'](_0x12cffc=>_0x12cffc instanceof wt)){const _0x4d304c=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4d304c&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xe11214['inlineListView']['items']['add'](_0xe11214['counterView']);}return _0x2b0850||this['hideDropdown'](),_0x2b0850;}),_0xe11214['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x392b31=>{const _0x443c02=_0x197835['config']['get']('presenceList'),_0x2b96cb=new It(_0x197835['locale'],_0x392b31,!!_0x443c02['onClick']);return _0x2b96cb['bind']('hasTooltip')['to'](_0xe11214,'isCollapsed',_0x2fe0c7=>!_0x2fe0c7),_0x2b96cb['bind']('isFocusable')['to'](_0xe11214,'isCollapsed',_0xeb9e12=>!_0xeb9e12),_0x443c02['onClick']&&this['listenTo'](_0x2b96cb,'execute',()=>{this['view']['isCollapsed']||_0x443c02['onClick'](_0x392b31,_0x2b96cb['element']);}),_0x2b96cb;}),this['listenTo'](_0xe11214['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xe11214['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xe11214['inlineListView']['keystrokes']['set']('Enter',(_0x15cc93,_0x2661ed)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2661ed());}),_0xe11214['render'](),_0x20edb9['render'](),_0x370b5f({'emitter':_0xe11214,'activator':()=>_0x20edb9['isVisible'],'contextElements':[_0x20edb9['element'],_0xe11214['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x197835['config']['get']('presenceList.container')['appendChild'](_0xe11214['element']),this['_bodyCollection']=new _0x276a01(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xe11214;}['_handleUserAdd'](_0xe7fc1c){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xe7fc1c['isMe'])return;const _0x2e8da3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2e8da3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x14350f=_0xe7fc1c['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xe7fc1c,_0x14350f);}['_handleUserRemove'](_0x396364){this['usersCount']--;const {collapseAt:_0x5f08a9}=this['context']['config']['get']('presenceList'),_0x133e42=this['usersCount']>=_0x5f08a9;if(this['currentDisplayedUsers']['get'](_0x396364['id']))this['currentDisplayedUsers']['remove'](_0x396364['id']);else{if(_0x133e42&&this['currentDisplayedUsers']['length']+0x1===_0x5f08a9-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x133e42?0x1:0x0)<this['usersCount']){for(const _0x1f03b0 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1f03b0['id'])&&(this['currentDisplayedUsers']['add'](_0x1f03b0,Math['min'](this['currentDisplayedUsers']['length']-(_0x133e42?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x133e42?0x1:0x0)===_0x5f08a9-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x374684=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x374684['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x34f33b}=this['presenceDropdownView'];_0x34f33b['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3fefc4=>{if(!_0x374684['displayMe']&&_0x3fefc4['isMe'])return null;const _0x20aff4=new kt(this['context']['locale'],_0x3fefc4,!!_0x374684['onClick']);return _0x374684['onClick']&&this['listenTo'](_0x20aff4,'execute',()=>{_0x374684['onClick'](_0x3fefc4,_0x20aff4['element']);}),_0x20aff4;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x34f33b['focus'](),_0x34f33b['checkIfScrollable']();const _0x2b5a8d=(_0xdfbc06,_0x3b8a7d)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3b8a7d();};_0x34f33b['keystrokes']['set']('Esc',_0x2b5a8d),_0x34f33b['keystrokes']['set']('Shift+Tab',_0x2b5a8d),_0x34f33b['keystrokes']['set']('Tab',(_0x64d693,_0x1443f2)=>{!function(_0x3642b5){const _0x4451bc=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x14b43e=>_0x14b43e+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x16e8e8=[...document['body']['querySelectorAll'](_0x4451bc)]['filter'](_0x250716=>_0x250716===document['activeElement']||_0x250716['offsetWidth']+_0x250716['offsetHeight']>0x0)['sort']((_0x5c6c1a,_0x32a05e)=>(_0x5c6c1a['tabIndex']||0x0)-(_0x32a05e['tabIndex']||0x0)),_0x120bca=_0x16e8e8[(_0x16e8e8['indexOf'](_0x3642b5)+0x1)%_0x16e8e8['length']];_0x120bca&&_0x120bca['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1443f2();}),_0x34f33b['focusTracker']['add'](this['view']['element']),_0x34f33b['focusTracker']['on']('change:isFocused',(_0x515839,_0x484f12,_0x4dc4e2)=>{_0x4dc4e2||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x205d54{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};